我想知道是否有任何文件可以设置-std=c99
标志,这样我就不必为每次编译都设置它。 我在Ubuntu上使用的是GCC 4.4。
我想知道是否有任何文件可以设置-std=c99
标志,这样我就不必为每次编译都设置它。 我在Ubuntu上使用的是GCC 4.4。
不要调用/usr/bin/gcc
,而是使用/usr/bin/c99
。这是调用C99编译器的Single-Unix-approved方式。在Ubuntu系统上,这将指向一个脚本,该脚本在添加了-std=c99
标志后调用gcc
,这正是你想要的。
你觉得使用 alias gcc99= gcc -std=c99
怎么样?
alias gcc99=gcc -Wall -pedantic -ansi -std=c99
。没错,还带有ansi
。 - dirkgently-std=c99 -ansi
,GCC遵循哪个标准(如果有的话)?你已经启用了C99,然后禁用了C89中不存在的任何内容,这是否会导致两者的公共子集? - Steve Jessop-ansi -std=c99 -pedantic
相对于-std=c89 -pedantic
来说有什么优势和原因? - Steve Jessopint main() { // thing <newline> }
中,其中 <newline> 表示换行符。使用命令 gcc -ansi -std=c99 -pedantic
可以编译通过,但使用命令 gcc -std=c99 -ansi -pedantic
无法编译通过。 - Steve Jessopexport CFLAGS="-std=c99"
export CC="gcc"
make
一些发行版和大多数基于UNIX的操作系统都有这些东西的别名或包装器。
C_CCompiler
的全局变量指定了C编译器。它通常设置为gcc
。将其内容替换为c99
,一切都应该正常运行。请参阅帮助文件:http://lug.fh-swf.de/vim/vim-doc/csupport.html。 - Thomas Pornin