codeblocks中使用的编译器为gcc,而gcc在默认情况下一般是不会开启对最新标准的支持的
一般情况下gcc默认的编译标准是使用C90标准,并且包含GUN的扩展,如果要使用C99,或是C11等标准的一些特性
就必须对编译的设置进行一些修改
通过下面一个代码,你可以简单的判断编译器是否使用了C99及以上标准进行编译
#include <stdio.h> int main() { for(int var = 1; 1 == var; var++) { printf("success!"); } return 0; }
如果你的编译器没有按照C99标准编译,那么它将显示一些下下面这样的错误
错误提示告诉我们:“在for循环中声明变量只在C99标准中支持”
然后下面就告诉我们解决办法:“使用-std=c99选项或-std=gunc99去编译代码”
我们只需要在编译的时候,加上相应的参数即可
那么在codeblocks下如何加上参数呢?
我们需要打开全局的编译设置
首先在菜单栏中点击Setting(设置),接着点击下面的compiler(编译器设置)
会出现下面这样的设置窗口
如果你在编写C++程序而想开启C++11的支持,只需要在这个窗口内的相应位置前面打上勾即可
但是C语言的选项并没有在这里给出,没关系,我们手动加上一条参数即可。
点击Compiler Flags(编译)右边的Other options(其他选项),在下面的编辑框中填入
-std=c99
或-std=c11
前者将告诉编译器使用C99标准进行编译,后者则是C11标准
填写完毕后点击保存(OK)
然后我们重新编译一遍
这下便成功了