VC++ 2010对C99的支持
2012-07-21 04:18
162 查看
VC++支持ANSI C毋庸置疑,不过对于是否支持C99,我倒看到两种说法:
1. 不支持C99.
http://en.wikipedia.org/wiki/Visual_C%2B%2B#Issues
2. 支持C99的个别特性.
http://en.wikipedia.org/wiki/ANSI_C#Compilers_supporting_ANSI_C
http://social.msdn.microsoft.com/Forums/pl-PL/vclanguage/thread/8c3ce91d-e4bc-4a95-a122-b19cac1e94aa
到底是神马情况? 我试验了VC++ 2010,可以确定VC++ 2010支持C99下面的几个特性:
支持 // 开头的单行注释
支持 long long等数据类型,但是printf、scanf的格式化串不支持long long类型
支持可变参数宏
VC++ 2010不支持C99下面的几个特性:
支持不定长的数组
变量声明不必放在语句块的开头
除了已有的 __line__、__file__ 以外,增加了 __func__ 得到当前的函数名。
结论就是VC++ 2010对C99的支持少得可怜的。
ps: VC++ 2010虽然用不了,但是可以用__FUNCTION__。但是__FUNCTION__和__func__性质是不一样的。前者是VC++编译器指定的,后者是C99标准指定的。
1. 不支持C99.
http://en.wikipedia.org/wiki/Visual_C%2B%2B#Issues
2. 支持C99的个别特性.
http://en.wikipedia.org/wiki/ANSI_C#Compilers_supporting_ANSI_C
http://social.msdn.microsoft.com/Forums/pl-PL/vclanguage/thread/8c3ce91d-e4bc-4a95-a122-b19cac1e94aa
到底是神马情况? 我试验了VC++ 2010,可以确定VC++ 2010支持C99下面的几个特性:
支持 // 开头的单行注释
支持 long long等数据类型,但是printf、scanf的格式化串不支持long long类型
支持可变参数宏
VC++ 2010不支持C99下面的几个特性:
支持不定长的数组
变量声明不必放在语句块的开头
除了已有的 __line__、__file__ 以外,增加了 __func__ 得到当前的函数名。
结论就是VC++ 2010对C99的支持少得可怜的。
ps: VC++ 2010虽然用不了,但是可以用__FUNCTION__。但是__FUNCTION__和__func__性质是不一样的。前者是VC++编译器指定的,后者是C99标准指定的。
相关文章推荐
- VC2010稍作处理支持扩展ASCII
- 让VC、BCB支持C99的整数类型(stdint.h、inttypes.h)(兼容GCC)
- 让VC2010的PropertyGrid支持日期下拉选择
- VC2010新增加对多线程的支持类
- [C] 让VC支持C99的整数类型V1.01。避免包含目录问题,更名auto_stdint.h、auto_inttypes.h(在VC6至VC2012、GCC、BCB等编译器下测试通过)
- 使用月历控件CMonthCalCtrl让VC2010的CMFCPropertyGridProperty支持日期选择
- VC编译器 不完全支持C99
- VC2010增加对并发的支持 笔记一
- C++中动态创建二维数组——尴尬的不支持C99的VC
- [C] 让VC支持C99的整数类型V1.01。避免包含目录问题,更名auto_stdint.h、auto_inttypes.h(在VC6至VC2012、GCC、BCB等编译器下测试通过)
- Visual.Assist.X.V10.6.1819的破解补丁,支持VC2010RTM正式版(2010.04.06 (Release candidate.))
- VC2010 单文档动态创建按钮和响应函数 (请CSDN改进博客支持截图)
- [C] zlstdint(让VC、TC等编译器自动兼容C99的整数类型)V1.0。支持Turbo C++ 3等DOS下的编译器
- ISO/IEC C++中的所有基本类型,以及vc 2010支持的值域
-  Visual.Assist.X.V10.6.1814的破解补丁,支持VC2010,加快了启动速度 2010.03.01 (Beta release.)
- [C] 让VC、BCB支持C99的整数类型(stdint.h、inttypes.h)(兼容GCC)
- 让VC2010的PropertyGrid支持日期下拉选择
- [C] 让VC、BCB支持C99的整数类型(stdint.h、inttypes.h)(兼容GCC)
- Visual.Assist.X.V10.6.1810的破解文件,终于支持VC2010了,内牛满面 2010.01.22 (Beta release.)
- 【原创】vc2010下设置应用程序的默认运行权限