QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1823|回复: 4

嗯,我想问问关于gcc编译字节对齐的选项? :)

[复制链接]
发表于 2004-3-22 23:40:24 | 显示全部楼层 |阅读模式
比如
struct test
{
    char v;
    int a;
}
这个对象用printf("%d\n", sizeof(struct test))打印出来是8,
  这是因为有字节对齐问题,一般编译器都默认为4字节,所以
  char v后有三个字节空掉的,而我想设成1字节对齐

VC,Delphi之类编译器都有相应的开关,请问gcc是哪个开关呢?
发表于 2004-3-23 10:10:57 | 显示全部楼层
struct test
{
char v;
int a;
} __attribute__((packed));
回复

使用道具 举报

发表于 2004-3-23 10:28:13 | 显示全部楼层
for more:

info gcc---->C Extensions---->Type Attributes
回复

使用道具 举报

 楼主| 发表于 2004-3-23 12:40:46 | 显示全部楼层
嗯,很感谢。
另外,我想问问,

关于__attribute__((packed))

这样的修饰符我可以在哪里找到这些资料?
回复

使用道具 举报

发表于 2004-3-23 18:11:12 | 显示全部楼层
#pragma pack(1)
struct test
{
char v;
int a;
}
#pragma pack()
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-8 19:41 , Processed in 0.036713 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表