当前位置:  开发笔记 > 运维 > 正文

如何在Code :: Blocks中使用C11标准

如何解决《如何在Code::Blocks中使用C11标准》经验,为你挑选了1个好方法。

就像标题所说,我需要code::blocks与之合作C11,我无法弄清楚如何去做.

我去了settings=> compiler settings=> Other options我添加-std=c11并尝试了-std=gnu11,两者似乎都没有用.

我编译gcc-5.2然后我更改了默认编译器(gcc-4.9)仍然没有结果.


当我尝试编译以下程序时:

#include

int main(void){
    int arr[] = {0,1,2,3,4};

    for(int i=0;i<5;i++){
        printf("%d ",arr[i]);
    }

    return 0;
}

我得到以下内容:

|6|error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode|

但如果我在终端(ubuntu 15.04,64BIT,gcc-5.2)中这样做:

./install/gcc-5.2.0/bin/gcc5.2 program.c -o program

似乎工作正常.

我的问题是,如何code::blocks与之合作c11



1> Jonathan Lef..:

由于GCC 5.x版本-std=gnu11默认运行,因此Code :: Blocks必须对编译器执行某些操作(例如传递-ansi-std=gnu90),以使其以不同方式工作.

调查发送到编译器的所有选项.找到一种方法让Code :: Blocks显示它在编译时使用的确切咒语.然后找出解决方法.

使用的选项是:

-Wall -Wextra -Werror -Wstrict-prototypes -Wconversion -std=gnu11 \
-O0 -g -ansi `pkg-config --cflags gtk+-3.0`

-ansi是做损害; 它相当于-std=c90或许-std=gnu90- 它明确地撤消-std=c11-std=gnu11.

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有