这是C语言。写道:
typedef struct __attribute__((packed, aligned(4))) Ball {
float2 delta;
float2 position;
//float3 color;
float size;
//int arcID;
//float arcStr;
} Ball_t;
Ball_t *balls;
请告诉我它是什么意思,以及如何使用这个关键字。
答案 0 :(得分:74)
packed
表示它将使用struct Ball
的最小可能空间 - 即它将填充字段而不填充aligned
表示每个struct Ball
将从4字节边界开始 - 即对于任何struct Ball
,其地址可以除以4 这些是GCC扩展,不属于任何C标准。