Linux下C和C 相互呼叫

2021-10-05 10:51:45 字數 1451 閱讀 9131

目錄

c++呼叫c**

c**呼叫c++**

c和c++幾乎是不分仲伯,我們在寫c**或是c++**時,常常會發生彼此混合呼叫的現象;而且c語言和c++語言都有一些獨有的非常有價值的專案,因而兩種語言的互操作,充分利用前人造的輪子是一件非常有價值的事情。

c++中相關的定義及宣告

#ifdef __cplusplus

extern "c"

#endif

int main(int argc, char *ar**)

c**中被呼叫函式的實現 

c標頭檔案 

/*c標頭檔案*/

#ifndef __test_h__

#define __test_h__

void show();

#endif

c原始檔

/*c原始檔檔案*/

#include "c_test.h"

#include void show()

makefile檔案

cpp:

gcc -c *.c

g++ -c *.cpp

g++ -o cpp_test *.o

clean:

rm *.o cpp_test

編譯及執行結果 

c++中相關的定義及宣告 c++標頭檔案

#ifdef __cplusplus

extern "c"

#endif

c++原始檔

#include "cpp_test.h"

#include #ifdef __cplusplus

extern "c"

#ifdef __cplusplus

}#endif

c**中被呼叫函式的實現

#include "cpp_test.h"

int main()

makefille檔案

c:

gcc -c *.c

g++ -c *.cpp

gcc -o c_test *.o -lstdc++

clean:

rm *.o c_test

編譯及執行結果 

Linux下C和C 相互呼叫

目錄 c 呼叫c c 呼叫c c和c 幾乎是不分仲伯,我們在寫c 或是c 時,常常會發生彼此混合呼叫的現象 而且c語言和c 語言都有一些獨有的非常有價值的專案,因而兩種語言的互操作,充分利用前人造的輪子是一件非常有價值的事情。c 呼叫c c 中相關的定義及宣告 ifdef cplusplus ext...

C和C 相互呼叫

c和c 相互呼叫 2011 11 01 18 42 29 分類 c c 在專案中融合c和c 有時是不可避免的,在呼叫對方的功能函式的時候,或許會出現這樣那樣的問題。近來在主程式是c語言,而呼叫c 功能函式的時候,c 的 h標頭檔案都能找到,功能函式也都定義了,最重要的是,單獨編譯c 的時候完全沒有問...

C 和C的相互呼叫

在c專案中融合c 和c的 是實際工程中不可避免的,就如一般底層的驅動是用c寫的,而應用層一般會用c c 的編譯器能相容c語言的編譯器,但他優先以c 的方式編譯 extern關鍵字強制讓c 編譯器對 進行c方式編譯注意 cplusplus 是c 編譯器都內建的乙個巨集,可以用來判斷是不是c 編譯器,那...