компиляция с c89 и c99 делает gcc 4.4.2 значения по умолчанию к c99?

Я использую gcc 4.4.2 на Linux

Я просто задаюсь вопросом, gcc автоматически принимает значение по умолчанию к компиляции с c99, поскольку это - последний стандарт?

Как я могу указать, хочу ли я скомпилировать с c89 или c99?

Большое спасибо за любой совет,

6
задан ant2009 23 January 2010 в 07:50
поделиться

2 ответа

Одной из причин не использовать C99 по умолчанию, является то, что этот стандарт не полностью реализован в компиляторе. Тем не менее, я считаю, что вы можете установить режим по умолчанию при компиляции GCC, так что если выбор стандартов действительно имеет значение для вас, лучше пройти опцию.

Варианты -Std = C99 и -Std = C89 соответственно.

10
ответ дан 8 December 2019 в 12:20
поделиться

Из gcc(1) man page:

   -std=
       Determine the language standard.   This option is currently only
       supported when compiling C or C++.

....

       c99
       c9x
       iso9899:1999
       iso9899:199x
           ISO C99.  Note that this standard is not yet fully supported;
           see <http://gcc.gnu.org/gcc-4.4/c99status.html> for more
           information.  The names c9x and iso9899:199x are deprecated.

       gnu89
           GNU dialect of ISO C90 (including some C99 features). This is
           the default for C code.

       gnu99
       gnu9x
           GNU dialect of ISO C99.  When ISO C99 is fully implemented in
           GCC, this will become the default.  The name gnu9x is
           deprecated.
9
ответ дан 8 December 2019 в 12:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: