를 사용하지 않는 경우 일부 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
의 두 번째 줄에 #include
대신 사용하면 경고가 표시되지 않습니다. 포트란 문과 C 문이 동일한 작업을 수행하고 다른 파일에 텍스트 몇 줄을 추가하면 안 되나요? 경고는 무엇을 의미합니까?include
test.F
include
#include
이는 Arch 및 Mac OS X의 gcc 12.2.0과 CentOS의 gcc 4.8.5에서 발생합니다.
답변1
전처리기 #include 지시문에 포함된 파일에는 #define 등이 포함될 수 있습니다. 컴파일러에 포함된 파일의 INCLUDE 문에는 FORTRAN 문만 포함되어야 합니다.