【发布时间】:2019-04-26 14:34:28
【问题描述】:
9.1 C++
对于 C++ ABI,我们将使用 IA-64 C++ ABI 并适当地实例化它。 该 ABI 的当前草案可在以下位置获得:
为什么不设计自己的 ABI?
【问题讨论】:
标签: c++ x86-64 calling-convention abi design-decisions
9.1 C++
对于 C++ ABI,我们将使用 IA-64 C++ ABI 并适当地实例化它。 该 ABI 的当前草案可在以下位置获得:
为什么不设计自己的 ABI?
【问题讨论】:
标签: c++ x86-64 calling-convention abi design-decisions
因为“Itanium”C++ ABI 被设计为通用的,或者至少是通用的。引用the introduction:
一般而言,本文档是作为通用规范编写的,可供各种架构上的 C++ 实现使用。但是,它确实包含用于 Itanium 64 位 ABI 的特定于处理器的材料,被标识为这样。在描述结构化数据布局的地方,我们通常假设 Itanium psABI 成员大小。 32 位 ABI 的实现通常会适当地更改成员的大小(即指针和长整数将变为 32 位),但有时为了紧凑性需要更改顺序,我们注意到更多实质性更改。
短语“适当地实例化它”是指调整 Itanium psABI 假设以用于 x86-64 psABI 所需的调整。
【讨论】: