두 언어 모두 단일 프로그램/라이브러리가 여러 파일로 확장 될 수있는 방법이 있습니다. C 언어는 명시 적으로 작성된 헤더 파일을 사용하여 include 문을 사용하지만 Fortran에서는 컴파일러가 단일 모듈에서 인터페이스를 생성합니다. 어느 언어가 어떻게 소스 코드를 컴파일하는지 오해한다면 미리 용서 해주십시오.소스가 어떻게 서로 연결되고 함께 컴파일되는 지에 대한 Fortran과 c의 미묘한 차이점
c/C++ 프로그램에서 일반적으로 소스 코드를 포함하고있는 .c 파일과 코드에 대한 인터페이스가 들어있는 .h 파일을 만들어 다른 소스 파일이 소스에있는 파일을 예상 할 수있게 한 다음 라이브러리로 모두 함께 컴파일합니다 , 객체 파일 등을 포함 할 수 있습니다.
Fortran 프로그램 (90+)에서는 별도의 모듈에 코드를 넣을 수 있으며 각 모듈에 대한 헤더/인터페이스 파일을 명시 적으로 작성하는 대신 컴파일러에서 인터페이스를 생성하고 배치합니다 컴파일 된 오브젝트 파일 외에도 별도의 2 진 파일 (.mod 파일)로 변환 할 수 있습니다. 라이브러리, 오브젝트 파일 등을 만들려면 함께 컴파일/링크해야합니다.
왜 이러한 언어가 인터페이스를 컴파일하는 방식에는 미묘한 차이가 있습니까? 어느 언어의 오랜 역사에서 기인 한 단점입니까?
포트란 표준은'.mod' 파일에 대해 아무 말도하지 않습니다. – francescalus
다른 언어가 동일한 방법을 수행하기 위해 다른 접근 방식을 사용할 수 없다면 얼마나 많은 언어를 사용할 수 있습니까? – Dmitri
네, 대부분 각 언어의 개발 기록의 유물입니다. 그리고 다른 언어 (예 : 자바)는 자신의 일을합니다. 두 개의 다른 언어가 여러 소스 파일에서 코드를 컴파일하고 연결하는 데 동일한 규칙을 사용한다고 기대할 이유가 없습니다. –