Я использую gcc 4.4.2 в Linux
Мне просто интересно, автоматически ли gcc по умолчанию компилируется с c99 в качестве последнего стандарта?
Как я могу указать, хочу ли я компилировать c89 или c99?
Большое спасибо за любой совет,
Я использую gcc 4.4.2 в Linux
Мне просто интересно, автоматически ли gcc по умолчанию компилируется с c99 в качестве последнего стандарта?
Как я могу указать, хочу ли я компилировать c89 или c99?
Большое спасибо за любой совет,
Одна из причин не использовать C99 по умолчанию заключается в том, что этот стандарт еще не полностью реализован в компиляторе. Однако я считаю, что вы можете установить режим по умолчанию при компиляции gcc, поэтому, если выбор стандартов действительно важен для вас, лучше всегда передавать эту опцию.
Возможные варианты: -std=c99
и -std=c89
соответственно.
На странице руководства gcc(1)
:
-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.