int readint(__packed int *data)
{
return *data;
}
我看到了在
struct
声明中使用__packed
属性以避免填充。然而,在函数参数中使用__packed
属性的好处是什么?
author表示他已经使用__packed
来告诉编译器整数可能不对齐。这是什么意思?
编辑:以下内容将适用于gcc
编译器吗?int readint(__attribute__((packed)) int *data)
{
return *data;
}
arm
,任何支持非对齐内存访问的处理器都可能出现这种情况。 - manav m-n__packed
这样的宏/扩展。坦率地说,这个问题涉及到armcc,这很好。我发现标签[arm]具有误导性,但你可以把它加回去。 - artless noise