2011-12-26 3 views
4

당신은 다음 작업을 수행 할 수 있습니다 제발 방법을 말해 수 없습니다.Gfortran 전 처리기 지시문

+2

gfortran 설명서에는 전처리기를 사용하는 방법에 대한 지침이 들어 있습니다. 그들에게 당신에게 명확하지 않은 것이 있습니까? – eriktous

답변

9

이 작업은 조건부 컴파일과 명령 줄에서 "D"옵션을 함께 사용하여 수행 할 수 있습니다. 여기에 몇 가지 예제 코드는 다음과 같습니다

program test_Dopt 
character (len=1) :: pathsep 
pathsep = "?" 
#ifdef WOS 
    pathsep = "\" 
#endif 
#ifdef UOS 
    pathsep = "/" 
#endif 

write (*, '("pathsep is >", A1, "<")') pathsep 

end program test_Dopt 

이름 파일 형식의 F90와 프로그램이 프리 프로세서를 실행하거나 컴파일 라인에 -cpp 사용하는 gfortran이 발생할 수 있습니다. 그런 다음 옵션을 컴파일러에서 D 다음에 포함하여 prepreprocessor에 전달합니다 (예 : gfortran -DWOS). (이것은 일반적으로 gfortran보다 일반적입니다 - 대부분의 Fortran 컴파일러는 C 스타일의 전 처리기 명령을 처리 할 것입니다.) 그런 다음 Fortran 외부의 OS를 식별하여 Fortran 프로그램에 전달할 수 있습니다.

파일 유형 F90 또는 -cpp를 사용하여 코드를 컴파일 할 수 있습니다.

+0

'__unix__'과'_WIN32'는 대부분의 컴파일러에서 어떤 시스템을 사용하고 있는지를 나타내는 데 사용되는 미리 정의 된 선행 처리기 플래그입니다. – Chris