總結(jié)VC與易語(yǔ)言DLL互相調(diào)用的方法
在編寫(xiě)程序的時(shí)候往往需要調(diào)用到別的語(yǔ)言編寫(xiě)的DLL文件,下面先來(lái)看一下在易語(yǔ)言中如何調(diào)用VC編寫(xiě)的DLL呢,首先用VC編寫(xiě)一個(gè)簡(jiǎn)單的DLL文件,代碼如下:
int WINAPI add(int x,int y) { return x+y; }
這是一個(gè)簡(jiǎn)單的兩個(gè)數(shù)加法操作,返回兩個(gè)數(shù)相加的結(jié)果,這里我生成的是MFC DLL,并且需要在def中導(dǎo)出add函數(shù)。
下面用易語(yǔ)言來(lái)調(diào)用它,首先在易語(yǔ)言中需要插入一個(gè)DLL命令,代碼如下:
.版本 2
- .DLL命令 調(diào)用CDLL, 整數(shù)型, "cdll.dll", "add"
- .參數(shù) x, 整數(shù)型
- .參數(shù) y, 整數(shù)型
并且保存工程文件與DLL文件在一起,否則可能會(huì)報(bào)找不到DLL的錯(cuò)誤.下面在按鈕中添加如下代碼:
.版本 2
.子程序 _按鈕1_被單擊
信息框 (調(diào)用CDLL (5, 5), 0, )
這樣我們傳遞了兩個(gè)數(shù)后就可以返回結(jié)果了,如下圖:
VC與易語(yǔ)言DLL互相調(diào)用方法
上圖的信息框顯示返回的結(jié)果是10,那么這就是正確的了,易語(yǔ)言調(diào)用VC的DLL需要注意類(lèi)型,并且DLL函數(shù)需要WINAPI或stdcall,否則也會(huì)報(bào)錯(cuò)。
下面我們?cè)賮?lái)看一下VC如何調(diào)用易語(yǔ)言的DLL,還是先用易語(yǔ)言編寫(xiě)一個(gè)DLL文件,建立一個(gè)DLL動(dòng)態(tài)鏈接庫(kù)工程,新建一個(gè)子程序,代碼如下:
.版本 2
.子程序 add, 整數(shù)型, 公開(kāi)
.參數(shù) x, 整數(shù)型
.參數(shù) y, 整數(shù)型
返回 (x + y)
下面我們用VC來(lái)調(diào)用這個(gè)DLL并且返回結(jié)果,代碼如下:
HINSTANCE hMod = LoadLibrary("e.dll"); typedef int(WINAPI *ADD)(int,int); ADD myadd = (ADD)GetProcAddress(hMod,"add"); CString str; str.Format("%d",myadd(5,5)); MessageBox(str); 本文內(nèi)容來(lái)自 www.lvcode.com FreeLibrary(hMod);
相關(guān)文章
易語(yǔ)言怎么輸入負(fù)數(shù)?易語(yǔ)言輸入負(fù)數(shù)的方法
在本文中我們用圖片方式給大家介紹了易語(yǔ)言輸入負(fù)數(shù)的方法和步驟,有此需要的朋友們可以跟著學(xué)習(xí)下。2018-12-12易語(yǔ)言將十進(jìn)制數(shù)值轉(zhuǎn)換為十六進(jìn)制文本的方法
今天小編就為大家分享一篇關(guān)于易語(yǔ)言將十進(jìn)制數(shù)值轉(zhuǎn)換為十六進(jìn)制文本的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-11-11零基礎(chǔ)易語(yǔ)言入門(mén)教程(四)之?dāng)?shù)據(jù)類(lèi)型
這篇文章主要介紹了零基礎(chǔ)易語(yǔ)言入門(mén)教程(四)之?dāng)?shù)據(jù)類(lèi)型的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,感興趣的朋友一起看下吧2016-05-05