Bagaimana untuk Memautkan Fortran dan Binari C Tanpa Ketergantungan Perpustakaan Hilang?

Linda Hamilton
Lepaskan: 2024-10-26 03:28:28
asal
871 orang telah melayarinya

 How to Link Fortran and C   Binaries Without Missing Library Dependencies?

Menghubungkan Fortran dan Perduaan C: Menyelesaikan Ketidakpadanan Perpustakaan

Apabila membangunkan projek yang melibatkan kedua-dua kod C dan Fortran, ia menjadi perlu untuk memautkan terhasil binari bersama-sama untuk mencipta program yang padu. Walau bagaimanapun, percubaan untuk menyusun projek sedemikian menggunakan sama ada g atau gfortran sahaja boleh membawa kepada ralat kerana kehilangan kebergantungan perpustakaan.

Untuk menyelesaikan isu ini, adalah penting untuk menggunakan bendera pemautan yang sesuai yang menentukan perpustakaan yang diperlukan untuk bahasa lain.

Penyelesaian untuk Memautkan Perduaan C dan Fortran

Apabila memautkan projek yang melibatkan C dan Fortran, ikut langkah berikut:

  • Gunakan g untuk menyusun kod sumber C: g -c main.cpp -o main.o
  • Gunakan gfortran untuk menyusun kod sumber Fortran: gfortran -c print_hi.f90 -o print_hi.o
  • Pautkan fail objek yang disusun menggunakan g : g main.o print_hi.o -o main -lgfortran

Arahan ini akan menyertakan pustaka Fortran yang diperlukan (-lgfortran) semasa memaut, dengan itu menyelesaikan masalah yang tidak ditentukan ralat rujukan yang dihadapi dengan g sahaja.

Pendekatan Alternatif

Jika anda lebih suka menggunakan gfortran untuk memaut, anda boleh mencapai hasil yang sama dengan melepasi bendera -lstdc:

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

Bendera ini akan menggabungkan perpustakaan C yang diperlukan (-lstdc ) semasa memaut, menangani rujukan tidak jelas yang dihadapi semasa menggunakan gfortran secara eksklusif.

Dengan menggunakan bendera pemautan yang sesuai, anda boleh berjaya menggabungkan perduaan C dan Fortran ke dalam atur cara yang berfungsi sepenuhnya.

Atas ialah kandungan terperinci Bagaimana untuk Memautkan Fortran dan Binari C Tanpa Ketergantungan Perpustakaan Hilang?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!