1.1, anon (?), 12:15, 23/10/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
СТОП! А как мне заставить ГЦЦ скомпилить такое "бессмысленное сравнение" там, где это надо???
| |
|
2.2, анон (?), 12:19, 23/10/2009 [^] [^^] [^^^] [ответить]
| +/– |
Иногда бывает нужно при написании антиотладки, анти-аверов и т.д.
| |
|
1.5, Дима (??), 15:26, 24/10/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
идиотизм какой-то . В Java сделано лучше. Такой код просто не скомпилируется, т.к. по спецификации запрещено применять непроинициализированные локальные переменные
| |
|
2.6, Карбофос (ok), 15:56, 24/10/2009 [^] [^^] [^^^] [ответить]
| +/– |
прежде, чем заявлять, что "в ява сделано лучше", нужно знать, какой код генерирует gcc
кто тебе сказал, что бессмысленные выражения будут в бинарнике?
| |
2.7, pavlinux (ok), 18:50, 24/10/2009 [^] [^^] [^^^] [ответить]
| +/– |
>идиотизм какой-то . В Java сделано лучше. Такой код просто не скомпилируется,
>т.к. по спецификации запрещено применять непроинициализированные локальные переменные
s/непроинициализированные/не инициализированные/\g;
| |
2.11, Аноним (-), 21:43, 05/09/2015 [^] [^^] [^^^] [ответить]
| +/– |
Алё, Дима, ты где здесь "непроинициализированные локальные переменные" увидел? Иди портфель собирай, критик юный.
| |
|
1.8, pavlinux (ok), 19:29, 24/10/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>[оверквотинг удален]
> return 1;
> return 0;
>
>
>gcc опять не ругается и даже с -O0 генерирует код, который не
>делает никаких сравнений, а сразу возвращает результат. То есть знает, что
>сравнение бессмысленное, но молчит.
>
>Для того, чтобы gcc начал выводить предупреждения нужно указать -Wextra, тогда буде
>выведено:
ISO/ICE9899 стр. 44 на предмет разницы unsigned в K&R, C89 и С99
Так что
# gcc -std=c99 -W -Werror test.c
И будет вам счастье, специально для программеров на Жаве, добавляем -Werror.
За Вас, жавероф, Sun Microsystem уже подумал, тут надо самим. :)
| |
|