当前位置:编程学习 > C#/ASP.NET >>

C++结构类型转C#结构类型


typedef struct RevPackage
{
BOOL TimeTag;
DWORD RevData;
}RevPackage_STRUCT;



 [StructLayout(LayoutKind.Sequential)]
        public struct RevPackage_STRUCT
        {
            [MarshalAs(UnmanagedType.Bool)]
            public bool TimeTag;
            public uint RevData;
        }


这样是否正确 求正解。 --------------------编程问答-------------------- DWORD 好像是INT,你自己试试,应该差不多 --------------------编程问答-------------------- 可以的。 --------------------编程问答-------------------- 我觉得public struct RevPackage就可以了吧?后面的好像是实例名。 --------------------编程问答-------------------- 用sizeof校验一下
--------------------编程问答-------------------- BOOL -> int
DWORD 32-bit unsigned integer --------------------编程问答-------------------- win7安装vs2010老是重启,之后报错,天哪,折腾半个月了…… --------------------编程问答-------------------- 程序执行时候,没报错,但是就是以结构体为指针  时候 接收不到数据 --------------------编程问答-------------------- lz,你这样转换完全正确,至于“接收不到数据”,那是程序逻辑另外的问题:
UnmanagedType.Bool://4 字节布尔值(true != 0、false = 0)。这是 Win32 BOOL 类型。
--------------------编程问答--------------------

public enum RevPackage
{
    boolTimeTag;
    int RevData;//如果对类型要求严的话,要看处理器的位数,如果32位的,c++ int= C#Int32,64位的 就 Int64

}





--------------------编程问答-------------------- public struct RevPackage
{
    boolTimeTag;
    int RevData;
}

补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,