首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++构造体转换为C#里面的结构体

2013-08-09 
C++结构体转换为C#里面的结构体我想把C++结构体转换为C#里面的结构体,具体程序如下:typedef struct tag_AV

C++结构体转换为C#里面的结构体
我想把C++结构体转换为C#里面的结构体,具体程序如下:
typedef struct tag_AV_HEAD
{
    unsigned int   startcode;//  0xa815aa55
    unsigned chartype;//  0->264 idr frame 1->264 p frame
    unsigned char      streamid;
    unsigned short  militime;//  diff time
    unsigned int sectime;//  diff time
    unsigned int    frameno;//  frameno
    unsigned int len;//  data len
    unsigned charversion;// version
    unsigned charsessid;
    unsigned charother[2];
    unsigned charother1[8];
}AV_HEAD,*PAV_HEAD;
主要是最后面的AV_HEAD,*PAV_HEAD怎么转化,因为下文要用到,急需。 Structure C++ C# struct
[解决办法]
AV_HEAD,*PAV_HEAD 实际就是表示

struct tag_AV_HEAD

这个结构体的别名和指针.

其中AV_HEAD就是struct tag_AV_HEAD的别名.  
例如定义变量时: AV_HEAD avHead; 等价于 struct tag_AV_HEAD avHead;

PAV_HEAD 就是 定义的 指向struct tag_AV_HEAD的指针.
例如:
PAV_HEAD pAvHead = NULL;
等价于
struct tag_AV_HEAD *pAvHead = NULL;
[解决办法]
C#的结构体指针操作比较麻烦,参考http://blog.163.com/yhtian619@126/blog/static/16255128020107691718322/

引用:
我想把C++结构体转换为C#里面的结构体,具体程序如下:
typedef struct tag_AV_HEAD
{
    unsigned int   startcode;//  0xa815aa55
    unsigned chartype;//  0->264 idr frame 1->264 p frame
    unsigned char      streamid;
    unsigned short  militime;//  diff time
    unsigned int sectime;//  diff time


    unsigned int    frameno;//  frameno
    unsigned int len;//  data len
    unsigned charversion;// version
    unsigned charsessid;
    unsigned charother[2];
    unsigned charother1[8];
}AV_HEAD,*PAV_HEAD;
主要是最后面的AV_HEAD,*PAV_HEAD怎么转化,因为下文要用到,急需。

热点排行