vc6找不到stdint.h VS中C编译器只保证支持C90 C++支持98或11 不包括C99

原创 2015年11月17日 23:53:20

vc6 中

 #include <stdint.h>

报错,提示找不到。 解法是 去掉,手动定义 uint8_t 等 或者使用下面 msinttypes提供的文件

The C99 standard includes definitions of several new integer types to enhance the portability of programs[2]. The already available basic integer types were deemed insufficient, because their actual sizes are implementation defined and may vary across different systems. The new types are especially useful in embedded environments where hardware supports usually only several types and that support varies from system to system. All new types are defined in inttypes.h header (cinttypes header in C++) and also are available at stdint.h header (cstdint header in C++). The types can be grouped into the following categories:

翻译就是:C99包括一些新的整型的定义,已经有的一些整型的定义是不够的,因为他们的真实尺寸可能在不同的系统上有所不同。新定义的类型尤其在嵌入式环境中有用。所有的新类型定义在 inttypes.h (C++是 cinttypes) 中,也可以通过 stdint.h (c+++是 cstdint ) 去访问

有一个项目 msinttypes 提供 VS所缺失的 stdint.h 和 inttypes.h 等文件
MSVC是不支持C99 的, Herb Sutter 在他的博客上
(http://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/) 说了。

简言之就是 Visual C++ 的重点是支持 被 ISO C90 或者 ISO C++(98 或11) 支持的ISO C 代码

MSVC所支持 C99/C11 只是 ISO C++98/C++11的一个子集,所以是支持大部分C99的,但不是全部的
从VC++ 2010开始就完全支持C++98中 C的子集,包括< stdint.h > 和在块中间声明等
为了保持向后兼容,所以提供一个C90的编译器,只接受C90 而不是C++

他们也没有计划支持 那些 不是C90或ISO C++一部分的 ISO C的特性

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

c99标准下的头文件<stdint.h>

stdint.h中定义了一些整数类型,规则如下(其中N可以为8,16,32,64)   intN_t, int_leastN_t, int_fastN_t表示长度为N位的整型数;   uint...

C++中动态创建二维数组——尴尬的不支持C99的VC

很多老外公布出来的算法代码都是在Linux下实现的。很多时候会遇到这种形式的变量定义。Graph::node_id node[height][width];VC的编译器不支持这种动态数组定义,因此要改...

C Primer Plus 6 笔记——可移植类型:stdint.h和inttypes.h

C Primer Plus 6 笔记——可移植类型:stdint.h和inttypes.  C语言提供了许多有用的整数类型。但是,某些类型名在不同系统中的功能不一样。C99新增了两个头文件stdint...

C标准库源码解剖(11):扩展整数类型stdint.h和inttypes.h

C语言的基本精神是让实现选择标准类型的长度,但是这种指导思想使可移植代码难以编写。C99中引入了stdint.h和inttypes.h,对整数类型的定义和格式转换进行了规范。这种扩展整数类型的定义非常...

C/C++宏定义的可变参数(VC6不支持可变参数宏)

http://www.vimer.cn/2010/03/cc%E5%AE%8F%E5%AE%9A%E4%B9%89%E7%9A%84%E5%8F%AF%E5%8F%98%E5%8F%82%E6%95%...

ArtisticStyle----很好用的C/C++样式格式化工具(支持VC6)

下载地址: http://srgb.googlecode.com/files/AStyle_2.02_windows.7z 把astyle.exe 复制到 C:\WINDOWS 目录里,省的指...

C标准:C90、C99、C11

C语言原来是没有统一的标准的,第一个标准是90
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)