답변 감사합니다.
그런데 그런 모듈이 없더군요.
위의 예는 값을 읽어들이는 많은 것들 중의 하나인데 어떤 것 은 직접 input file에 값을 입력해야 하고 어떤 것은 그럴 필요가 없는 걸로 봐서 분명히 어디선가 정의가 된 것 같은데 코드가 분량이 많아서 찾지를 못하겠네요. gdb라는 것을 쓰면 될까요?
gbd라는게 여러 모듈로 이루어진 코드도 가능한건가요? 지금 쓰고 있는 코드는 일단 make을 실행하면 *.x라는 파일이 생겨서 이걸 실행시키든지 아니면 start.csh와 run.csh를 차례로 실행시켜야 계산을 시작합니다. 여기에 gbd가 비집고 들어갈 수가 있는지요?
물론입니다. 전체 프로그램중에 디버깅하고자 하는 파일 혹은 함수만 찾아서 디버깅할 수 있는 건 기본이죠. http://infohost.nmt.edu/tcc/help/lang/fortran/gdb.html
좀 더 구체적인 설명은 찾아보실 수 있을거라 믿습니다.
지금 실행하고자 한 shell코드는 단순한 script입니다. 말그대로 순차적인 commands들의 실행이지요. start.csh 나 run.csh파일을 잘 읽어보시면 분명히 fortran 코드를 실행하는 부분을 찾을 수 있을 겁니다.
그 부분을 찾아 gdb로 실행하면 님께서 원하시는 결과를 얻을 수 있을껍니다.
하지만, start.csh 나 run.csh에서 하고 있는 fortran 코드 실행전의 선행작업은 manual로 실행해야 할 필요가 있겠죠.
그렇다면 내장 라이버러리에 정의된 함수일수도 있겠네요.
get_parameter_integer가 들어가는 간단한 프로그램을 짠 다음, 입력에러가 나게해서 그 에러코드를 힌트삼아 가지고, help를 통해서 찾아들어가 보는 방법.
>>어떤 것 은 직접 input file에 값을 입력해야 하고 어떤 것은 그럴 필요가 없는 걸로 봐서
또 이 함수가 실제로 내장함수인 경우는 입(출)력을 제어하는 파라미터일수도 있겠군요. 이 경우, 키보드 입력함수가정의 되어 있어야 하므로, 입출력 환경설정에 관련된 선행 스크립트가 실행되어야 하는 것일 수 도있겠고….또 이경우 common block 에 변수가 물리적 트랜스프없이 참조될수도 있지요.
subroutine 으로 정의되어 있을겁니다.
소스 코드들 모여있는 패쓰에 가셔서..
> grep -e ‘subroutine get_parameter_integer’
아마 어떤 모듈 파일 안에 정의되어 있을겁니다.
포트란 내장 함수는 아니고 유저가 정의한 서브루틴인데..
“nn” 이라는 character 변수를 받아서 nn 이라는 integer 로 돌려주는것 같은데..
소스 코드 들여다 보시면 되겠죠.