c#调用vc++dll pack=8和pack=1的区别 现在调用个vc++下的dll,pack=8才行,不知道这个和pack=1有什么区别?用Marshal.PtrToStruct,结果有个字段后面的全部不对请大家指点下! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 只能说明你VC++的DLL的结构体使用的是8字节对齐..也就是32位. C#里使用[StructLayout(LayoutKind.Sequential, Pack = 8)] 不可以吗? 是啊!我是这样尝试的,可惜还是不行,我也曾经用BitConvert.ToDouble试过,也只能读一部分字段出来 你看下返回的byte[]到底是怎么分的结构 感觉是4的可能性比较大。 你看下返回的byte[]到底是怎么分的结构这个怎么看呢? 您方便qq或者msn指导下吗?我qq是787480882 msn [email protected] 先把byte[]保存到 文件里.找个16进编辑器打开.然后看这你的C++结构体对照下. string s=""; for (Int32 i = 0; i < quotData.Length; i++) { s += quotData[i].ToString(); }这样可以吗? 这样把 BitConvert.ToString(byte[])..你看看你结构体的数据是怎么分布的. 6A-9A-98-00-5E-12-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-30-30-30-30-30-00-00-00-43-00-00-00-00-00-54-41-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-31-30-30-32-00-00-00-00-00-00-00-00-00-00-00-00-00-00-B0-BA-40-1D-38-67-44-A9-93-A8-40-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-0A-00-00-00-00-00-00-00-00-00-00-00-38-F8-C2-64-AA-60-04-C1-00-00-00-00-00-10-BA-40-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-EC-01-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-08-BB-40-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-DC-BA-40-01-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-42-BB-40-01-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-54-41-00-00-06-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-5E-29-04-E0-61-1E-04-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-61-32-55-30-2A-A9-C3-40-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-1E-04-10-00-00-00-00-00-00-00-00-00-2D-43-1C-EB-E2-36-9A-40-2D-43-1C-EB-E2-36-9A-3F-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-31-00-80-52-00-00-00-00-00-00-00-00-2D-43-1C-EB-42-6E-AA-40-61-32-55-30-2A-A9-C3-3F-38-04-FF-FF-FF-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-24-04-60-26-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-27-A0-89-B0-E1-E9-F5-C0-F7-FF-E0-61-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-84-20-04-10-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-5D-6D-C5-FE-72-C9-99-C0-AD-FA-5C-6D-A3-63-E8-40-6F-12-83-C0-4F-A8-03-C1-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-8A-8E-E4-F2-FF-FF-CD-C0-3A-92-CB-7F-0B-CE-F9-C0-00-00-00-00-00-00-00-00-10-58-39-B4-C8-36-1A-40-00-00-00-00-00-00-00-00-00-00-00-00-6B-9A-77-9C-A2-E3-ED-40-2B-87-16-D9-CE-36-FA-C0-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-04-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-96-43-8B-6C-E7-BC-F3-40-00-00-00-00-94-87-85-5A-D3-BC-F3-3F-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-80-95-18-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-04-00-CE-19-04-C0-B2-42-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 VC中的结构默认按8字节对齐,确保每个变量或数组元素都不跨越8字节边界,(尺寸大于8字节的变量或数组元素将开始位置按8字节对齐)。例如这样的结构:{BYTE b;WORD w;double d;}在整个结构中,b相对于位置是0,w是2,d是8,结构大小是16。在某些特殊情况下(例如要兼容早期遗留下来的结构),可以指定结构的对齐方式,比较常见的是按1字节对齐,也就是不做对齐处理。 上面说错了,更正一下:是确保每个尺寸不大于8字节的变量或数组元素的开始位置都能被其尺寸整除。例如WORD型变量的尺寸是2字节,则变量的开始位置要能被2整除。 http://h.8wa.com ClickOnce的错误,发布没错,安装出错了,请大侠帮忙 关于Winform获取系统程序集的问题 求一篇需求分析范文 关于datagirdview排序后修改混乱问题 C#如何实现图片拖动和拉伸 关于DataTable动态插入多行数据问题,在线.......下班前结贴!!! 如何实现两种颜色的平稳过渡? 如何对某个文件夹下的文件重命名? vs.net2005新建一个本地项目,不能调试?闷。 求c# ERP程序控制用户不同模块的权限思路 请教如何手动释放自己new的类 C#随机码的生成与排序
这个怎么看呢?
然后看这你的C++结构体对照下.
for (Int32 i = 0; i < quotData.Length; i++)
{
s += quotData[i].ToString();
}
这样可以吗?
{
BYTE b;
WORD w;
double d;
}
在整个结构中,b相对于位置是0,w是2,d是8,结构大小是16。在某些特殊情况下(例如要兼容早期遗留下来的结构),可以指定结构的对齐方式,比较常见的是按1字节对齐,也就是不做对齐处理。