欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

總結(jié)VC與易語(yǔ)言DLL互相調(diào)用的方法

 更新時(shí)間:2018年10月28日 15:04:01   作者:zeus135  
在本篇文章里我們給大家總結(jié)了關(guān)于VC與易語(yǔ)言DLL互相調(diào)用的方法內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。

在編寫(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)文章

最新評(píng)論