标题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. 类名不声明类型C++
- 6. C++类声明
- 7. Haskell类型声明
- 8. 无类型声明
- 9. 声明新类型
- 10. Data.Map类型声明
- 11. Java类型声明
- 12. 声明的类型
- 13. 声明typedef类型
- 14. Storage.prototype.setObject声明类型
- 15. 空类型声明
- 16. C++指定与数据类型声明
- 17. ISO C++禁止声明''没有类型?
- 18. ISO C++禁止声明...没有类型
- 19. C中的类型声明(概念)
- 20. 如何在C++中声明HashMap类型
- 21. C#类型参数为通用声明
- 22. 读取C指针类型声明
- 23. C++模板变量类型声明
- 24. C++中的向量声明类型
- 25. 声明函数的类型为struct C++
- 26. iso C++禁止通用类型声明
- 27. 解析C类型声明的库?
- 28. Java泛型 - 类型声明
- 29. 类未声明? (C++)
- 30. 类声明在C++
'stdint.h'在进入POSIX之前来自C99。 – ouah 2012-07-16 17:00:18
好点,我会解决的:) – 2012-07-16 17:00:58