從C 程式碼呼叫C 函數
在整合C 和C 程式碼時,常常會遇到從C 程式碼呼叫C 函數的需要在C 內。雖然可以使用 extern "C",但此方法可能會因 g 的編譯問題而失敗。
替代解決方案包括使用gcc 將C 程式碼單獨編譯為C 模組(.o 檔案):
gcc -c -o somecode.o somecode.c
接下來,分別編譯C 程式碼:
g++ -c -o othercode.o othercode.cpp
最後,使用C 將兩個編譯物件連結在一起連結器:
g++ -o yourprogram somecode.o othercode.o
為了讓 C編譯器能夠識別C 函數聲明,請將頭檔包含在othercode.cpp 中,並用extern "C" 包裝:
extern "C" { #include "somecode.h" }
頭檔檔somecode.h 應包含C 函數的聲明:
#ifndef SOMECODE_H_ #define SOMECODE_H_ void foo(); #endif
以上是如何從 C 程式碼成功呼叫 C 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!