?

Log in

No account? Create an account
Cellular, modular, interactive-odular -- Day [entries|friends|calendar]
some1

Профиль Cellular, modular, interactive-odular

последние | архив | лента друзей | избранное |
[ userinfo | livejournal userinfo ]
[ calendar | livejournal calendar ]

рабочее [15 Nov 2004|02:22pm]
Дошли наконец руки прочитать список отличий между C89 и C99 (кто не в курсе - это новая версия стандарта C). Видимо, девиз комисии был: "Больше C++ в C! Больше сторонних расширений в стандарт!" Краткий список добавленных фич:
- однострочные коментарии
- объявления переменных в любом месте блока
- объявление переменной внутри for
- inline функции
- отмена правила неявного int и автоматических прототипов функций
- неконстантные инициализаторы для локальных переменных
- открытые массивы в конце структуры (struct Chunk { int size; char data[]; })
- указание имен полей при инициализации (struct s { int a, b; } a[] = { [0]={.a=1, .b=2}, [2]={.a=3,4}}; )
- массивы переменной длины (VLA). правда кривоватые.
- макросы с переменным числом параметров
- стандартные имена для целых типов _фиксированного_размера_в_битах_, _не_меньше_стольки_то_бит, _самый_быстрый_не_меньше_стольки_то_бит_ и даже макросы, делающие для этих типов правильные суффиксы
- встроенная переменная __func__ содержащяя имя текущей функции

Вопрос на засыпку: сколько есть C99 complaint компиляторов? :)
Ссылка 6 перфокарт(s)| Доложить

navigation
[ viewing | November 15th, 2004 ]
[ go | previous day|next day ]