Bagaimana untuk Berjaya Memanggil Fungsi C daripada Kod C?

Linda Hamilton
Lepaskan: 2024-11-23 00:37:15
asal
586 orang telah melayarinya

How to Successfully Call C Functions from C   Code?

Cara Menggunakan Fungsi C daripada Kod C

Memanggil fungsi C daripada C boleh mencabar, terutamanya jika "C" luar tidak ada foo()" pendekatan gagal dalam persekitaran kompilasi g. Untuk menangani isu ini, pertimbangkan alternatif berikut:

Penyusunan dan Pemautan

Pertama sekali, susun kod C menggunakan:

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

Seterusnya, susun kod C menggunakan:

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

Akhir sekali, pautkan kedua-dua fail bersama menggunakan C penghubung:

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

Pengisytiharan Pengepala

Dalam kod C, masukkan pengepala tempat fungsi C diisytiharkan. Walau bagaimanapun, untuk memastikan pengkompil C mengenali pengepala sebagai pengepala C, gunakan sintaks berikut:

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

somecode.h

Pengepala somecode.h harus mengisytiharkan fungsi C, serupa dengan yang berikut:

#ifndef SOMECODE_H_
#define SOMECODE_H_

void foo();

#endif
Salin selepas log masuk

Tambahan Nota

  • Prinsip penyusunan dan penyambungan berasingan kekal sama tanpa mengira pengkompil yang digunakan (cth., gcc, clang).
  • Pendekatan ini membolehkan kewujudan bersama C dan kod C dalam satu projek.

Atas ialah kandungan terperinci Bagaimana untuk Berjaya Memanggil Fungsi C daripada 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