C++中怎么調(diào)用C鏈接庫(kù)
本篇文章給大家分享的是有關(guān)C++中怎么調(diào)用C鏈接庫(kù),小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
成都創(chuàng)新互聯(lián)公司憑借專業(yè)的設(shè)計(jì)團(tuán)隊(duì)扎實(shí)的技術(shù)支持、優(yōu)質(zhì)高效的服務(wù)意識(shí)和豐厚的資源優(yōu)勢(shì),提供專業(yè)的網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站優(yōu)化、軟件開(kāi)發(fā)、網(wǎng)站改版等服務(wù),在成都十多年的網(wǎng)站建設(shè)設(shè)計(jì)經(jīng)驗(yàn),為成都1000多家中小型企業(yè)策劃設(shè)計(jì)了網(wǎng)站。
C++調(diào)用C鏈接庫(kù),其實(shí)相對(duì)C調(diào)用C++。因?yàn)镃++本來(lái)就向下兼容C吧
但由于編譯器的設(shè)計(jì)不同,會(huì)出現(xiàn)一些問(wèn)題,如下:(如中間部分,有一句undefined reference to 'helloC()' ,helloC()是我在C鏈接庫(kù)中的函數(shù))
簡(jiǎn)單說(shuō)來(lái)原因就是未經(jīng)處理的C代碼編譯后函數(shù)名可能變?yōu)開(kāi)helloC()之類的,而C++編譯后函數(shù)名卻不是這樣,所以就對(duì)不上。
需要在include C的文件的時(shí)候加上extern "c"
在練習(xí)中,寫了三個(gè)文件:c.h c.c cpp.cpp 前兩個(gè)編譯為C鏈接庫(kù),cpp.cpp使用C。驗(yàn)證了C++調(diào)用C鏈接庫(kù)可以訪問(wèn)到C的全局變量。
c.h:
#include "stdio.h" void helloC(); int abc = 1;
c.c:
#include#include "c.h" void helloC(){ printf("I am Kenko"); }
cpp.cpp:(重點(diǎn)在于如何include)
#includeusing namespace std; extern "C" { #include "c.h" } int main(){ helloC(); cout< 以上就是C++中怎么調(diào)用C鏈接庫(kù),小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
當(dāng)前名稱:C++中怎么調(diào)用C鏈接庫(kù)
當(dāng)前網(wǎng)址:http://www.xueling.net.cn/article/jjhjeh.html