Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Оказывается, благодаря тому, что компилятору ссей пофиг на количество переданных в функцию аргументов, можно сделать неплохую реализацию while(true), который завершается тогда, когда соседним программам становится не насрать на переполнение стека...
Программист: gcc 1.cpp
Компилятор: Простите пожалуйста, но вы забыли написать прототип...
Программист: gcc -w 1.cpp #Заткнись сука и компиль мой код!!! Мне некогда читать твои мляцкие предупреждения!!!
Компилятор: Okay... как скажете...
Программа: segmentation fault *trollface.png*
Программист: (компилятору) Да ты сука упоротая, что ты мне тут насобирал!!!
> Соберёт и не пожалуется. Если там будет Си-код.
Ну вот только не надо тут мифы создавать. Еще как соберет. Он по расширениям определяет какой бекэнд вызывать. Пруф: man gcc For any given input file, the file name suffix determines what kind of compilation is done
man g++ However, the use of gcc does not add the C++ library. g++ is a program that calls GCC and treats .c, .h and .i files as C++ source files instead of C source files unless -x is used, and automatically specifies linking against the C++ library.
Вот и все отличия
> А варнинги я давно привык не читать, когда на чистом С пишу)
Ну зря, зря, там тем более их не так и много. Ну и в гцц даже на -Wall почти все ворнинги по делу. Разве что unused variable бесит.
Не люблю убирать имя. Без имен аргументов код хуже читается. Имхо лучше дописать Q_UNUSED (если Qt), или закомментить это самое имя. Ну или как вариант - (void)name;
>silencer
Компилятор: Простите пожалуйста, но вы забыли написать прототип...
Программист: gcc -w 1.cpp #Заткнись сука и компиль мой код!!! Мне некогда читать твои мляцкие предупреждения!!!
Компилятор: Okay... как скажете...
Программа: segmentation fault *trollface.png*
Программист: (компилятору) Да ты сука упоротая, что ты мне тут насобирал!!!
Компилятор: А НУ СУКА ФОРМАТИРОВАНИЕ ПОПРАВИЛ ИЛИ НАХУЙ ТВОЮ ПОРНУХУ СОТРУ.
/dev/sda1 / type ext3 (rw)
/dev/sda5 /media/pron type ext3 (ro)
# dd if=/dev/urandom of=/dev/sda5
ЕМНИП g++ этот тот же gcc просто дефолтовые опции другие.
P.S. Один хрен gcc, если я не гоню, это не компилятор C, это сборочный фронтенд, а настоящие компиляторы спрятаны.
Вроде как настоящие тут:
/usr/lib/gcc/i686-linux-gnu/4.6/cc1
/usr/lib/gcc/i686-linux-gnu/4.6/cc1plus
Соберёт и не пожалуется. Если там будет Си-код.
Ну вот только не надо тут мифы создавать. Еще как соберет. Он по расширениям определяет какой бекэнд вызывать. Пруф:
man gcc
For any given input file, the file name suffix determines what kind of compilation is done
man g++
However, the use of gcc does not add the C++ library. g++ is a program that calls GCC and treats .c, .h and .i files as C++ source files instead of C source files unless -x is used, and automatically specifies linking against the C++ library.
Вот и все отличия
какая-нибудь древняя версия гцц не дала ему сделать анонимную структуру:
http://ideone.com/yWNWmM
Выхода нет?
А варнинги я давно привык не читать, когда на чистом С пишу)
Ну зря, зря, там тем более их не так и много. Ну и в гцц даже на -Wall почти все ворнинги по делу. Разве что unused variable бесит.
Это в С++ часто бывает, что аргумент не используется в виртуальных функциях.
в cpp файле
Хотя имя переменной можно убрать и h-файле, компилятору нужен лишь тип.
Иногда список параметров с именами является частью макроса, который нельзя менять, потому что он в общем библиотеке.
compiler: когда читаю программу С - пишу ворнинги (и не только)