4

x86-64 psABI

9.1 C++

对于 C++ ABI,我们将使用 IA-64 C++ ABI 并适当地实例化它。该 ABI 的当前草案可在以下位置获得:

http://mentorembedded.github.io/cxx-abi/

为什么不设计自己的 ABI?

4

1 回答 1

8

因为“Itanium”C++ ABI 被设计为通用的,或者至少是通用的。引用介绍

通常,本文档是作为通用规范编写的,可供各种架构上的 C++ 实现使用。但是,它确实包含用于 Itanium 64 位 ABI 的处理器特定材料,被标识为此类。在描述结构化数据布局的地方,我们通常假设 Itanium psABI 成员大小。32 位 ABI 的实现通常只是适当地更改成员的大小(即指针和长整数将变为 32 位),但有时为了紧凑性需要更改顺序,我们注意到更实质性的更改。

短语“适当地实例化它”是指调整 Itanium psABI 假设以用于 x86-64 psABI 所需的调整。

于 2018-11-23T14:27:10.227 回答