在Code::Blocks上开启C99/C11等标准的支持

By | 2015年9月20日

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)

然后我们重新编译一遍

再次编译

这下便成功了

发表评论

邮箱地址不会被公开。 必填项已用*标注