ホームページ  >  記事  >  バックエンド開発  >  GCC を使用して Fortran と C バイナリをリンクするには?

GCC を使用して Fortran と C バイナリをリンクするには?

DDD
DDDオリジナル
2024-10-26 21:31:03602ブラウズ

How to Link Fortran and C   Binaries Together Using GCC?

Fortran および C バイナリと GCC のリンク

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 を含めることができます。 library:

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

これらのライブラリを含めることで、シンボルの適切な解決が保証され、リンクされたバイナリのスムーズな実行が可能になります。

以上がGCC を使用して Fortran と C バイナリをリンクするには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。