标题stdint.h如何在每台机器上将u32定义为32位?有人可以详细说明stdint.h做到这一点的过程吗?我在哪里可以找到我的机器(Windows 7)stdint.h文件?C类型声明intN_t
1
A
回答
2
stdint.h在C99中(2008版以下的VC++仅实现C89),因此要在Win7机器上安装此文件,需要安装VisualStudio 2010(或更高版本)。然后,此文件位于MSVS安装的“VC \ include \ stdint.h”文件夹中。
MinGW(用于Win32的gcc工具链)和Cygwin(用于Windows机器的POSIX层)也在其“include”目录中包含stdint.h文件。
对于你的问题:uintN_t类型背后的“魔术”通常使用条件编译来实现。可能会有一些预定义符号(由编译器),如Windows上的_WIN32和x64目标上的_WIN64。
对于2008年之前的版本的VisualStudio中有一个单独的stdint.h实现:http://msinttypes.googlecode.com/svn/trunk/stdint.h
3
编译器工具链的C标准库的提供者将确保该特定部署的正确性。据推测,他们被允许使用任何必要的手段来确保情况确实如此。它可以像知道是否将其定义为int或long一样简单。
+0
'intN_t'总是'typedef'存在时(这些类型是可选的)。 – ouah 2012-07-16 17:02:31
相关问题
- 1. C++抽象类型声明
- 2. C#匿名类型声明
- 3. 什么c#类类型声明说?
- 4. C++类声明
- 5. Java类型声明
- 6. Data.Map类型声明
- 7. 无类型声明
- 8. 声明typedef类型
- 9. Storage.prototype.setObject声明类型
- 10. 声明的类型
- 11. 空类型声明
- 12. 读取C指针类型声明
- 13. C#类型参数为通用声明
- 14. ISO C++禁止声明...没有类型
- 15. C++模板变量类型声明
- 16. C++指定与数据类型声明
- 17. C++中的向量声明类型
- 18. C中的类型声明(概念)
- 19. ISO C++禁止声明''没有类型?
- 20. Java泛型 - 类型声明
- 21. 类未声明? (C++)
- 22. 类声明在C++
- 23. 无法为Kubernetes API类型声明声明Kind类型
- 24. 前置声明型和“非类类型已经被声明为类型”
- 25. 声明包含C++类型ivar的obj-c类接口
- 26. Ada类型声明语义
- 27. 新类型声明函数?
- 28. 未声明类型adter'swift build'
- 29. Map.lookup - 类型声明错误
- 30. 数组的类型声明
'stdint.h'在进入POSIX之前来自C99。 – ouah 2012-07-16 17:00:18
好点,我会解决的:) – 2012-07-16 17:00:58