LINUX.ORG.RU

История изменений

Исправление firkax, (текущая версия) :

Я, значит, должен сам перевести эту статью на русский язык для тебя?

Не надо ничего переводить, говори свои мысли а не чужие.

с точки зрения стандарта

Вот вырежи эту фразу, иначе смысла нет.

А на поведение этой — нету

Шанс поломки этих программ примерно одинаковый. И он вовсе не из-за названия переменной (шанс того, что займут кейвордом _X - такой же нулевой, как и то, что займут X), а из-за того что где-то в будущем авторы компиляторов могут решить что int main() без return это ошибка. Или из-за того что переменная объявлена но не используется, а у компилятора в скрипте сборки включён -Werror=unused или как его там.

В данном случае это означает «стандартная библиотека и прочие кишки, необходимые для запуска conforming программ на Си».

Библиотека - не часть языка, хватит её приплетать. Да, я знаю, что «стандарто»-писатели границу между языком и библиотекой увидеть не осилили, но это только плохо о них же и говорит.

Но эти документы ссылаются на сишный стандарт

Только в информационном плане. Точно так же мануал от шланга неявно ссылается на мануал от gcc, когда описывает свои флаги для компиляции программ на GNU C.

Ну и вот смотри:

https://gcc.gnu.org/onlinedocs/gcc-7.5.0/gcc/Optimize-Options.html#index-fstr...

никаких отсылок на C89/C99/C11 тут нет, чисто описание опции. А именно: она делает signed переполнение неопределённым для того, чтобы оптимизатор мог лучше работать. Обрати внимание, что это вовсе не дефолт, а именно опция, которую надо явно включать, этим флагом или -O.

А где там написано, что можно определять _X?

Это само собой подразумевается. Там ещё нигде не написано, что можно определять X. Или что можно определять Y.

Исходная версия firkax, :

Я, значит, должен сам перевести эту статью на русский язык для тебя?

Не надо ничего переводить, говори свои мысли а не чужие.

с точки зрения стандарта

Вот вырежи эту фразу, иначе смысла нет.

А на поведение этой — нету

Шанс поломки этих программ примерно одинаковый. И он вовсе не из-за названия переменной (шанс того, что займут кейвордом _X - такой же нулевой, как и то, что займут X), а из-за того что где-то в будущем авторы компиляторов могут решить что int main() без return это ошибка. Или из-за того что переменная объявлена но не используется, а у компилятора в скрипте сборки включён -Werror=unused или как его там.

В данном случае это означает «стандартная библиотека и прочие кишки, необходимые для запуска conforming программ на Си».

Библиотека - не часть языка, хватит её приплетать. Да, я знаю, что «стандарто»-писатели границу между языком и библиотекой увидеть не осилили, но это только плохо о них же и говорит.

Но эти документы ссылаются на сишный стандарт

Только в информационном плане. Точно так же мануал от шланга неявно ссылается на мануал от gcc, когда описывает свои флаги для компиляции программ на GNU C.

Ну и вот смотри:

https://gcc.gnu.org/onlinedocs/gcc-7.5.0/gcc/Optimize-Options.html#index-fstr...

никаких отсылок на C89/C99/C11 тут нет, чисто описание опции. А именно: она делает signed переполнение неопределённым для того, чтобы оптимизатор мог лучше работать. Обрати внимание, что это вовсе не дефолт, а именно опция, которую надо явно включать, этим флагом или -O.