淺談VisualC與VisualBasic的混合編程_第1頁
淺談VisualC與VisualBasic的混合編程_第2頁
淺談VisualC與VisualBasic的混合編程_第3頁
淺談VisualC與VisualBasic的混合編程_第4頁
淺談VisualC與VisualBasic的混合編程_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

提綱關(guān)于編程認(rèn)識DLLVC6.0中如何開發(fā)DLL程序VB6.0中如何調(diào)用DLL程序一個例子一、關(guān)于編程編程就是指令的合理組合因此,指令決定了編程的能力什么指令功能最強(qiáng)?函數(shù)的來源語言附帶的庫操作系統(tǒng)的開發(fā)庫可執(zhí)行程序的生成編譯(Compile)鏈接(Link)關(guān)于編程(續(xù))編譯將源代碼處理成目標(biāo)機(jī)器上的機(jī)器語言模塊鏈接將編譯得到的機(jī)器語言與系統(tǒng)提供的函數(shù)庫聯(lián)系起來打個比喻編譯→有人把一本學(xué)術(shù)著作翻譯成了中文鏈接→把書中的術(shù)語給你解釋清楚函數(shù)庫的分類靜態(tài)庫.LIB鏈接時將相關(guān)函數(shù)代碼放入到應(yīng)用程序中應(yīng)用程序體積大,啟動速度慢優(yōu)點是對運行環(huán)境無依賴性動態(tài)庫一般封裝成DLL鏈接時僅進(jìn)行符號鏈接程序運行時再從函數(shù)庫中加載所需的函數(shù)代碼應(yīng)用程序體積小,啟動快對運行環(huán)境依賴性大靜態(tài)鏈接庫靜態(tài)庫只能給C語言兼容的開發(fā)語言使用演示如何利用VC制作靜態(tài)鏈接庫如何使用靜態(tài)庫二、動態(tài)鏈接庫DLLDLLDynamicLinkableLibrary是實現(xiàn)共享代碼的一種方式DLL的使用與語言無關(guān)(可以用VB)DLL隨處可見VC的DLL的分類NON-MFCDLLMFC-RegularDLLMFCExtensionDLL認(rèn)識DLL如何查看DLL中暴露出的函數(shù)MicrosoftVisualStudio中Depends工具VB、VC混合編程什么是混合編程一個應(yīng)用軟件系統(tǒng)中,不同的模塊采用不同的編程語言開發(fā)VB和VC的分工VB負(fù)責(zé)界面,人機(jī)交互,用戶響應(yīng)VC負(fù)責(zé)復(fù)雜的算法,計算或者訪問硬件VB、VC混合編程的方式通過DLL←VC生成DLL,在VB中調(diào)用常用,簡單ActiveX控件的方法VC生成控件,在VB中調(diào)用更通用,較復(fù)雜ActiveXAutomation服務(wù)器的方法VC生成應(yīng)用服務(wù)器,在VB或者VBA中調(diào)用最復(fù)雜的一種方法,適合大型軟件的二次開發(fā)VC編寫VB可以使用的DLL(1)不是任何VC編寫的DLL,VB都可以使用只有RegularDLL才有可能被VB使用VB中對函數(shù)的聲明必須與VC中對函數(shù)的聲明絕對一致才行兩個必備條件,缺一不可VC中聲明函數(shù)的調(diào)用方式為stdcallVC中聲明的函數(shù)必須被exportVC編寫VB可以使用的DLL(2)一定要寫定義文件(*.def)LIBRARYTestAddEXPORTSadd@1舉例Add.h#ifndefADD_H#defineADD_Hextern"C"int__stdcalladd(inta,intb);#endifAdd.cpp#include"add.h"int__stdcalladd(inta,intb){ returna+b;}注意事項(1)注意不同語言對類型的定義不同VB中Integer-VC中的shortVB中的Long-VC中的int結(jié)構(gòu)尤其要注意,C語言存在著對齊的問題例如:TypePerson

AgeAsLong

HeightAsDouble

EndType注意事項(2)大數(shù)據(jù)量的傳遞(VB到VC)用數(shù)組,用指針(地址)VB將數(shù)組首字節(jié)地址以及數(shù)組長度傳遞給VCVC程序中利用地址和長度訪問數(shù)據(jù)注意VB中函數(shù)聲明的byVal和byRefbyVal相當(dāng)于VC中的傳值ByRef相當(dāng)于VC中的傳地址(指針)注意事項(3)大數(shù)據(jù)量的傳遞(VC到VB)如果VB負(fù)責(zé)申

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論