Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C99 stdint.h标头和MS Visual Studio_C++_C_Visual Studio_C99 - Fatal编程技术网

C++ C99 stdint.h标头和MS Visual Studio

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

令我惊讶的是,我刚刚发现MSVisualStudio2003中缺少C99 stdint.h。我相信他们有他们的理由,但有人知道我可以在哪里下载副本吗?如果没有此标题,我就没有有用类型的定义,如uint32\u t等。

事实证明,您可以从以下位置下载此标题的MS版本:

可在此处找到便携式的:


感谢博客。

< 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>。可以在C:\程序文件\微软Visual Studio 10 \VC中包含< /COD> < /P> Boost是C++,问题是C99 IT不清楚-他在VisualStudio中询问C99头,而不指定他使用的语言。无论如何,它不可能是C99,因为Microsoft不支持它。OP需要的是
,而不是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和定义U64(U)(U.O.S.U.ULE)< /代码>,以及对于在代码< STD::< /代码>中喜欢的C++用户。从PoSLIB维基百科文章中,链接授权是:用户名:客户,密码:Guest123Grand总共3个提交,最后一个日期为2006年9月。