我想将数据与!DIR$ ATTRIBUTES ALIGN:NBYTE::X
对齐,其中NBYTE
是在编译时定义的。我目前处于每个源文件的顶部
#ifndef NBYTE
#define NBYTE 64
#endif
但是,如果我在任何地方都使用NBYTE
变量,我就不能定义它。所以我的两个问题是:
大多数编译器允许您使用C类型预处理器预处理源。同时,它们允许您通过编译器的命令行传递预处理器宏。在gfortran
中,您可以使用以下语法:
-Dname=definition
:定义的内容被标记化并处理,好像它们出现在#define
指令的翻译阶段三期间。特别是,定义将被嵌入的换行符截断。