vc6.0是否支持c95?

nikannishishui 2012-02-13 12:02:02
如果不支持,那么vc2003能否支持?到底哪些编译器支持c95?
...全文
319 39 打赏 收藏 转发到动态 举报
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
liubingqian 2012-02-21
  • 打赏
  • 举报
回复
如果你真的用过Windows版的Code::Blocks,你到它网站上下载时就会看到,一个安装文件仅仅是IDE,不带编译器;另一个是带MinGW编译器的完全的开发软件。
liubingqian 2012-02-21
  • 打赏
  • 举报
回复
使用c99需要加参数编译。-std=c99
默认是没有这个参数的。
nikannishishui 2012-02-21
  • 打赏
  • 举报
回复
codeblocks-10.05mingw-setup.exe已经包括了GCC编译器和GDB调试器
nikannishishui 2012-02-20
  • 打赏
  • 举报
回复
[Quote=引用 35 楼 liubingqian 的回复:]
引用 32 楼 nikannishishui 的回复:

引用 31 楼 wizard_tiger 的回复:
codeblocks
推荐这个编译器

codeblocks不如gcc对C99标准支持的好,而gcc又不如Sun Studio、IBM C for AIX,V6 and XL C/C++ V11.1 for AIX 、The Portland Group PGI C/C++和I……
[/Quote]
假如说Code::Blocks用的编译器是GCC的话,那就有趣了, 很多C99特性它都不支持,但是GCC支持.
liubingqian 2012-02-20
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 nikannishishui 的回复:]

引用 31 楼 wizard_tiger 的回复:
codeblocks
推荐这个编译器

codeblocks不如gcc对C99标准支持的好,而gcc又不如Sun Studio、IBM C for AIX,V6 and XL C/C++ V11.1 for AIX 、The Portland Group PGI C/C++和IBM Rational logiscope这四个编译器,这四……
[/Quote]
怪论。
Code::Blocks仅仅是个IDE,它用的编译器本身就是GCC。当然你还可以换成其它编译器。
你说的那四个编译器不普及,不是因为你说的“不亲民”,而是运行它们的机器太昂贵,用的单位太少。
nikannishishui 2012-02-17
  • 打赏
  • 举报
回复
最近CSDN怎么老删帖,30 31和33楼都被删除了.
nikannishishui 2012-02-17
  • 打赏
  • 举报
回复
请问VC6.0是否完全支持C95,2003支持吗?
nikannishishui 2012-02-16
  • 打赏
  • 举报
回复
这个版不热情啊.
nikannishishui 2012-02-16
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 johnphan 的回复:]
VS的编译器是可以被掏空替换掉的。Intel的cpp编译器可以嵌入到VS中。
[/Quote]
那怎么解释DEV下面也不用改成.cpp,用.c就可以用wmemcpy啊!
nikannishishui 2012-02-16
  • 打赏
  • 举报
回复
[Quote=引用 31 楼 wizard_tiger 的回复:]
codeblocks
推荐这个编译器
[/Quote]
codeblocks不如gcc对C99标准支持的好,而gcc又不如Sun Studio、IBM C for AIX,V6 and XL C/C++ V11.1 for AIX 、The Portland Group PGI C/C++和IBM Rational logiscope这四个编译器,这四个完全支持C99,gcc只是大部分支持,不过那四个编译器却普及率很低,因为不亲民,使用起来很不方便,VC6.0完全支持C89,C89是流通最广的,几乎所有编译器都支持,而VC6.0又最亲民,所以VC6.0是使用最广的.
wizard_tiger 2012-02-16
  • 打赏
  • 举报
回复
codeblocks
推荐这个编译器
nikannishishui 2012-02-16
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 g_spider 的回复:]
你应该用
__inline


C/C++ code

__inline wchar_t *wmemcpy(wchar_t *_S1, const wchar_t *_S2, size_t _N)
{
wchar_t *_Su1 = _S1;
for (; 0 < _N; ++_Su1, ++_S2, --_N)
*_Su1 = *_S2;……
[/Quote]
C语言根本就没有__inline这个关键字,如果你说的是inline,那么只能用在C++中.
G_Spider 2012-02-16
  • 打赏
  • 举报
回复
你应该用
__inline

__inline wchar_t *wmemcpy(wchar_t *_S1, const wchar_t *_S2, size_t _N)
{
wchar_t *_Su1 = _S1;
for (; 0 < _N; ++_Su1, ++_S2, --_N)
*_Su1 = *_S2;
return (_S1);
}
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 nikannishishui 的回复:]

warning C4013: 'wmemcpy' undefined; assuming extern returning int
[/Quote]
这只是个警告,没提示wmemcpy不存在
nikannishishui 2012-02-15
  • 打赏
  • 举报
回复
继续顶一下,求解释.
nikannishishui 2012-02-15
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 johnphan 的回复:]
VS的编译器是可以被掏空替换掉的。Intel的cpp编译器可以嵌入到VS中。
[/Quote]
啥意思哦!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!好像和问的问题不一样哇
john 2012-02-15
  • 打赏
  • 举报
回复
VS的编译器是可以被掏空替换掉的。Intel的cpp编译器可以嵌入到VS中。
nikannishishui 2012-02-15
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 akirya 的回复:]
引用 10 楼 nikannishishui 的回复:

warning C4013: 'wmemcpy' undefined; assuming extern returning int

这只是个警告,没提示wmemcpy不存在
[/Quote]
下面就是两条错误.警告可以运行起来,错误不能运行.
子达如何 2012-02-15
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 nikannishishui 的回复:]

使用vc6.0,并且在头文件wchar.h中找到了wmemcpy函数的定义,如下:
C/C++ code

inline wchar_t *wmemcpy(wchar_t *_S1, const wchar_t *_S2, size_t _N)
{wchar_t *_Su1 = _S1;
for (; 0 < _N; ++_Su1, ++_S2, --_N)
……
[/Quote]
有可能你没留意它的定义是在某些编译条件里面吧~
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 nikannishishui 的回复:]

引用 15 楼 hitcser01 的回复:
引用 12 楼 nikannishishui 的回复:

到现在完全支持C99标准的编译器是什么?

codeblocks 可以开启c99标准

能开启,但是很多不支持,和不开启基本没区别.是个摆设.
[/Quote]
支持最好的应该就是gcc了 http://gcc.gnu.org/c99status.html
VC系列只支持C89
intel也支持一些 http://software.intel.com/en-us/articles/c99-support-in-intelr-c-compiler/
加载更多回复(19)

69,393

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧