打印

结构体的数据对齐问题

[复制链接]
1188|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
77muke|  楼主 | 2010-10-9 16:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
FRAM, RAM, AD, se, TE
本人在做视频帧数据的写入和读取,在写入的程序中,有如下数据结构,
struct frame_flag  /* 每帧标记,共32个字节 */
{
    int byte_flag;
    enum XESAP_FRAME_TYPE frame_type;
    int frame_date_len;
    struct timeval frame_time;
    void *date;
    int frame_size;
    int frame_seq;
};

程序中对每个成员赋值:
memset(&add_frame_flag, 0 ,sizeof(add_frame_flag));
              add_frame_flag.byte_flag = 0x20100422;
              add_frame_flag.frame_type = tf.dex_p->U.frame.type;
              add_frame_flag.frame_time.tv_sec = tf.dex_p->birthsec.tv_sec;
              add_frame_flag.frame_date_len = tf.dex_p->U.frame.data_len +
              add_frame_flag.frame_seq = 7;
              add_frame_flag.frame_size = 8;
              add_frame_flag.date = tf.dex_p->U.frame.data;
              tf.dex_p->U.frame.data = &add_frame_flag;

但是在读取时发现,这样的每帧的头信息,即32个字节中,这两个值    int frame_size; int frame_seq;都是0。不明白原因,甚是疑惑啊。

也看了很多的关于字节对齐的资料,还是不能解决问题啊。

各位大侠,请多多指教哦。

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

78

帖子

0

粉丝