//dll
在吳起等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)營(yíng)銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,吳起網(wǎng)站建設(shè)費(fèi)用合理。
#include?windows.h
extern?"C"?//保持C語(yǔ)言文件
void?_declspec?(?dllexport?)?tryProc()???????//定義函數(shù)
{
MessageBox(NULL,_T("a"),_T("a"),MB_OK);
}
-------------------------------------
//C
#include?windows.h
int?main()
{
HMOUDLE?dll?=?LoadLibrary(/*DLL文件名*/);
if(dll?!=?NULL)
{
FARPROC?try?=?GetProcAddress(dll,"tryProc");
if(try?!=?NULL)
{
tryProc();//假如函數(shù)有返回值,可以用try()得到返回值
/*_asm?call?tryProc*/
}
}
return?0;
}
C語(yǔ)言沒辦法直接調(diào)用C++庫(kù)
要調(diào)用C++的庫(kù)
必須加一層封裝
即
先寫一個(gè)C++文件,
對(duì)每個(gè)要調(diào)用的C++DLL中的函數(shù)func_name,
封裝成
extern
"C"
{
return_type
func_name_C(list)
{
return
func_name(list);
}
}
這樣的形式。
然后
把這個(gè)c++文件,
封裝成dll
C文件調(diào)用這個(gè)dll里面的函數(shù),
間接調(diào)用原始DLL
(1)編寫程序時(shí),你要包含(#include "什么.h") dll文件作者提供 的 頭文件(.h文件) 。
程序里,便和普通函數(shù)調(diào)用一樣,去調(diào)用它的函數(shù)。
(2)程序編譯時(shí),你要鏈接 dll文件作者提供 的 (.lib文件) 庫(kù)文件。
當(dāng)然,你可以在源程序里把.lib 名字 寫上,編譯時(shí)自動(dòng)去鏈接,例子:
#pragma comment (lib, "什么.lib")
(3)執(zhí)行時(shí),要有 .dll 文件. 放在當(dāng)前文件夾或系統(tǒng)文件夾里。
名稱欄目:c語(yǔ)言獲得dll的函數(shù) 獲取dll中的函數(shù)信息
文章轉(zhuǎn)載:http://jinyejixie.com/article20/hepcco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、Google、軟件開發(fā)、手機(jī)網(wǎng)站建設(shè)、小程序開發(fā)、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)