Sun Studio 12:Fortran 用户指南

3.4.12 –Dname[=def]

为预处理程序定义符号 name

此选项仅适用于 .F.F90.F95.F03 源文件。

–Dname=defname 定义为具有值 def

–Dnamename 定义为 1

在命令行上,此选项将定义 name,就如同

#define name[=def]

已经出现在源文件中。如果未指定 =def,则名称 name 将定义为值 1。宏符号 name 将传递给预处理程序 fpp(或 cpp-请参见 -xpp 选项)以进行扩展。

预定义的宏符号具有两个前导下划线。Fortran 语法可能不支持这些宏的实际值-它们只应出现在 fppcpp 预处理程序指令中。(请注意两个前导下划线。)

使用详细选项 (-v) 进行编译可查看由编译器创建的定义。

您可以在类似如下的预处理程序条件中使用这些值:

#ifdef _ _sparc

缺省情况下,f95 使用 fpp(1) 预处理程序。与 C 预处理程序 cpp(1) 一样,fpp 会扩展源代码宏并允许对代码进行条件编译。与 cpp 不同的是,fpp 能够识别 Fortran 语法,并作为首选的 Fortran 预处理程序。使用 -xpp=cpp 标志可以强制编译器明确使用 cpp 而非 fpp