Heim > Backend-Entwicklung > C++ > Wie verknüpfe ich Fortran- und C-Binärdateien mithilfe von GCC miteinander?

Wie verknüpfe ich Fortran- und C-Binärdateien mithilfe von GCC miteinander?

DDD
Freigeben: 2024-10-26 21:31:03
Original
696 Leute haben es durchsucht

How to Link Fortran and C   Binaries Together Using GCC?

Verknüpfen von Fortran- und C-Binärdateien mit GCC

Um C- und Fortran-Code mithilfe von gcc zu verbinden, müssen bestimmte Schritte befolgt werden.

Angenommen, Sie haben den folgenden Code:

// 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;
}
Nach dem Login kopieren

Nachdem Sie die einzelnen Objektdateien mit kompiliert haben

gfortran -c print_hi.f90 -o print_hi.o
g++ -c main.cpp -o main.o
Nach dem Login kopieren

Um diese Binärdateien miteinander zu verknüpfen, müssen Sie die entsprechenden einschließen Bibliotheken. Wenn Sie g verwenden, sollten Sie die Fortran-Bibliothek hinzufügen mit:

g++ main.o print_hi.o -o main -lgfortran
Nach dem Login kopieren

Dazu gehört die notwendige Bibliothek für Fortran-Funktionen.

Alternativ können Sie, wenn Sie gfortran verwenden, C einschließen Bibliothek:

gfortran main.o print_hi.o -o main -lstdc++
Nach dem Login kopieren

Das Einbeziehen dieser Bibliotheken gewährleistet die ordnungsgemäße Auflösung von Symbolen und ermöglicht eine reibungslose Ausführung der verknüpften Binärdatei.

Das obige ist der detaillierte Inhalt vonWie verknüpfe ich Fortran- und C-Binärdateien mithilfe von GCC miteinander?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage