-D
适用的调用
| 选项 | xlc (编译 C) | xlC (编译 C++) | xlclang(编译 C) | xlclang++(编译 C++) |
|---|---|---|---|---|
| -D | ✓ | ✓ | ✓ | ✓ |
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表 。
类别
等效编译指示
无。
用途
像在 #define 预处理器伪指令中一样定义宏。
语法
缺省值
不适用。
参数
- 名称
- 您要定义的宏。 -D 名称相当于
#define name。 例如,-DCOUNT 等效于#define COUNT。 - definition
- 要分配给名称的值。 -D name = definition 相当于
#define name definition。 例如, -DCOUNT=100 相当于#define COUNT 100。
使用量
如果使用 #define 伪指令来定义已由 -D 选项定义的宏名称,那么将导致错误情况。
为了帮助程序可移植性和标准一致性,操作系统提供了一些引用宏名称的头文件,您可以使用 -D 选项进行设置。 可以在 /usr/include 目录或 /usr/include/sys 目录中找到大多数这些头文件。 要确保为源文件定义了正确的宏,请使用带有适当宏名称的 -D 选项。 例如,如果源文件包含 /usr/include/sys/stat.h 头文件,那么必须使用选项 -D_POSIX_SOURCE 进行编译,以选取该文件的正确定义。
-Uname 选项用于取消定义由 -D 选项定义的宏,其优先级高于 -Dname 选项。
预定义的宏
编译器配置文件使用 -D 选项为特定调用命令预先定义多个宏名称。 有关详细信息,请参阅系统的配置文件。
示例

AIX® 4.2 及更高版本支持大小超过 2 千兆字节的文件,因此您可以将大量数据存储在单个文件中。 要在应用程序中允许大文件处理,请使用 -D_LARGE_FILES 和 -qlonglong 编译器选项进行编译。 例如:
xlc myprogram.c -D_LARGE_FILES -qlonglong
指定名称的所有实例COUNT替换为 100。myprogram.c,请输入:
xlc myprogram.c -DCOUNT=100

相关信息
- -U
- 编译器的预定义宏
- AIX 文件参考中的 “头文件”
