1

我正在尝试test.cpp在 AIX 系统上使用 IBM xlC 编译器编译示例 c++ 文件。该文件应在 32 位和 64 位模式下编译。我正在使用以下命令在两种模式下编译它们:

xlC test.cpp(默认编译器模式为 32 位)

xlC -q64 test.cpp

在下,如果编译为 32 位,如果编译为 64 位test.cpp,我必须这样做。printf("Using 32-bit compiler")printf("Using 64-bit compiler")

如何使用预处理器条件来实现这一点?是否有用于编译器或机器架构的预定义宏来说明区别?

4

1 回答 1

2

在 XLC 中,如果您使用-q64标志,则定义宏__64BIT__

直接来自IBM XL C/C++ 的文档

如果在 64 位模式下调用编译器,__64BIT__则定义预处理器宏。

于 2010-12-27T06:19:10.563 回答