Closed. This question needs details or clarity. It is not currently accepting answers. Learn more。
想改进这个问题吗?添加细节并通过editing this post澄清问题。
6年前关闭。
是否有符合C标准的方法来进行结构对齐?
我知道可以把最大的元素放在第一位,但我正处于一种即将实现一个协议的情况下。
想改进这个问题吗?添加细节并通过editing this post澄清问题。
6年前关闭。
是否有符合C标准的方法来进行结构对齐?
我知道可以把最大的元素放在第一位,但我正处于一种即将实现一个协议的情况下。
最佳答案
不,不是一般的。
您绝对不能更改结构中元素的顺序,它们必须与声明的顺序完全一致。
但你也不能提前知道未来的处理器会喜欢什么,在对齐方面。
协议(即“外部”表示)不应涉及直接复制到内存中的struct
或从中复制;相反,必须单独序列化/反序列化每个结构成员。
关于c - C标准符合性方法进行结构对齐,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19633332/