The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Представлен GCC Explorer, интерактивный компилятор на базе GCC

24.05.2012 20:16

Мэт Годбольт (Matt Godbolt) представил первую версию инструмента GCC Explorer, предназначенного для наглядного просмотра результата компиляции участков исходного кода на языках C/C++ в инструкции на языке ассемблера. GCC Explorer выполнен в виде веб-приложения, позволяющего быстро просмотреть результат компиляции произвольного участка кода, оценить качество его оптимизации, а также наглядно изучить техники оптимизации, применяемые GCC.

В частности, используя GCC Exlorer разработчики могут более детально познакомиться с особенностями генерации машинного кода для различных новых возможностей стандарта C++11 и понять насколько оптимальны применяемые в проекте конструкции. Приложение полностью основано на технологиях AJAX, поэтому любое изменение исходного кода, версии компилятора, передаваемых ему флагов приводит к немедленному обновления окна с результатом компиляции. Благодаря этому инструмент удобно использовать не только для изучения, но и для оптимизации и устранения узких мест алгоритмов в реальном времени.

Оценить работу инструмента можно на странице gcc.godbolt.org, поддерживается генерация кода с использованием g++ 4.4, 4.5 и 4.6 Исходные тексты опубликованы на хостинге GitHub. Для работы требуется фреймворк node.js.



  1. Главная ссылка к новости (http://xania.org/201205/gcc-ex...)
Автор новости: Evgeny Zobnin
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/33931-gcc
Ключевые слова: gcc, c++, nodejs
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (74) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, dq0s4y71 (??), 21:07, 24/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да ну... Я думал, он что-нибудь анализирует, или там хотя бы дерево разбора показывает, а он мне просто вывод от gcc -S вываливает :( Детская игрушка.
     
     
  • 2.6, klalafuda (?), 21:34, 24/05/2012 [^] [^^] [^^^] [ответить]  
  • –8 +/

    Пардон, а нафига мне, допустим, как конечному пользователю gcc, промежуточное дерево разбора? Что оно мне даст с практической точки зрения компиляции в конечный ассемблерный код моего родимого C кода? Да пусть он представляет промежуточные данные внутри себя любым пусть самым невообразимым [красивым|ужасным] способом - меня то, как конечного пользователя, интересует лишь конечный результат.
     
     
  • 3.8, pavlinux (ok), 21:51, 24/05/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чёй-то у меня даже слов нету... :D

    Пример



    Дано:  

    if ( a < b )
         x++;

    /* либо */

    if ( b > a )
         x++;

    Найти: Оптимальный вариант!



     
     
  • 4.18, an. (?), 22:27, 24/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Он может сильно отличаться в зависимости от платформы, версии gcc, и кода, который стоит до и после (например, какого типа у нас a и b, перегружен ли < и/или >) - что все варианты перепробовать? По-моему, цели могут быть только образовательные или ради любопытства. Для серьезных оптимизаций обычно используют другие средства (профайлер, статические анализаторы и пр).
     
     
  • 5.21, Аноним (-), 22:38, 24/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Есть очень глубокий цикл, в нем пара десятков коротких операций, влияющих на контекст. Как вы их оптимизируете профайлером без просмотра кода? Выдергивать из цикла не получится - изменится контекст, замерить одну итерацию тоже не получится.
     
  • 5.27, pavlinux (ok), 00:35, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Он может сильно отличаться в зависимости от платформы, версии gcc, и кода,
    > который стоит до и после (например, какого типа у нас a
    > и b, перегружен ли < и/или >) - что все варианты
    > перепробовать? По-моему, цели могут быть только образовательные или ради любопытства.
    > Для серьезных оптимизаций обычно используют другие средства (профайлер, статические анализаторы
    > и пр).

    if ( a > b )

       cmovge %edx,%eax

    if ( b < a )

        cmovl %edx,%eax

    ---
    Условия перехода

    CMOVGE: ˜(SF ˆ OF) & ˜ZF == NOT ( SF XOR OF ) AND ( NOT ZF)
    CMOVL: SF ˆ OF == SF XOR OF


     
     
  • 6.28, Карбофос (ok), 00:37, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    gcc такое не оптимизирует?! o_O
     
     
  • 7.29, pavlinux (ok), 00:56, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Старый боян  https://www.midnight-commander.org/ticket/1948
    :)
     
     
  • 8.38, solardiz (ok), 03:59, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я даже пошел по ссылке и глянул Предположение, что дело в количестве операций н... текст свёрнут, показать
     
     
  • 9.46, pavlinux (ok), 13:55, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Скажи, что за чудная программа для определения тактов команд ... текст свёрнут, показать
     
     
  • 10.48, solardiz (ok), 16:57, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Одна из самоделок Проверяемая инструкция или короткая последовательность инстру... текст свёрнут, показать
     
     
  • 11.49, Аноним (-), 19:49, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Дык это в реальной программе не будет непрерывного потока из 1 этой команды ... текст свёрнут, показать
     
     
  • 12.58, pavlinux (ok), 14:32, 26/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Раньше Intel печатала таблицы расстактовок, сейчас видимо забили ... текст свёрнут, показать
     
     
  • 13.66, Аноним (-), 03:59, 28/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что стало довольно бессмысленно растактовка варьируется в зависимости от... текст свёрнут, показать
     
  • 12.61, solardiz (ok), 17:51, 26/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно ... текст свёрнут, показать
     
  • 11.59, pavlinux (ok), 14:42, 26/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Сугубо гипотетические расчёты, CMOVGE - проверяет значения трёх флагов ZF, OF, ... текст свёрнут, показать
     
     
  • 12.60, solardiz (ok), 17:48, 26/05/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я старался быть вежливым и надеялся, что за твоими словами есть хоть что-то, но ... текст свёрнут, показать
     
  • 12.67, Аноним (-), 04:00, 28/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А с чего вдруг манипуляции с флагами должны иметь разную растактовку Любой мало... текст свёрнут, показать
     
     
  • 13.74, pavlinux (ok), 23:23, 28/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Докажешь, что за один такт можно сделать 732 SF 710 OF 732 ZF ... текст свёрнут, показать
     
  • 3.10, Аноним (-), 21:57, 24/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, представь, он тебе вываливает какое-нибудь промежуточное дерево, а ты интерактивно выбираешь, где какие оптимизации применить, и сразу видишь результат.
     
  • 3.11, Аноним (-), 22:05, 24/05/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Примерно так же рассуждают пользователи Виндов, допустим, об опенсурсе Пардон,... большой текст свёрнут, показать
     
     
  • 4.14, Аноним (-), 22:20, 24/05/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Все-таки вопрос был "зачем оно надо", на который ваша стена текста никак не отвечает, в ней только распальцовка. Я не говорю что оно не нужно, просто приведите конкретные примеры, чтобы не выглядеть болтологом
     
     
  • 5.19, Аноним (-), 22:31, 24/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Все-таки вопрос был "зачем оно надо", на который ваша стена текста никак не отвечает, в ней только распальцовка. Я не говорю что оно не нужно, просто приведите конкретные примеры, чтобы не выглядеть болтологом

    Все уже прекрасно поняли, что вы считаете "болтологами" тех, кто знает, зачем нужно видеть дерево разбора транслятора.

    Хотя при этом так и остается непонятным, зачем вам нужен этот "explorer", если вам не нужна интроспекция. И кто после этого "болтолог".

     
     
  • 6.22, Аноним (-), 22:39, 24/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Пустопорожняя болтовня

    Слив засчитан

     
     
  • 7.23, Аноним (-), 22:41, 24/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Слив засчитан

    Все так говорят, когда нечем крыть.

     
  • 4.15, ыгчч (?), 22:25, 24/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Как много букв, как мало смысла.
     
     
  • 5.20, Аноним (-), 22:34, 24/05/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Как много букв, как мало смысла.

    Если для вас это количество букв показалось запредельным, а смысл от вас ускользнул, неудивительно, что вы раньше ничего не знали про опцию -S. Ведь в руководствах букв еще больше.

     
     
  • 6.34, Sw00p aka Jerom (?), 01:52, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    эти болтологи думаете прочли хоть один ваш комент ?

    думаю не стоит их кормить

     
     
  • 7.47, Аноним (-), 16:03, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > эти болтологи думаете прочли хоть один ваш комент ?
    > думаю не стоит их кормить

    Пусть кушают, не жалко.
    А прочитают другие и сделают выводы.

     
  • 4.43, kurokaze (ok), 13:02, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >Примерно так же рассуждают пользователи Виндов, допустим, об опенсурсе.

    11 лет назад ушел с виндов потому что они не справлялись с кодированием мпег4 в реалтайме. С тех пор ни разу не пожалел. Так что не обобщайте.

     
     
  • 5.64, Аноним (-), 03:43, 28/05/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >>Примерно так же рассуждают пользователи Виндов, допустим, об опенсурсе.
    >
    > 11 лет назад ушел с виндов потому что они не справлялись с кодированием мпег4 в реалтайме. С тех пор ни разу не пожалел. Так что не обобщайте.

    Если вы не рассуждаете так же, как было написано выше, тогда причем здесь вы.


     
  • 3.42, dq0s4y71 (??), 11:12, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Дерево разбора может понадобиться, например, студентам или разработчикам компиляторов или кому угодно, кто интересуется. Не столь важно. Важно то, что нарисовать дерево разбора - достаточно нетривиальная задача, а сделать gcc -S сможет любой дурак. Причём он сможет сделать это на реальном, большом проекте, и посмотреть какой код генерится, например, во всех узких местах. А в это окошечко он что сможет запостить? Две функции без зависимостей?

    Ну, ладно, ещё можно сказать, что там сразу несколько версий компиляторов. Но ведь для АРМа не работает! Опции поменять - тоже у меня не получилось. Компилятор запускается, похоже, при изменении текста в поле ввода! Что это ещё за "ынтырпрайз" подход, когда компилятор знает лучше разработчика, когда ему запускаться! Сделал бы кнопочку "Скомпилировать", не так криво, может быть, работало бы, да и нагрузка на сервер уменьшилась бы, который сейчас дёргает компилятор на каждый чих в поле ввода!

    Студенческое поделие, короче, причём студента второкурсника. Я помню, мы на старших курсах сами компиляторы писали, причём с генерацией кода...

     
  • 2.13, Аноним (-), 22:17, 24/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Да ну... Я думал, он что-нибудь анализирует, или там хотя бы дерево разбора показывает, а он мне просто вывод от gcc -S вываливает :( Детская игрушка.

    А все дело в том, что в самом по себе gcc большие проблемы с интроспекцией. Всему виной его хаотично разраставшаяся архитектура и долгое отсутствие альтернатив.

    И какую оконную морду ему ни прикрути, его внутренняя суть от этого не изменится.
    А кто командной строкой пользоваться так и не научился, ему окошки недостаток способностей не восполнят, а лишь сделают вид.


     
     
  • 3.30, Аноним (-), 01:15, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Глядя на то какой код генерят всякие шланги, кейлы, иары и прочие - понимаешь что gcc генерит далеко не самый плохой код на свете. А пиндящие насчет архитектуры забыли одну маленькую деталь: выкатить свой кодогенератор который всех сделает. В частности gcc. На всех поддерживаемых архитектурах, разумеется. Посмотрев на то что шланг генерит для ARM например можно вообще офигеть.
     
     
  • 4.40, Аноним (-), 05:54, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Глядя на то какой код генерят всякие шланги, кейлы, иары и прочие
    > - понимаешь что gcc генерит далеко не самый плохой код на
    > свете. А пиндящие насчет архитектуры забыли одну маленькую деталь: выкатить свой
    > кодогенератор который всех сделает. В частности gcc. На всех поддерживаемых архитектурах,
    > разумеется. Посмотрев на то что шланг генерит для ARM например можно
    > вообще офигеть.

    294-ый, ты 3.1 уже прогнал на арм-ах?

     
     
  • 5.52, Аноним (-), 20:39, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > 294-ый, ты 3.1 уже прогнал на арм-ах?

    Я на данный момент больше гоняю на cortex M3 и немного на AVR. А LLVM уже это умеет?

     
  • 4.41, dq0s4y71 (??), 10:41, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Глядя на то какой код генерят всякие шланги, кейлы, иары и прочие - понимаешь что gcc генерит далеко не самый плохой код на свете.

    Вот насчёт Кейла не надо. Кейл генерит более качественный код для ARM, чем gcc. Знаю как разработчик. Не говоря уже о кейловской среде разработки. Ещё Кейл поддерживает, например, 8051, а gcc нет.

     
     
  • 5.45, Аноним (-), 13:44, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    ты что - великий User294 все знает :) И вообще gcc все поддерживает что надо - а что не поддерживает - никому не надо.
     
     
  • 6.51, Аноним (-), 20:37, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > поддерживает что надо - а что не поддерживает - никому не надо.

    Не хочу ничего сказать но лично мне актуальнее и интереснее компильнуть пингвин под ARM чем с окаменелым х51 возиться. Впрочем я и против cortex M3 ничего не имею, у STM например весьма годные чипы по весьма годным ценам, навороченные и умеющие дофига всего, при цене и параметрах делающих 8-битники просто морально устаревшими ископаемыми.

     
  • 5.50, Аноним (-), 20:34, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Вау, сразу видно проприераса у него кайло бьет гцц на всех видах ядер сразу, во... большой текст свёрнут, показать
     
     
  • 6.56, Grammar Nazi (?), 11:49, 26/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > IMO

    IMHO, правильно писать IMHO
    Млин, луркояз хотя бы учите, если "русский языка" для вас "такая сложная"

     
     
  • 7.57, arisu (ok), 11:54, 26/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> IMO
    > IMHO, правильно писать IMHO

    ну, вот у тебя humble, а у кого-то просто обычное. я, например, показной скромностью не страдаю. и не только я.

     
  • 7.68, Аноним (-), 04:10, 28/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > IMHO, правильно писать IMHO

    Ну я не считал что в данном случае мнение излишне скромное, поэтому "humble" убрал ;). Да, я в отличие от вас еще и знаю что "IMHO" означает, а не просто повторяю заученное слово.

    > Млин, луркояз хотя бы учите, если "русский языка" для вас "такая сложная"

    Удачи в обучении меня сетевым акронимам. Только я в сетях побольше вашего и данными акронимами пользуюсь поболее вашего. Указанный варант сокращения имеет хождение, просто менее популярен, т.к. не у всех хватает духа намекать на свою нескромность :)

     
  • 6.62, dq0s4y71 (??), 23:48, 26/05/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не надо придумывать глупостей и приписывать их оппоненту Мне не интересно, что ... большой текст свёрнут, показать
     
     
  • 7.69, Аноним (-), 05:08, 28/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так вы безаппеляционно завяили не меньшую глупость Почему бы и не отыграться... большой текст свёрнут, показать
     
     
  • 8.70, dq0s4y71 (??), 12:28, 28/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ха-ха Вот в этом вы все Будете отрицать даже очевидные факты, если они противо... текст свёрнут, показать
     
     
  • 9.71, arisu (ok), 12:32, 28/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    самое то для форта ... текст свёрнут, показать
     
  • 9.72, Аноним (-), 23:01, 28/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Вот в этом вы все - будете впаривать кривой булшит под 1 систему стоящий конских... большой текст свёрнут, показать
     
     
  • 10.73, Аноним (-), 23:06, 28/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    ЗЫ кстати случайно обнаружил что olimex чьих плат у меня есть, по очевидным при... текст свёрнут, показать
     
  • 3.44, kurokaze (ok), 13:03, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    член секты "сидетели ллвм"?
     
     
  • 4.65, Аноним (-), 03:46, 28/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > член секты "сидетели ллвм"?

    Если вам что-то не понравилось или вы что-то не осилили, это еще не значит, что там секта.

     

  • 1.2, x0r (??), 21:08, 24/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    О таком я только мечтал)
     
     
  • 2.3, x0r (??), 21:21, 24/05/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну да - ничего сверхъестественного, мог бы профайлер запускать
     
  • 2.32, arisu (ok), 01:45, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > О таком я только мечтал)

    лучше бы ты документацию на компилятор читал вместо мечтаний. тогда давно слепил бы себе скрипт и пользовался.

     

  • 1.4, Аноним (-), 21:30, 24/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Какой-то студент склпеал веб-оболочку для gcc -S и радуется как дитя. А то без веба и гитхаба как-то немодно.
     
     
  • 2.16, Аноним (-), 22:26, 24/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Какой-то студент склпеал веб-оболочку для gcc -S и радуется как дитя. А то без веба и гитхаба как-то немодно.

    Да ладно бы и не жалко, пусть упражняется.
    Только слишком амбициозное название для такой лабораторной работы - целый Explorer.
    Хотя на самом деле он ничего там не експлоурит, а всего лишь с потоками ввода-вывода играется.

     
     
  • 3.33, arisu (ok), 01:45, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Только слишком амбициозное название для такой лабораторной работы — целый Explorer.

    красивое название — половина успеха!

     

  • 1.5, umbr (ok), 21:32, 24/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    это GCC для хомячков?
     
  • 1.7, Аноним (-), 21:36, 24/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Отличное дополнение к internet explorer и explorer.exe
     
  • 1.9, Аноним (-), 21:54, 24/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Хипстеры добрались до gcc ?!
     
     
  • 2.24, Сильвия (?), 22:48, 24/05/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    кто такие хипстеры?
     
     
  • 3.55, Аноним (-), 01:14, 26/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > кто такие хипстеры?

    Чуть заапгрейженые хомячки :)

     

  • 1.12, Аноним (-), 22:16, 24/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Теперь бы тоже самое, но в виде нормального приложения, а не web-убожества.
     
     
  • 2.17, Lain_13 (?), 22:26, 24/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Прочти комментарии выше твоего.
     
  • 2.25, skybon (ok), 23:03, 24/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А смысл?
     
     
  • 3.31, Аноним (-), 01:17, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > А смысл?

    Втыкать ради 1 студенческой приблуды в систему node.js нужный мне как рыбке зонтик в водной среде - довольно странное и неудобное развлечение.

     

  • 1.26, добрый дядя (?), 23:30, 24/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    1) а ARM версия не работает =(

    2) было бы удобно если оно будет добавлять строки исходного кода внутрь кода как это делает objdump например

    3) ну и если будет ARM было бы забавно видеть ARM NEON - вот где пригоидтся эта утилита чтобы сразу видеть результат

    4) ну и вообще супер если оно еще запускаться будет, т.е. исполнять код и можно будет оценить скорость, но это наверное уже проще десктопный софт писануть :)

     
  • 1.35, Аноним (-), 01:52, 25/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Опять этот убожеский AT&T синтакс! Когда же его забудут?
     
     
  • 2.36, arisu (ok), 01:57, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Опять этот убожеский AT&T синтакс! Когда же его забудут?

    непривычный — не обязательно плохой.

     
  • 2.53, Аноним (-), 20:41, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Опять этот убожеский AT&T синтакс! Когда же его забудут?

    Не понял, а чего такого плохого в синтаксисе?

     

  • 1.37, pavlinux (ok), 02:16, 25/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не понятен малость смысл. Ну выводит она мне gcc -S, и чё дальше....

    Встроили бы bruteforce по перебору флагов gcc:
    - На минимальность размера кода;
    - По сумме тактов команд;  
    - Прогнозирование переходов и  объёмы циклов с заданными пределами;
    - Сравнение 3-4 вариантов (настраиваемое);

     
  • 1.39, б.б. (?), 04:57, 25/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Хочу GCC-Doom, где ошибки компиляции можно расстреливать из пулемёта, чтобы не мешали.
     
     
  • 2.54, Аноним (-), 20:42, 25/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Хочу GCC-Doom, где ошибки компиляции можно расстреливать из пулемёта, чтобы не мешали.

    Use comments, Luke! :). Хотя да, нормальное для питониста желание - там факап случается после того как оно отпашет 2 дня. Счастливой отладки!

     

  • 1.63, Аноним (-), 09:19, 27/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    отакжы полезно для анализа различных программ, для последующего взлома
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру