我在google上搜索了gcc的信息,__attribute__ ((aligned))以了解有关如何使用该属性的更多信息.
根据GNU"您可以在typedef声明中指定aligned和transparent_union属性,或者只是通过完整枚举的结束大括号,结构或联合类型定义以及仅在定义的右大括号之后的packed属性." 此外,该文档还显示了以下示例:
struct S { short f[3]; } __attribute__ ((aligned (8)));
Run Code Online (Sandbox Code Playgroud)
但我发现"typedef struct"的例子很少.我找到了以下两个:
typedef struct __attribute__ ((aligned)) { char a; int x; } foo;
typedef struct { char a; int x; } __attribute__ ((aligned)) foo;
Run Code Online (Sandbox Code Playgroud)
哪个是首选方法:在struct之前的{属性}和之前的属性,或foo 之后和之前的属性?
他们都提供相同的结果吗?
关于使用__attribute__ ((aligned))typedef:ed结构的正确用法,我将非常感谢.
| 归档时间: |
|
| 查看次数: |
8183 次 |
| 最近记录: |