LINUX.ORG.RU

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

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

Тогда что описывают соответствующие тексты стандартов? Для чего в компиляторах ключ -std=?

Тексты стандартов описывают версии стандартов. Так сложилось, что в Си это всего лишь одна из конкурирующих «реализаций» (в кавычках, потому что реализаций то как раз у ISO и нет). Настоящий Си это то, что компилируют реальные компиляторы, и он зависит от кучи флагов их запуска.

В смысле gcc 12.2.0? При чём они тут?

При том что исходник может компилироваться gcc 12, но не компилироваться gcc 2. Значит этот исходник для новых gcc. Так же следует учитывать всё многообразие флагов. Но если по теме, то библиотека скорее всего совместима с максимально возможным количеством компиляторов.

Можешь назвать сколько-нибудь популярный проект

Не надо вот на апеляции к авторитетам переходить. Объявление в середине кода в большинстве случаев приводит к помойке в коде. Это моё заявление никак не зависит от того, какие там у кого привычки.

Это то же самое неопределённое поведение, которое уже сто раз обсуждали.

В реальных компиляторах (например gcc) - вполне себе определённое. Никакой магии над такими идентификаторами в них не заложено.

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

Тогда что описывают соответствующие тексты стандартов? Для чего в компиляторах ключ -std=?

Тексты стандартов описывают версии стандартов. Так сложилось, что в Си это всего лишь одна из конкурирующих «реализаций» (в кавычках, потому что реализаций то как раз у ISO и нет). Настоящий СИ это то, что компилируют реальные компиляторы, и он зависит от кучи флагов их запуска.

В смысле gcc 12.2.0? При чём они тут?

При том что исходник может компилироваться gcc 12, но не компилироваться gcc 2. Значит этот исходник для новых gcc. Так же следует учитывать всё многообразие флагов. Но если по теме, то библиотека скорее всего совместима с максимально возможным количеством компиляторов.

Можешь назвать сколько-нибудь популярный проект

Не надо вот на апеляции к авторитетам переходить. Объявление в середине кода в большинстве случаев приводит к помойке в коде. Это моё заявление никак не зависит от того, какие там у кого привычки.

Это то же самое неопределённое поведение, которое уже сто раз обсуждали.

В реальных компиляторах (например gcc) - вполне себе определённое. Никакой магии над такими идентификаторами в них не заложено.