Maison >développement back-end >C++ >Comment lier les binaires Fortran et C ensemble à l'aide de GCC ?

Comment lier les binaires Fortran et C ensemble à l'aide de GCC ?

DDD
DDDoriginal
2024-10-26 21:31:03672parcourir

How to Link Fortran and C   Binaries Together Using GCC?

Lier les binaires Fortran et C avec GCC

Pour connecter le code C et Fortran à l'aide de gcc, certaines étapes doivent être suivies.

Supposons que vous ayez le code suivant :

// 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;
}

Après avoir compilé les fichiers objets individuels à l'aide de

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

Pour lier ces binaires entre eux, vous devez inclure le fichier approprié bibliothèques. Lorsque vous utilisez g , vous devez ajouter la bibliothèque Fortran en utilisant :

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

Cela inclut la bibliothèque nécessaire pour les fonctions Fortran.

Alternativement, si vous utilisez gfortran, vous pouvez inclure le C bibliothèque :

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

L'inclusion de ces bibliothèques garantit une résolution correcte des symboles et permet une exécution fluide du binaire lié.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn