を使用しないと、一部のC行を含むテキストファイルがfortran77コードに含まれる理由を理解できません#include
。基本ファイルに追加するいくつかのテキストを読む必要があるコード例を作成しましたtest.F
。
program testInclude
include 'includetest.txt'
end program
includetest.txt
含めるファイルには、次の内容が含まれます。
#define _TEST_
#ifdef _TEST_
write(*,*) 'check'
#endif
これをコンパイルすると、gfortran test.F
次の警告が表示されます。
includetest.txt:2:2:
2 | #define _TEST_
| 1
Warning: Illegal preprocessor directive
includetest.txt:3:2:
3 | #ifdef _TEST_
| 1
Warning: Illegal preprocessor directive
includetest.txt:5:2:
5 | #endif
| 1
Warning: Illegal preprocessor directive
の2行目の#include
代わりに使用すると、警告は表示されません。 FortranステートメントとCステートメントは同じことを行い、他のファイルにいくつかのテキスト行を追加しないでください。警告とはどういう意味ですか?include
test.F
include
#include
これは、ArchとMac OS Xのgcc 12.2.0とCentOSのgcc 4.8.5で発生します。
答え1
プリプロセッサ#includeディレクティブに含まれるファイルには、#defineなどを含めることができます。コンパイラーに含まれるファイルのINCLUDEステートメントには、FORTRANステートメントのみを含める必要があります。