您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“VB.NET中StructLayout怎么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“VB.NET中StructLayout怎么用”這篇文章吧。
VB.NET編程語言的主要作用就是可以幫助開發人員打造一個功能強大,性能穩定的開發環境。VB.NET StructLayout特性允許我們控制Structure語句塊的元素在內存中的排列方式,以及當這些元素被傳遞給外部DLL時,運行庫排列這些元素的方式。
Visual Basic結構的成員在內存中的順序是按照它們出現在源代碼中的順序排列的,盡管編譯器可以自由的插入填充字節來安排這些成員,以便使得16位數值用子邊界對齊,32位數值用雙字邊界對齊。
使用這種VB.NET StructLayout排列(未壓縮布局)提供的性能***。
在Visual Basic 6的用戶自定義結構是未壓縮的,而且我們不可以改變這一默認設置。在VB.NET中可以改變這種設置,并且可以通過System.Runtime.InteropServices.StructLayout 特性精確的控制每一個結構成員的位置。System.Runtime.InteropServices.StructLayout 允許的值有StructLayout.Auto StructLayout.Sequential StructLayout.Explicit.
Imports System.Runtime.
InteropServices< StructLayout(LayoutKind.
Explicit)> _Structure test
...
End Structure
StructLayout特性支持三種附
加字段:CharSet、Pack、Size。
· CharSet定義在結構中的字符串成員在結構被傳給DLL時的排列方式。可以是Unicode、Ansi或Auto。
默認為Auto,在WIN NT/2000/XP中表示字符串按照Unicode字符串進行排列,在WIN 95/98/Me中則表示按照ANSI字符串進行排列。
· Pack定義了結構的封裝大小。可以是1、2、4、8、16、32、64、128或特殊值0。特殊值0表示當前操作平臺默認的壓縮大小。
Imports System.Runtime.
InteropServices< StructLayout(LayoutKind.
Sequential, CharSetCharSet:
=CharSet.Unicode, Pack:=4)> _Structure test
...
End Structure
以上是“VB.NET中StructLayout怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。