当前位置: 技术问答>linux和unix
Linux下如何实现1字节对齐?
来源: 互联网 发布时间:2015-04-15
本文导语: Linux下如何实现1字节对齐? 各位: struct TT { char C1; char C2; long lLong; }; BC31下sizeof(TT)==6. LINUX下sizeof(TT)==8. Linux下如何实现1字节对齐,GCC可有相关参数? | int main(int argc, char *argv[]...
Linux下如何实现1字节对齐?
各位:
struct TT
{
char C1;
char C2;
long lLong;
};
BC31下sizeof(TT)==6.
LINUX下sizeof(TT)==8.
Linux下如何实现1字节对齐,GCC可有相关参数?
各位:
struct TT
{
char C1;
char C2;
long lLong;
};
BC31下sizeof(TT)==6.
LINUX下sizeof(TT)==8.
Linux下如何实现1字节对齐,GCC可有相关参数?
|
int main(int argc, char *argv[])
{
typedef struct {
char a;
char b;
int c __attribute__ ((packed));
} MyStruct;
MyStruct Test ;
printf("Sizeof Test = %dn", sizeof(Test));
return(EXIT_SUCCESS);
}
$ ./test
Sizeof Test = 6
{
typedef struct {
char a;
char b;
int c __attribute__ ((packed));
} MyStruct;
MyStruct Test ;
printf("Sizeof Test = %dn", sizeof(Test));
return(EXIT_SUCCESS);
}
$ ./test
Sizeof Test = 6
|
用#pragma pack (1)
#pragma pack ()
预处理指令对更好一些,
可移植,并且可以一次定义一大堆数据
#pragma pack ()
预处理指令对更好一些,
可移植,并且可以一次定义一大堆数据
|
__attribute__((packed))也可以用在Mystruct之后
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。