在GCC中设置std = c99标志

Fat*_*rik 63 c programming-languages c99

我想知道是否有任何文件可以设置-std=c99标志,所以我不必为每次编译设置它.我在Ubuntu上使用GCC 4.4.

Tho*_*nin 99

而不是打电话/usr/bin/gcc,使用/usr/bin/c99.这是Single-Unix批准的调用C99编译器的方法.在Ubuntu系统上,这指向一个脚本,该脚本gcc在添加了-std=c99标志后调用,这正是您想要的.

  • 根据我在网上找到的信息,有一个名为“C_CCompiler”的全局变量,它指定 C 编译器。通常设置为“gcc”。将其内容替换为“c99”,一切都会顺利。请参阅帮助文件:http://lug.fh-swf.de/vim/vim-doc/csupport.html (2认同)

dir*_*tly 15

怎么样alias gcc99= gcc -std=c99

  • +1这就是我的意思.当你在它时,将-Wall和-pedantic标志添加到别名中. (4认同)
  • @dirkgently:那么GCC用`-std = c99 -ansi`实现的标准(如果有的话)是什么?您已经启用了C99,然后禁用了不在C89中的任何内容,是否会导致两者的公共子集? (4认同)
  • 订单当然重要.例如`int main(){// thing <newline>}`,其中<newline>是换行符.用`gcc -ansi -std = c99 -pedantic`编译,但不用`gcc -std = c99 -ansi -pedantic`编译. (3认同)
  • +1.现在这就是我的别名实际上的样子:`别名gcc99 = gcc -Wall -pedantic -ansi -std = c99`.是的,还有`ansi`. (2认同)
  • 我确实读过,但它告诉我 GCC 的作用,而不是它为什么有用 ;-)。特别是,“-ansi -std=c99 -pedantic”如何以及为什么比“-std=c89 -pedantic”更好? (2认同)