gpt4 book ai didi

c - C有标准的ABI吗?

转载 作者:太空狗 更新时间:2023-10-29 16:23:18 25 4
gpt4 key购买 nike

来自讨论somewhere else :

C++ has no standard ABI (Application Binary Interface)

But neither does C, right?

On any given platform it pretty much does. It wouldn't be useful as the lingua franca for inter-language communication if it lacked one.

您对此有何看法?

最佳答案

C 没有定义 ABI。事实上,它竭尽全力避免定义 ABI。那些像我这样的人,他们的大部分编程生涯都是在 16/32/64 位体系结构上用 C 编程的,具有 8 位字节、2 的补码算法和平面地址空间,通常会在阅读复杂的语言时感到非常惊讶当前的 C 标准。

例如,阅读有关指针的内容。该标准并没有说任何像“指针是地址”这样简单的事情,因为这将对 ABI 做出假设。特别是,它允许指针位于不同的地址空间并具有不同的宽度。

ABI 是从语言的执行模型到特定机器/操作系统/编译器组合的映射。在语言规范中定义一个是没有意义的,因为这冒着在某些体系结构上排除 C 实现的风险。

关于c - C有标准的ABI吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4489012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com