亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

VB.NET動態連接庫的方法

發布時間:2021-06-16 18:08:25 來源:億速云 閱讀:358 作者:chen 欄目:編程語言

這篇文章主要講解了“VB.NET動態連接庫的方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“VB.NET動態連接庫的方法”吧!

VB.NET動態連接庫還是比較常用的,于是我研究了一下,在這里拿出來和大家分享一下,希望對大家有用。Windows動態連接庫是包含數據和函數的模塊,可以被其它可執行文件(EXE、DLL、OCX 等)調用。動態連接庫包含兩種函數:輸出(exported)函數和內部(internal)函數。輸出函數可以被其它模塊調用,而內部函數則只能在動態連接庫內部使用。

盡管VB.NET動態連接庫也能輸出 數據,但實際上它的數據通常是只在內部使用的。使用動態連接庫的優點是顯而易見的。將應用程序的一部分功能提取出來做成動態連接庫,不但減小了主應用程序的大小,提高了程序 運行效率,還使它更加易于升級。多個應用程序共享一個動態連接庫還能有效地節省系統資源。正因為如此,在Windows系統中,動態連接庫得到了大量的使用。

一般來說,動態連接庫都是以DLL為擴展名的文件,如Kernel32.dll、commdlg.dll等。但也有例外,如16位Windows的核心部件之一GDI.exe其實也是一個動態庫。編寫動態連接庫的工具很多,如VisualC++、BorlandC++、Delphi等,具體方法可以參見相關文檔。下面只以Visual C++6.0為例,介紹一下開發應用于VisualBasic6.0的動態連接庫時應注意的問題(本文中所有涉及C/C++語言或編譯環境的地方,都以VC為例;所有涉及Visual Basic的地方都以VB 為例)。

作為一種32位Windows應用程序的開發工具,VB生成的exe文件自然也都是32位的,通常情況下也只能調用32位的動態連接庫。但是,并不是所有的32位動態庫都能被VB生成的exe 文件正確地識別。一般來說,自己編寫用于VB.NET動態連接庫時,應注意以下幾個方面的

問題:

1、生成動態庫時要使用__stdcall調用約定,而不能使用缺省的__cdecl調用約定;__stdcall 約定通常用于32位API函數的調用。

2、在VC中的定義文件(.def)中,必須列出輸出函數的函數名,以強制VC系統將輸出函數的裝飾名(decoratedname)改成普通函數名;所謂裝飾名是VC的編譯器在編譯過程中生成的輸出函數名,它包含了用戶定義的函數名、函數參數及函數所在的類等多方面的信息。由于在VC中定義文件不是必需的,因此工程不包含定義文件時VC就按自己的約定將用戶定義的輸出函數名修改成裝飾名后放到輸出函數列表中,這樣的輸出函數在VB生成的應用程序中是不能正確調用的(除非聲明時使用Alias子句)。因此需要增加一個.def文件,其中列出用戶需要的函數名,以強制VC不按裝飾名進行輸出。

3、VC中的編譯選項"結構成員對齊方式(structure member alignment)" 應設成4字節,其原因將在后文詳細介紹。

4、由于在C中整型變量是4個字節,而VB中的整型變量依然只有2個字節,因此在C中聲 明的整型(int)變量在VB中調用時要聲明為長整型(long),而C中的短整型(short)在VB中則 要聲明成整型(integer);下表針對最常用的C語言數據類型列出了與之等價的Visual Basic 類型(用于32位版本的Windows)。

感謝各位的閱讀,以上就是“VB.NET動態連接庫的方法”的內容了,經過本文的學習后,相信大家對VB.NET動態連接庫的方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武隆县| 栾城县| 淳化县| 南康市| 惠来县| 金川县| 哈尔滨市| 灵丘县| 富民县| 洪江市| 额济纳旗| 黔南| 响水县| 淄博市| 台北县| 东山县| 淅川县| 高唐县| 雅安市| 香格里拉县| 湘阴县| 韶山市| 商水县| 新邵县| 徐汇区| 盘锦市| 灵寿县| 习水县| 遵义县| 广昌县| 乌审旗| 水富县| 昌邑市| 电白县| 武川县| 桑日县| 东宁县| 张家川| 江口县| 江西省| 庄浪县|