我曾以为C风格的宏定义在gfortran中可以使用?
#define ERROR_CHECKER(msg,stat) \
IF (stat.NE.0) THEN \
DO i = 1,BIG \
IF(msg(i).NE.C_NULL_CHAR)THEN \
ErrMsg(i:i) = msg(i) \
ELSE \
EXIT \
END IF \
END DO\
IF(stat.EQ.1) THEN \
ErrStat = ID_Warn \
ELSE \
ErrStat = ID_Fatal \
RETURN \
END IF \
END IF
但是这个错误毁了我的一天:
IF (stat.NE.0) THEN DO i = 1,BIG IF(message
1
Error: Cannot assign to a named constant at (1)
你知道我在这里做错了什么吗?
其次,问题是:intel fortran是否识别c风格的宏?如果是,则需要编译器标志吗?
\\
在生成的代码中没有产生换行符。(在ifort -fpp中也不起作用,我刚刚检查过了。) - agentp