C&C++——extern


1.C 調用C++的函數或變量
C 調用C++的函數或變量,在C++的頭文件聲明爲extern "C" ,C調用的時候只使用extern 聲明。
可見,extern "C"告訴了C++的編譯器,使用C的連接規則生成和尋找目標文件中的symbol名稱。
總之 extern "C" { } ,聲明用於C++中,告訴編譯器對{ }中聲明的函數或變量使用C的方式生成(或尋找)目標符號。函數


3. C++ 調用C中的內聯函數
C中的函數使用__inline聲明爲內聯函數時,不會連接生成目標符號。
example_c.c中的函數改成 __inline void Print_C(int i) ,在example_c.obj找不到Print_C的符號。
可使用__declspec( dllexport ) __inline void Print_C(int i) 這樣的聲明,就會生成目標符號 External | _Print_C 。編譯器

相關文章
相關標籤/搜索