public struct KFC { [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 11)] public char[] sbxsohoh; [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 10)] public char[] shjhbh; public ulong zbh; public char zz; public char zt4; #if DLY public ulong ID; #else public ushort ID;#endif 以上是某一个二进制文件的struct,这个结构有多少个字节? 求大神指点#if DLY public ulong ID; #else public ushort ID;#endif这部分代码什么意思
2 回答
慕斯王
TA贡献1864条经验 获得超2个赞
至于struct占用多少字节,struct应该有个属性Size可以查看的
#if #else 这个是C#中的预处理指令,主要用于辅助条件编译,预处理指令不会在编译时转化为可执行代码,但是会影响编译过程 ,例如根据条件跳过某段代码的编译,报告错误和警告条件等,例如
#if debug
console.writeLine("this is debug")
#else
明月笑刀无情
TA贡献1828条经验 获得超4个赞
我不明白你指的struct有多少个字节,是单指这段struct的代码的长度,还是指包struct所包含的字段及字段的值加起来的值,如果要取代码的长度,就需要从二进制流中截取这一段代码来取长度length,
另外struct和二进制文件本身是没有关系的。
- 2 回答
- 0 关注
- 530 浏览
添加回答
举报
0/150
提交
取消