디렉터리 검색 옵션(Options for directory search)
디렉터리 검색 옵션(Options for directory search)
GNU Fortran이 INCLUDE 지시문으로 지정된 파일과, 미리 컴파일된 모듈(.mod)을 어디서 찾는지 다루는 옵션들을 설명하는 문서예요. -I, -J, -fintrinsic-modules-path가 핵심이에요.
본문
이 옵션들은 GNU Fortran이 INCLUDE 지시문으로 지정된 파일을 어떻게 찾는지, 그리고 이전에 컴파일된 모듈을 어디서 검색하는지에 영향을 줘요. 또 Fortran 소스를 전처리할 때 cpp가 사용하는 검색 경로에도 영향을 줘요.
-Idir
이 옵션은 INCLUDE 지시문(그리고 cpp 전처리기의 #include 지시문)의 해석에 영향을 줘요. -I와 INCLUDE의 전반적인 동작은 cpp 전처리기에서 -I와 #include의 관계와 거의 같아요. 헤더 파일이나 그런 것들을 찾는 방식도 비슷하죠.
또한 이 경로는 USE 문으로 이전에 컴파일된 모듈이 필요할 때 .mod 파일을 검색하는 경로로도 쓰여요.
-I 옵션에 대한 자세한 내용은 GCC 사용 설명서의 디렉터리 검색 옵션 절을 참고하면 돼요.
-Jdir
이 옵션은 컴파일된 모듈의 .mod 파일을 어디에 둘지 지정해요. 그리고 USE 문이 검색하는 디렉터리 목록에도 추가돼요. 기본값은 현재 디렉터리예요.
-fintrinsic-modules-path dir
컴파일러가 기대하는 기본 위치에 사전 컴파일된 내장 모듈(intrinsic module)이 없다면, 이 옵션으로 해당 모듈들의 위치를 지정해요.
더 알아보기
-I는INCLUDE/#include와.mod검색에 함께 쓰이지만,-J는 출력(.mod를 어디에 쓸지)을 지정하면서 동시에 검색 목록에도 추가된다는 차이가 있어요.USE로 모듈을 가져올 때 못 찾으면, 해당.mod가 있는 디렉터리가-I또는-J경로에 포함되어 있는지부터 확인하면 돼요.- 모듈을 프로젝트별로 관리한다면
-J로 산출물 디렉터리를 고정해 두는 게 깔끔해요. 그러면 소스와 생성물을 분리할 수 있어요.