在调用C封装的DLL时,经常会用到此属性.
允许您控制类或结构的数据字段的物理布局。
| 名称 | 说明 | |
|---|---|---|
| CharSet |
指示在默认情况下是否应将类中的字符串数据字段作为 LPWSTR 或
LPSTR 进行封送处理。
| |
| Pack |
控制类或结构的数据字段在内存中的对齐方式。
| |
| Size |
指示类或结构的绝对大小。
|
| 成员名称 | 说明 | |
|---|---|---|
| Sequential |
对象的成员按照它们在被导出到非托管内存时出现的顺序依次布局。
这些成员根据在 StructLayoutAttribute. Pack
中指定的封装进行布局,并且可以是不连续的。
| |
| Explicit |
对象的各个成员在非托管内存中的精确位置被显式控制。
每个成员必须使用 FieldOffsetAttribute 指示该字段在类型中的位置。
| |
| Auto |
运行时自动为非托管内存中的对象的成员选择适当的布局。
使用此枚举成员定义的对象不能在托管代码的外部公开。
尝试这样做将引发异常。
|
本文深入探讨了在调用C封装的DLL时,如何利用特定属性控制类或结构的数据字段布局,包括如何设置CharSet、Pack、Size等关键参数,以及Sequential、Explicit和Auto布局选项的应用场景。
749

被折叠的 条评论
为什么被折叠?



