Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Memautkan Fortran dan Binari C Bersama Menggunakan GCC?

Bagaimana untuk Memautkan Fortran dan Binari C Bersama Menggunakan GCC?

DDD
Lepaskan: 2024-10-26 21:31:03
asal
698 orang telah melayarinya

How to Link Fortran and C   Binaries Together Using GCC?

Memautkan Fortran dan Binari C dengan GCC

Untuk menyambungkan kod C dan Fortran menggunakan gcc, langkah tertentu mesti diikuti.

Andaikan anda mempunyai kod berikut:

// 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;
}
Salin selepas log masuk

Selepas menyusun fail objek individu menggunakan

gfortran -c print_hi.f90 -o print_hi.o
g++ -c main.cpp -o main.o
Salin selepas log masuk

Untuk memautkan binari ini bersama-sama, anda perlu memasukkan yang sesuai perpustakaan. Apabila menggunakan g , anda harus menambah perpustakaan Fortran menggunakan:

g++ main.o print_hi.o -o main -lgfortran
Salin selepas log masuk

Ini termasuk perpustakaan yang diperlukan untuk fungsi Fortran.

Sebagai alternatif, jika anda menggunakan gfortran, anda boleh memasukkan C perpustakaan:

gfortran main.o print_hi.o -o main -lstdc++
Salin selepas log masuk

Memasukkan perpustakaan ini memastikan peleraian simbol yang betul dan membolehkan perlaksanaan lancar binari yang dipautkan.

Atas ialah kandungan terperinci Bagaimana untuk Memautkan Fortran dan Binari C Bersama Menggunakan GCC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan