当前位置: 技术问答>linux和unix
struct __una_u16结构是什么结构.
来源: 互联网 发布时间:2016-07-29
本文导语: 请问linux中 struct __una_u16结构是什么结构? 在linux中是这么定义的: struct __una_u16 { u16 x __attribute__((packed)); }; | 就是一个严格控制在2个字节大小的结构体(不会自动对齐到4字节), 里面有一个成员 ...
请问linux中
struct __una_u16结构是什么结构? 在linux中是这么定义的:
struct __una_u16 { u16 x __attribute__((packed)); };
struct __una_u16结构是什么结构? 在linux中是这么定义的:
struct __una_u16 { u16 x __attribute__((packed)); };
|
就是一个严格控制在2个字节大小的结构体(不会自动对齐到4字节),
里面有一个成员 x,是无符号16位整数
里面有一个成员 x,是无符号16位整数
|
Code:
#include
struct s1 {
char a;
int i;
};
struct s2 {
char a;
int i __attribute__((packed));
};
int main( int argc, char* argv[] ) {
struct s1 s_1;
struct s2 s_2;
printf( "sizeof s1 is %dn" , sizeof(s_1) );
printf( "sizeof s2 is %dn" , sizeof(s_2) );
return( 0 );
}
And got these results:
Code:
eric.r.turner@turing:~/lab/packed$ ./foo
sizeof s1 is 8
sizeof s2 is 5
|
学习了