有兩種方式:
成都創(chuàng)新互聯(lián)公司不只是一家網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司;我們對營銷、技術(shù)、服務(wù)都有自己獨特見解,公司采取“創(chuàng)意+綜合+營銷”一體化的方式為您提供更專業(yè)的服務(wù)!我們經(jīng)歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關(guān)注我們的網(wǎng)站設(shè)計制作、成都做網(wǎng)站質(zhì)量和服務(wù)品質(zhì),在得到用戶滿意的同時,也能得到同行業(yè)的專業(yè)認可,能夠為行業(yè)創(chuàng)新發(fā)展助力。未來將繼續(xù)專注于技術(shù)創(chuàng)新,服務(wù)升級,滿足企業(yè)一站式營銷型網(wǎng)站建設(shè)需求,讓再小的高端網(wǎng)站設(shè)計也能產(chǎn)生價值!
第一種就是將部分功能用C語言編寫并使用DEF文件將函數(shù)導出做成DLL以供VB程序調(diào)用,調(diào)用時需要在VB中聲明調(diào)用的接口(就象VB調(diào)用系統(tǒng)的API函數(shù)一樣);
第二種就是將部分功能用C語言編寫成COM組件并在系統(tǒng)中注冊以供VB程序調(diào)用,調(diào)用時在VB的項目中添加對該COM組件的依賴,定義出該組件的對象直接調(diào)用(就象VB調(diào)用EXCEL等微軟提供的COM組件一樣);
在c語言中每一個變量都有兩個屬性一個是值,一個是址。比如inta=2;變量a的值是2,變量a的地址,可以用取地址
操作符
獲取,即a。因此以C語言的函數(shù)傳遞中具備兩種方式傳遞參數(shù),一種是傳址,一種傳值。比如voidf1(intv){;}//函數(shù)f1v
------------------------------------------00000000000000000000000000++++++++++++++++++
如果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.net的也差不多
如果你是使用的vb.net寫的類庫的話是在C#中是可以調(diào)用的,因為.net實現(xiàn),跨平臺和跨語言環(huán)境。
當前名稱:vb.net調(diào)用c類,VBNET有什么用
文章起源:http://www.rwnh.cn/article46/dssdjeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導航、用戶體驗、靜態(tài)網(wǎng)站、、微信公眾號、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)