VB.NETStructLayout特点详解

VB.NET编程语言的主要作用就是可以帮助开发人员打造一个功能强大,性能稳定的开发环境。VB.NET StructLayout特性允许我们控制Structure语句块的元素在内存中的排列方式,以及当这些元素被传递给外部DLL时,运行库排列这些元素的方式。#t#

创新互联是一家集网站建设,三原企业网站建设,三原品牌网站建设,网站定制,三原网站建设报价,网络营销,网络优化,三原网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

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.

 
 
 
  1. Imports System.Runtime.
    InteropServices
  2. < StructLayout(LayoutKind.
    Explicit)> _
  3. Structure test
  4. ...
  5. End Structure
  6. 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表示当前操作平台默认的压缩大小。

 
 
 
  1. Imports System.Runtime.
    InteropServices
  2. < StructLayout(LayoutKind.
    Sequential, CharSetCharSet:
    =CharSet.Unicode, Pack:=4)> _
  3. Structure test
  4. ...
  5. End Structure

VB.NET StructLayout的相关特性就为大家介绍这里。

网站标题:VB.NETStructLayout特点详解
当前链接:http://www.hantingmc.com/qtweb/news21/54821.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联