用于预处理Fortran代码的CPP -D选项

时间:2018-05-22 07:51:02

标签: c++ fortran

我试图理解一个makefile,其中一个Fortran代码与cpp一起用于以下方式进行预处理,

cpp -P -traditional -DMPI -DLINUX -DX86_64 -DGFORTRAN -D'HEADER="testfile.h"' -D'ROOT_DIR="/home/Desktop"'...-D'FILE_DIR="/home/Desktop/MYFILES"' -I/usr/local/include file.F

我理解include目录的用法,但我无法理解此处列出的-D选项(命名为CPPFLAGS)的用途。我看到如果我删除任何-D选项,我的输出被修改(我只得到程序的开始和结束,中间没有文字)。

编辑:我有一个ifdef选项列表,我的makefile使用不同的子目录和-D选项。在这些目录中查找的是什么,定义了该选项的文件?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你只想弄清楚-D的含义。 gcc -D定义了预处理器使用的宏。 语法如下:

$ gcc -Dname [options] [source files] [-o output file]
$ gcc -Dname=definition [options] [source files] [-o output file]

如果删除任何-D,则表示未定义此宏。所以你的输出可能会改变。