您好,登錄后才能下訂單哦!
在C++程序中調用被C編譯器編譯后的函數,為什么要在聲明的前面加extern "C"?
答:c語言不支持重載,C++支持重載
為了告訴編譯器這個函數是C的編譯風格,所以在找這個函數的時候也要按照C的風格去找
比如:在C++中寫一個add函數
int add(int n1, int n2)
它找到的是?add@@YAHHH@Z
?函數名@@YA參數參數返回值@Z
H代表int M代表float
@@YA表示開始 @Z表示結束
在C語言中寫一個add函數
int add(int n1, int n2)
它找到的是_add
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。