在c語言中每一個變量都有兩個屬性一個是值,一個是址。比如inta=2;變量a的值是2,變量a的地址,可以用取地址
成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的紅花崗網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
操作符
獲取,即a。因此以C語言的函數(shù)傳遞中具備兩種方式傳遞參數(shù),一種是傳址,一種傳值。比如voidf1(intv){;}//函數(shù)f1v
如果DLL不是你寫的,且你要調(diào)用的函數(shù)不是__stdcall聲明,VB直接調(diào)用是會報錯的
如果DLL是你寫的,注意調(diào)用約定問題,并看以下代碼
***************************************************
以下是DLL代碼
.cpp里這么寫
extern?"C"__declspec(dllexport)?void?__stdcall?HelloWorld()
{
MessageBox(NULL,"HelloWorld","HelloWorld",NULL);
}
.def里這么寫
LIBRARY????? "XXXX"
EXPORTS
;?此處以下添加
HelloWorld@1
*************************************************
vb里這么寫
Public?Declare?Sub?HelloWorld?Lib?"XXXX.dll"?()
然后調(diào)用就可以了,上面是VB的代碼,或許VB點虐 的也差不多
------------------------------------------00000000000000000000000000++++++++++++++++++
Private Declare Auto Function funct Lib "xxx.dll" (ByRef address() As Byte) As Integer
"xxx.dll" 你的 dll 文件名稱,保證他與你的程序在同一文件夾(或系統(tǒng)文件夾)中。不管是指針還是指向指針的指針,都是指針,數(shù)據(jù)類型是 int(integer),vb中聲明為 integer 總是正確的,至于如何解釋這個指針,很多情況下 vb 是無能為力的,你的 dll 還要幫助 vb 解釋,所以,設(shè)計 dll 時,要考慮使用者的接受能力。