C與匯編的混合編程及C++引用C的函數(shù)庫的方法 作者: 時間:2016-11-29 來源:網(wǎng)絡 加入技術(shù)交流群 掃碼加入和技術(shù)大咖面對面交流海量資料庫查詢 收藏 C與匯編的混合編程C語言通過 _asm{}來直接在代碼嵌入?yún)R編,有底層驅(qū)動時,為了效率,經(jīng)常直接嵌入式匯編,一但使用ASM,你程序的可移植性就大大減弱了,這是開發(fā)者要注意問題C++引用C的函數(shù)庫C++引用C的庫函數(shù),必須要對C的庫函數(shù)用, extern "C"對函數(shù)數(shù)聲明進行修飾.這一樣,任何一個寫得比較正規(guī)的庫函數(shù)頭文件都是形如下結(jié)構(gòu)#ifndef __MY_LIB_H__ #define __MY_LIB_H__ #ifdef __cplusplus extern "C" { #endif /* 這一段是函數(shù)聲明的*/ #ifdef __cplusplus } #endif #endif /* __MY_LIB_H__ */其中, #ifndef …… 這一段是防止頭文件被重復使用#ifdef __cplusplus extern "C" { #endif #ifdef __cplusplus } #endif 表示{}之間的函數(shù)是可以供C++函數(shù)直接引用. 而_cplusplus 宏是編譯內(nèi)置宏,表示是C++編譯器,這樣C編器可以跳過這樣的定義的.以防止發(fā)誤解extern "C" 包含雙重含義,從字面上即可得到:首先,被它修飾的目標是“extern”的;其次,被它修飾的目標是“C”的。
評論