이름 짓기와 인자 전달 규약
이름 짓기와 인자 전달 규약 (Naming and argument-passing conventions)
Fortran 코드를 다른 언어나 다른 컴파일러와 섞어 쓸 때, "함수 이름이 실제 심볼 테이블에서 어떻게 보이는지"와 "인자가 어떻게 전달되는지"가 성패를 가르는 경우가 많아요. 이 절은 GNU Fortran이 쓰는 이름 짓기 규약과 인자 전달 규약을 개괄해요.
본문
이 절은 GNU Fortran이 사용하는 절차(procedure)와 전역 변수의 이름 짓기 규약, 그리고 인자 전달 규약에 대한 개요를 제공해요.
여기서 중요한 선결 조건이 하나 있어요. 만약 C 바인딩(BIND(C))이 지정되어 있다면, 이름 짓기 규약과 일부 인자 전달 규약이 달라져요. 즉 "바인딩이 없을 때의 규약"과 "바인딩이 있을 때의 규약"이 서로 다르다는 뜻이에요.
그래서 혼합 언어나 혼합 컴파일러 프로젝트는, 가능하다면 더 잘 정의된 C 바인딩을 사용해서 상호운용성을 확보하는 게 좋아요. C 바인딩을 쓰면 이름과 인자 전달 방식이 C와의 상호운용 표준에 맞춰 명확해지기 때문에, 컴파일러나 언어를 넘나들어도 오류가 날 여지가 훨씬 줄어들어요. 이에 대한 자세한 내용은 Interoperability with C 절을 참고하면 돼요.
이 절 아래에는 두 개의 하위 절이 있어요.
- Naming conventions (이름 짓기 규약)
- Argument passing conventions (인자 전달 규약)
혼합 언어 개발을 시작할 때는 이 개요 페이지부터 읽어서 "규약이 어디에서 갈리는지"를 파악한 뒤, 해당하는 하위 절로 들어가는 흐름이 자연스러워요.
더 알아보기
- 이름 짓기 규약(Naming conventions)
- 인자 전달 규약(Argument passing conventions)
- C와의 상호운용(Interoperability with C)