我想知道Microsoft Visual Studio 2010是否支持C99。如果没有,我如何使用intptr_t
和uintptr_t
等标准类型?
答案 0 :(得分:11)
Visual Studio 2010不支持C99语法。 stdint.h
是所有C / C ++编译器中非常常见的文件,它存在于Visual C ++ 10.0安装中,包含在Windows SDK中(无论您使用的是哪种版本的Visual Studio)。
stdint.h可以在:
找到此文件确实为intptr_t
提供了typedef。您可以在任何您喜欢的C或C ++项目中使用它。
答案 1 :(得分:8)
据我所知,Visual Studio 2010不支持C99。要使用stdint.h中的类型,您必须使用typedef。跨平台的方法是:
#ifdef _WIN32
typedef signed short int16_t
#else
#include <stdint.h>
#endif
答案 2 :(得分:2)
Microsoft C不支持C99。但是,MSVC 16(Visual Studio 2010提供的内容)实现了即将推出的C ++ 0x标准的很大一部分。 C ++ 0x包含了C99中的一些头文件,例如stdint.h
和inttypes.h
- 这就是为什么你得到一些带有MSVC 16的C99的花絮。
感谢小事(我希望MSVC在编译直接C文件时支持更多的C99)。