c – 安腾ABI在多大程度上真正指定了填充和对齐?
我听说了:
但我一直认为填充和排列是不明确的和不可靠的. the Itanium ABI(GCC使用)实际上是指定这些东西(据我所知,it doesn’t appear to超出了指定范围)? 如果是,那么__attribute__((packed))这样的选项如何适应呢?他们是否最终通过改变事物的一致来破坏ABI? 或者,正如引述所暗示的那样,仅仅在工具链之间进行包装,但实际上在某种ABI的使用中是可靠和可预测的?那么再一次,__attribute__((打包))这样的东西又怎么适合呢? 解决方法
填充和对齐未由ISO标准C规范指定,因此不可靠.
在引用中使用“exact”一词是夸张的.安腾ABI(GCC使用)可以根据需要指定这些东西(如指定范围内),而不是总是和精确地指定. 假设预定的目标架构和工具链,使用工具链中的包装实际上是可靠和可预测的.环境ABI.当所有适用于工具链的目标特定细节都是预先确定的__attribute__((打包))像任何其他结构一样可以预期生成输出,以使工具链正常工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |