我在 Vala 向结构值添加填充时遇到问题。是否有相当于 C 的 #pragma pack(1) 或 C# 的 [StructLayout(LayoutKind.Sequential, Pack=1)],或者可能有解决方法?提前致谢。
~迈克尔·K.
最佳答案
不是原生的。您可以使用适当的 #pragma
或 __attribute__
在单独的 C 头文件中定义打包结构,然后为其创建 VAPI 绑定(bind)。
可能会滥用 Vala 的代码生成来做到这一点(例如,设置 [CCode(cname)]]
,但我建议不要这样做。
关于struct - Vala 中的字节对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10923488/