【发布时间】:2011-01-05 21:04:54
【问题描述】:
gcc c99 MS2005/2008
我已经启动了将在 linux/windows 上编译的程序。
程序将在 linux 上使用 gcc 4.4.1 c99 编译。在 Windows 上,编译器将是 MS 2005/2008。这是我无法改变的。
我正在使用 SCons 创建构建文件。但是,我选择 c99 的原因是我可以使用 stdint.h,因此我的整数将在不同架构之间兼容,即 x86_32 和 64 位。使用 int32_t 所以它可以在 32 位和 64 位机器上编译没有任何问题。
但是,我刚刚发现 c99 不用于 ms 编译器。只有c89。但是,c89 没有 stdint.t。
我想知道在 32 或 64 上运行的不同编译器之间使整数可移植的最佳方法是什么。
非常感谢您的建议,
【问题讨论】:
-
请注意,MSVC 不支持很多 C99 功能。对于 Linux 和 Windows 之间的可移植性,最好使用 C89。
标签: c