C++ C99 stdint.h标头和MS Visual Studio
令我惊讶的是,我刚刚发现MSVisualStudio2003中缺少C99 stdint.h。我相信他们有他们的理由,但有人知道我可以在哪里下载副本吗?如果没有此标题,我就没有有用类型的定义,如uint32\u t等。事实证明,您可以从以下位置下载此标题的MS版本: 可在此处找到便携式的:C++ C99 stdint.h标头和MS Visual Studio,c++,c,visual-studio,c99,C++,C,Visual Studio,C99,令我惊讶的是,我刚刚发现MSVisualStudio2003中缺少C99 stdint.h。我相信他们有他们的理由,但有人知道我可以在哪里下载副本吗?如果没有此标题,我就没有有用类型的定义,如uint32\u t等。事实证明,您可以从以下位置下载此标题的MS版本: 可在此处找到便携式的: 感谢博客。 < P> Visual Studio 2003—2008(Visual C++ 7.1—9)不主张C99兼容。(感谢rdentato的评论。)你自己定义一下 #ifdef _MSC_VER t
感谢博客。
< P> Visual Studio 2003—2008(Visual C++ 7.1—9)不主张C99兼容。(感谢rdentato的评论。)你自己定义一下#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
\ifdef\u MSC\u VER
类型定义为int32 int32 t;
typedef无符号输入32 uint32;
类型定义为int64 int64 t;
typedef unsigned\uu int64 uint64\u t;
#否则
#包括
#恩迪夫
Boost包含cstdint.hpp头文件,其中包含您要查找的类型:Microsoft不支持C99,并且尚未宣布任何计划。我相信他们打算跟踪C++标准,但是把C看作是过时的,除了作为C++的一个子集。
VisualStudio 2003和以后的新项目默认设置为“编译为C++代码(/TP)”选项,因此.c文件将被编译为C++ +< /p> < P>另一个便携式解决方案: POSH:便携式开源工具 POSH是一种简单、可移植、易于使用、易于集成、灵活、开放源代码的“工具”,旨在使编写跨平台库和应用程序的过程大大减少创建和移植的繁琐 如本书所述和使用: 编写可移植代码:多平台软件开发简介 布莱恩·胡克
杰森
< P>更新:<强> VisualStudio 2010 和<> St+C++ 2010 Express 两个都有<代码> Stdit .h < /C>。可以在
,而不是Boost头文件的副本。MSVC的stdint.h是一个公共域(不是MIT/BSD许可证-您甚至不需要保留版权归属)(由MinGW稍微修改的版本):第一个链接404s修改了原始答案,但:svn链接已失效,因为它是对此的更新:MSVC 2010现在包含stdint.h
通过此博客查看:,VS 2015预览版完全支持C99标准库(唯一的遗漏是TgMax.h,它需要C编译器魔术,与C++有关联,它具有超载,CXLimLimeDeLeaReal/Fpxx契约也需要编译器支持)。我是否丢失了什么东西?或者它不应该是Type无符号的?(U.S.UI64)< /COD> Windows和