>백엔드 개발 >C++ >GCC를 사용하여 Fortran과 C 바이너리를 함께 연결하는 방법은 무엇입니까?

GCC를 사용하여 Fortran과 C 바이너리를 함께 연결하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-26 21:31:03684검색

How to Link Fortran and C   Binaries Together Using GCC?

GCC와 Fortran 및 C 바이너리 연결

gcc를 사용하여 C와 Fortran 코드를 연결하려면 특정 단계를 따라야 합니다.

다음 코드가 있다고 가정합니다.

// print_hi.f90
subroutine print_hi() bind(C)
  implicit none
  write(*,*) "Hello from Fortran."
end subroutine print_hi

// main.cpp
#include <iostream>
extern "C" void print_hi(void);
using namespace std;
int main() {
  print_hi();
  cout << "Hello from C++" << endl;
  return 0;
}

gfortran -c print_hi.f90 -o print_hi.o
g++ -c main.cpp -o main.o

를 사용하여 개별 개체 파일을 컴파일한 후 이러한 바이너리를 함께 연결하려면 적절한 파일을 포함해야 합니다. 도서관. g 를 사용할 때 다음을 사용하여 Fortran 라이브러리를 추가해야 합니다:

g++ main.o print_hi.o -o main -lgfortran

여기에는 Fortran 기능에 필요한 라이브러리가 포함되어 있습니다.

또는 gfortran을 사용하는 경우 C를 포함할 수 있습니다. 라이브러리:

gfortran main.o print_hi.o -o main -lstdc++

이러한 라이브러리를 포함하면 기호의 적절한 해석이 보장되고 연결된 바이너리가 원활하게 실행될 수 있습니다.

위 내용은 GCC를 사용하여 Fortran과 C 바이너리를 함께 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.