fortran Include用法疑问
本人VS2010 ,Intel Fortran2014。代码文件为.f后缀我的问题是:
#include ‘para.h’与include ‘para.h’[没有#号]有什么区别? 这是别人原来的程序,他的程序里都没有‘#’号,但编译会出错,在前边加‘#’号就恢复正常,不知道为什么?
或者看一下下边的代码(两个文件在同一个文件夹下,test_for_preprocessor.f和para.h):
!****************************test_for_preprocessor.f文件内容***********************************
program xx
# include 'pars.h' !有没有‘#’号很关键,为什么?
integer x
x=I_MAX
write(*,*)x,J_MAX,K_MAX
end
!****************************para.h文件内容***********************************
# define I_MAX 41
# define J_MAX 21
# define K_MAX 61
include 不是标准语法。
加 # 的是 fpp 的预处理指令。
不加 # 的是 ivf 扩展的 include。
两者使用上没有区别。
但编译器执行的顺序是,先前者,后后者。
所以,如果被包含的 pars.h 里存在其他的预处理指令(如 #define),那么就只能用 #include,而不能用 include。
因为执行后者的时候,不能再返回去执行前者了。
fcode 发表于 2015-8-30 14:21
include 不是标准语法。
加 # 的是 fpp 的预处理指令。
不加 # 的是 ivf 扩展的 include。
非常感谢!一年多没有学习,思维已经跟不上了 ~
页:
[1]