| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 12122 人关注过本帖
标题:dev c++怎么设置编译器,使其能支持c11
只看楼主 加入收藏
BCCN_cuser
Rank: 1
等 级:新手上路
帖 子:31
专家分:1
注 册:2016-6-28
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:10 
dev c++怎么设置编译器,使其能支持c11
dev c++怎么设置编译器,使其能支持c11
在学C语言,书上说检验编译器是否支持C11可选函数的代码为:
程序代码:
#include<stdio.h>
int main(void)
{
    #if defined __STDC_LIB_EXT1_
    printf("Optional functions are defined.\n");
    #else

    printf("Optional functions are not defined.\n");
    #endif
    return 0;

}
但是输出为Optional functions are not defined.调整编译器
按网上说的,加-std=c++11命令,但是还是不行,我的编译器为DEV C++ 5.11的,不懂怎么调,使其能支持C11
搜索更多相关主题的帖子: 编译器 C语言 
2016-08-23 21:28
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1744
专家分:3216
注 册:2015-12-2
收藏
得分:0 
我也想问,dev c++ 5.11
#include <stdio.h>

main()
{
    printf("文件名是%s.\n",__FILE__);
    printf("日期是%s\n",__DATE__);
    printf("时间是%s\n",__TIME__);
        //printf("c版本是%ld\n",__STDC_VERSION__); 这个宏要如何执行?
    printf("这是第%d行\n",__LINE__);
}
2016-08-23 21:37
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:10 
你有点儿混乱呀
首先,devcpp是IDE,不是编译器,支持不支持C11是编译器的事
第二,标题中说“C11”,正文中说的却是“Annex k",支持C11的库是可以不支持Annex k的。你到底是想要C11还是Annex k?
第三,“加-std=c++11命令,但是还是不行”,你不会连c和c++都分不清吧,要加也是-std=c11


我的编译器为DEV C++ 5.11的,不懂怎么调,使其能支持C11
--- 能不能支持C11和IDE无关,只取决于你这个dev用的是什么编译器,gcc好像4.7版本开始支持C11; cl的话就没人在意过了,听说vc2013起准备支持C99。
支持C11的编译器不等于就支持你代码中的Annex k函数,起码近期glibc还没用支持这个垃圾扩展库的打算。
2016-08-23 22:31
BCCN_cuser
Rank: 1
等 级:新手上路
帖 子:31
专家分:1
注 册:2016-6-28
收藏
得分:0 
回复 3楼 rjsp
版主大大,我整理了我的疑问

第一、我不懂dev c++是编译器还是IDE,只是从网上看,说是编译工具,我就把他当作是编译器了。(dev c++中的编译器应该为GCC ?)
第二、__STDC_LIB_EXT1_这个函数课本上说是这个是C11标准包含字符串处理函数(原文:根据C11标准实现可选函数的编译器,会定义__STDC_LIB_EXT1_符号),不理解你说的Annex k
第三,这部分是网上搜来的,用-std=c11,结果还是显示Optional functions are not defined.

我的目的,就是让我的编程软件能使用Strcpy_s函数,进行复制字符串及其他的相关动作。要怎么设置我的编程软件呢?

2016-08-23 22:50
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
作为 C标准委员会 和 m$ 握手言和的标志,Annex K这个垃圾(不是我一个人这么说,linus、redhat等全世界不脑残的人都这么评价它)被加入到C11的optional中。
但是,微软提交的草案实在令人类看不下去,于是某主席帮它改了改,忍着恶心将之送进了optional,可惜微软还不领情感恩。
于是呐,就成了目前的现状:除了微软没人愿意支持它,而微软则支持的是自己的那套所谓安全函数,不是标准的Annex K
2016-08-23 22:51
BCCN_cuser
Rank: 1
等 级:新手上路
帖 子:31
专家分:1
注 册:2016-6-28
收藏
得分:0 
回复 5楼 rjsp
那我应该改用什么编程软件,我发现看的这本书基本都是用到Annex k函数的?(我已经看了一小半了,不想换书了)
2016-08-23 22:58
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
回复 4楼 BCCN_cuser
dev也可以用其它编译器,但一般用的是gcc。顺便问一句,为什么用这么古老的ide呀?qt creator、codelite、code::blocks等更好更流行。

Annex K就是你说的那个扩展库的正式名称。

gcc不但不支持Annex K,甚者连这些宏都不支持。也就是连“我不支持这个库”都不想说,表达自己对这个库的强烈不满。

想用这些函数的话,只有用vc了。
2016-08-23 23:00
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
以下是引用BCCN_cuser在2016-8-23 22:58:04的发言:
那我应该改用什么编程软件,我发现看的这本书基本都是用到Annex k函数的?(我已经看了一小半了,不想换书了)

遇书不淑呀
说回来,不就是几个函数而已嘛,用标准的C函数替代掉就是了
2016-08-23 23:03
BCCN_cuser
Rank: 1
等 级:新手上路
帖 子:31
专家分:1
注 册:2016-6-28
收藏
得分:0 
以下是引用rjsp在2016-8-23 23:00:51的发言:

dev也可以用其它编译器,但一般用的是gcc。顺便问一句,为什么用这么古老的ide呀?qt creator、codelite、code::blocks等更好更流行。
 
Annex K就是你说的那个扩展库的正式名称。
 
gcc不但不支持Annex K,甚者连这些宏都不支持。也就是连“我不支持这个库”都不想说,表达自己对这个库的强烈不满。
 
想用这些函数的话,只有用vc了。

看浙大公开课上的时候,那个老师推荐的,VC的话,要用VC 6.0不支持C11了吧?其他的感觉好大,有小一点的推荐吗?
2016-08-23 23:03
BCCN_cuser
Rank: 1
等 级:新手上路
帖 子:31
专家分:1
注 册:2016-6-28
收藏
得分:0 
以下是引用rjsp在2016-8-23 23:03:21的发言:

 
遇书不淑呀
说回来,不就是几个函数而已嘛,用标准的C函数替代掉就是了
不懂标准的C函数可以怎么替代例如strcpy_s这些函数
2016-08-23 23:05
快速回复:dev c++怎么设置编译器,使其能支持c11
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.090663 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved