Itanium声明,异常的内存是通过调用__cxa_allocate_exception(size)获得的。返回内存的对齐保证是什么?
发布于 2014-06-09 17:01:24
第四章第1.2节说:
展开接口使用指向异常标头对象的指针表示正在抛出的异常。通常,异常对象的完整表示是特定于语言和实现的,但它将以展开接口所理解的标题作为前缀,定义如下:
然后是struct _Unwind_Exception的定义,然后是:
_Unwind_Exception对象必须对齐双字.
由于这是异常对象的前缀,整个内存块必须对齐双字。
可以说,这个文本并不禁止在_Unwind_Exception之前发现任意的填充,但是如果是这样的话,那么答案是没有任何对齐的保证;我选择将其解释为一个小的措辞缺陷。
https://stackoverflow.com/questions/24119741
复制相似问题