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
527 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!

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