struct {。。。}__PACKED__中的__PACKED__作用是什么?

xgcdd 2015-03-31 10:20:33
struct {。。。}__PACKED__中的__PACKED__作用是什么?
比方说:
struct _RTP_FIXED_HEADER
{
/**//* byte 0 */
unsigned char csrc_len:4; /**//* expect 0 */
unsigned char extension:1; /**//* expect 1, see RTP_OP below */
unsigned char padding:1; /**//* expect 0 */
unsigned char version:2; /**//* expect 2 */
/**//* byte 1 */
unsigned char payload:7; /**//* RTP_PAYLOAD_RTSP */
unsigned char marker:1; /**//* expect 1 */
/**//* bytes 2, 3 */
unsigned short seq_no;
/**//* bytes 4-7 */
unsigned long timestamp;
/**//* bytes 8-11 */
unsigned long ssrc; /**//* stream number is used here. */
} __PACKED__;

typedef struct _RTP_FIXED_HEADER RTP_FIXED_HEADER;
求助中!!!
...全文
433 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2015-04-01
  • 打赏
  • 举报
回复
VS IDE中,在不明白的符号上点鼠标右键,选转到定义。
skipper2009 2015-04-01
  • 打赏
  • 举报
回复
__PACKED__应该是把所有变量在内存中的存储变得连续起来,不会出现因为自动对齐造成某些字节或者位成为空的
xgcdd 2015-04-01
  • 打赏
  • 举报
回复
猜想__PACKED__应该是不采用默认对齐
一根烂笔头 2015-04-01
  • 打赏
  • 举报
回复
看编译器: 1.如果是编译器的属性,那么就是告诉编译器的参数 2.是个结构体变量。前后下划线说明是“内部”变量,防止和用户定义变量ID冲突。 个人觉得是第2种情况。
xgcdd 2015-03-31
  • 打赏
  • 举报
回复
楼上的代码可以编译通过的,这个 可以验证。(在linux下)
xgcdd 2015-03-31
  • 打赏
  • 举报
回复
struct _RTP_FIXED_HEADER { /**//* byte 0 */ unsigned char csrc_len:4; /**//* expect 0 */ unsigned char extension:1; /**//* expect 1, see RTP_OP below */ unsigned char padding:1; /**//* expect 0 */ unsigned char version:2; /**//* expect 2 */ /**//* byte 1 */ unsigned char payload:7; /**//* RTP_PAYLOAD_RTSP */ unsigned char marker:1; /**//* expect 1 */ /**//* bytes 2, 3 */ unsigned short seq_no; /**//* bytes 4-7 */ unsigned long timestamp; /**//* bytes 8-11 */ unsigned long ssrc; /**//* stream number is used here. */ } __PACKED__; typedef struct _RTP_FIXED_HEADER RTP_FIXED_HEADER; struct _NALU_HEADER { //byte 0 unsigned char TYPE:5; unsigned char NRI:2; unsigned char F:1; }__PACKED__; /**//* 1 BYTES */ typedef struct _NALU_HEADER NALU_HEADER;
奇乐二二二 2015-03-31
  • 打赏
  • 举报
回复
定义了一个结构体叫_RTP_FIXED_HEADER,声明了一个结构体变量叫__PACKED__

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧