__attribute__ 的packed参数
时间: 2024-01-12 13:22:39 浏览: 70
__attribute__
4星 · 用户满意度95%
__attribute__ 的 packed 参数用于告诉编译器以紧凑的方式对结构体或联合体进行对齐。当使用 packed 参数时,编译器将不会在结构体或联合体的成员之间插入任何填充字节,从而减小内存占用。这在某些特定的应用场景下非常有用,比如与硬件相关的编程或者网络通信。
下面是一个使用 packed 参数的示例:
```c
struct __attribute__((packed)) example {
char a;
int b;
char c;
};
```
在上面的示例中,使用 packed 参数告诉编译器以紧凑的方式对结构体进行对齐。这意味着结构体的成员之间不会有任何填充字节,从而减小了结构体的内存占用。
注意:使用 packed 参数可能会导致一些性能上的损失,因为访问未对齐的数据可能会导致额外的开销。因此,在使用 packed 参数时需要谨慎考虑其影响。
阅读全文