-D

适用的调用

表 1. 接受给定选项的调用
选项 xlc (编译 C) xlC (编译 C++) xlclang(编译 C) xlclang++(编译 C++)
-D
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表

类别

语言元素控件

等效编译指示

无。

用途

像在 #define 预处理器伪指令中一样定义宏。

语法

读取语法图跳过可视语法图  -D 名称 =定义

缺省值

不适用。

参数

名称
您要定义的宏。 -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 选项为特定调用命令预先定义多个宏名称。 有关详细信息,请参阅系统的配置文件。

示例

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

相关信息