StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Ansi, Pack:=1) 中pack的理解

简介: <p><structlayout charset:="CharSet.Ansi," pack:="1)"> _ <br>Private Structure WAVE_EX <br>....</structlayout></p> <p>....    </p> <p>End Structure</p> <p>StructLayout(LayoutKind.Sequential,

_
Private Structure WAVE_EX
....

....   

End Structure

StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Ansi )时取到 Marshal.SizeOf的结构会比实际大些,加入我上面的结构实际是46,那么他会是48个。
把pack 改为2就,那么就不会出现这种情况,但是结构里如果有byte这样的成员的话,应该实际3个字节,但是返回4个。
所以,系统默认的pack应该是4

 

上次碰到没有记日志,这次又折磨了我一会。 所以写个日志记一下。

如果有其他见解不妨告诉小弟。 多谢。

目录
相关文章
|
3月前
Crypto-JS——Uncaught Error: Malformed UTF-8 data
Crypto-JS——Uncaught Error: Malformed UTF-8 data
162 0
|
4月前
|
XML 数据格式 Python
【Python】已解决:xml.parsers.expat.ExpatError: no element found: Line 1, column 0
【Python】已解决:xml.parsers.expat.ExpatError: no element found: Line 1, column 0
98 0
Warning: To load an ES module, set “type“: “module“ in the package.json or use the .mjs extension.
Warning: To load an ES module, set “type“: “module“ in the package.json or use the .mjs extension.
|
XML 编解码 数据格式
python报错 ‘utf-8‘ codec can‘t encode characters in position xxxx-xxxx: surrogates not allowed
python报错 ‘utf-8‘ codec can‘t encode characters in position xxxx-xxxx: surrogates not allowed
446 0
|
JSON 数据格式
Content type ‘multipart/form-data;boundary=------57031299820747271;charset=UTF-8‘ not supported的解决方案
Content type ‘multipart/form-data;boundary=------57031299820747271;charset=UTF-8‘ not supported的解决方案
277 0
|
Java 测试技术
body-parser:unsupported content encoding 错误
最近遇到了一个奇怪的问题,关于body-parser报错,我本地调用没问题,使用测试工具没问题,这种方案都没问题,就和我对接的程序调用有问题,于是开始了面向百度编程,查到了两种解决方案:
536 0
body-parser:unsupported content encoding 错误
|
XML 存储 JSON
Msgpack有没有兴趣了解一下?
Msgpack有没有兴趣了解一下?
146 0
|
编解码 Python
Python ‘utf-8‘ codec can‘t decode byte 0x8b in position 1: invalid start byte
Python ‘utf-8‘ codec can‘t decode byte 0x8b in position 1: invalid start byte
206 0
|
存储 JSON 安全
msgpack,fmtlib和RPClib库的介绍及使用
msgpack,fmtlib和RPClib库的介绍及使用
|
机器学习/深度学习 存储
argparse库
argparse库