Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Berjaya Memanggil Fungsi C dari Dalam Kod C?

Bagaimanakah Saya Boleh Berjaya Memanggil Fungsi C dari Dalam Kod C?

Barbara Streisand
Lepaskan: 2024-11-26 09:47:10
asal
619 orang telah melayarinya

How Can I Successfully Call C Functions from Within C   Code?

Menggunakan Fungsi C dari Dalam Kod C: Panduan Komprehensif

Untuk menyepadukan fungsi C ke dalam kod C, seseorang mungkin mempertimbangkan untuk menggunakan simpulan bahasa standard "luar "C" void foo()". Walau bagaimanapun, pendekatan ini mungkin gagal semasa penyusunan dengan g , walaupun penyusunan berjaya dengan gcc.

Untuk menangani isu ini, patuhi langkah berikut:

Langkah 1: Asingkan Kompilasi Kod C dan C

Kompilasi kod C menggunakan:

gcc -c -o somecode.o somecode.c
Salin selepas log masuk

Kompilkan kod C menggunakan:

g++ -c -o othercode.o othercode.cpp
Salin selepas log masuk

Langkah 2: Pautan melalui C Linker

Gabungkan objek yang disusun menggunakan C linker:

g++ -o yourprogram somecode.o othercode.o
Salin selepas log masuk

Langkah 3: Memaklumkan C Compiler tentang Pengepala C

Sertakan pengisytiharan untuk fungsi C dalam kod C, didahului oleh "luaran "C" {}:

extern "C" {
#include "somecode.h"
}
Salin selepas log masuk

Langkah 4: Pengisytiharan dalam somecode.h

Tentukan fungsi C dalam fail pengepala somecode.h:

#ifndef SOMECODE_H_
#define SOMECODE_H_

void foo();

#endif
Salin selepas log masuk

Nota: Perintah dalam contoh ini adalah untuk gcc Pendekatan asas kekal terpakai kepada mana-mana penyusun. Susun kod secara berasingan untuk C dan C , kemudian pautkannya.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Berjaya Memanggil Fungsi C dari Dalam Kod C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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