C99 stdint.h头文件和MS Visual Studio

令我惊奇的是,我发现C99 stdint.h从MS Visual Studio 2003中向上丢失了。 我相信他们有他们的理由,但有谁知道我可以在哪里下载副本? 没有这个头文件,我没有定义有用的types,如uint32_t等

原来,你可以从这个头下载MS版本:

https://github.com/mattn/gntp-send/blob/master/include/msinttypes/stdint.h

一个便携式的可以在这里find:

http://www.azillionmonkeys.com/qed/pstdint.h

感谢软件Rambling的博客。

只要自己定义它们。

 #ifdef _MSC_VER typedef __int32 int32_t; typedef unsigned __int32 uint32_t; typedef __int64 int64_t; typedef unsigned __int64 uint64_t; #else #include <stdint.h> #endif 

更新: Visual Studio 2010Visual C ++ 2010 Express都有stdint.h 。 它可以在C:\Program Files\Microsoft Visual Studio 10.0\VC\include

Visual Studio 2003 – 2008(Visual C ++ 7.1 – 9)不声称与C99兼容。 (感谢rdentato的评论。)

Boost包含您正在寻找的types的cstdint.hpp头文件: http : //www.boost.org/doc/libs/1_36_0/boost/cstdint.hpp

微软不支持C99,并没有宣布任何计划。 我相信他们打算追踪C ++标准,但是认为C作为C ++的一个子集是有效过时的。

Visual Studio 2003及更高版本中的新项目默认设置为“编译为C ++代码(/ TP)”选项,因此任何.c文件都将被编译为C ++。

另一种便携式解决

POSH:便携式开源线束

“POSH是一个简单,便于使用,易于使用,易于集成,灵活的开源”线束“,旨在使编写跨平台库和应用程序的创build和移植工作明显减less。

http://poshlib.hookatooka.com/poshlib/trac.cgi

如书中所描述和使用的那样:编写便携式代码:开发用于多个平台的软件的介绍作者:Brian Hook http://books.google.ca/books?id=4VOKcEAPPO0C

-Jason