abi

abi

文章 0 浏览 3

C 编译器可以在指针为 32 位的情况下生成 64 位可执行文件吗?

大多数程序非常适合 &lt4GB 地址空间,但需要使用 x64 架构上才可用的新功能。 是否有编译器/平台可以使用 x64 寄存器和特定指令,但保留 32 位指针以…

吹梦到西洲 2024-10-01 04:11:13 3 0

与 ABI 调用约定和架构混淆

我对所有这些术语感到困惑: ABI、调用约定和硬件架构。 ABI 与架构相关:x86-64 的 ABI 与 i386 不同。 但是您也可以定义自己的调用约定 cdecl... 那…

碍人泪离人颜 2024-09-14 06:06:35 8 0

维护 ABI:向结构添加构造函数

我们在共享库的修订版 1 中有一个结构体,我们需要为其维护 ABI: struct Person { std::string first_name std::string last_name } 在修订版 2 中,…

梓梦 2024-09-13 19:33:51 7 0

GCC ABI 兼容性

据我所知,不可能链接使用不同版本的 GCC 应用程序二进制接口 (ABI) 的库。 GCC 的每个版本都有 ABI 更改吗?如果我使用 GCC 4.3.2,是否可以链接使用…

像你 2024-09-01 02:55:09 9 0

UNIX 和 Linux 的调用约定是什么? i386 和 x86-64 上的 Linux 系统调用(和用户空间函数)

以下链接解释了 UNIX(BSD 风格)和 Linux 的 x86-32 系统调用约定。 Linux: http://www.int80h.org/bsdasm/#system-calls&lt /a&gt http:// /www.fre…

痕至 2024-08-26 22:01:19 7 0

什么是应用程序二进制接口 (ABI)?

我从来没有清楚地理解什么是 ABI。请不要向我指出维基百科文章。如果我能理解的话,我就不会在这里发这么长的帖子了。 这是我对不同接口的看法: 电视…

不甘平庸 2024-08-19 17:52:41 8 0

C 编译器如何实现返回大型结构的函数?

函数的返回值通常存储在堆栈或寄存器中。但对于大型结构,它必须位于堆栈上。对于这段代码,在真实的编译器中需要进行多少复制?还是已经优化掉了? …

猫瑾少女 2024-08-19 07:52:39 7 0

C/C++ 能做什么? “失去”他们是否定义了标准 ABI?

标题说明了一切。我专门谈论 C/C++,因为两者都认为这是“实现问题”。我认为,定义一个标准接口可以轻松地在其上构建模块系统,以及许多其他好处。 …

断舍离 2024-08-18 08:22:58 8 0

是“argv[0] = 可执行文件名称”吗?一个公认的标准还是一个共同的约定?

在 C 或 C++ 应用程序中将参数传递给 main() 时,argv[0] 是否始终是可执行文件的名称?或者这只是一个常见的约定,并不能保证 100% 正确?…

请帮我爱他 2024-08-18 03:38:37 12 0

为什么应用程序二进制接口对于编程很重要

我不明白为什么 ABI 是开发用户空间应用程序的重要上下文。操作系统的系统调用集是否被视为 ABI?但如果是这样,那么系统调用的所有复杂性不都封装在…

浅暮の光 2024-08-17 15:29:24 7 0

为什么数据结构对齐对性能很重要?

有人能给我一个简短而合理的解释,解释为什么编译器向数据结构添加填充以对齐其成员吗?我知道这样做是为了CPU可以更有效地访问数据,但我不明白为什…

冷︶言冷语的世界 2024-08-17 04:57:02 13 0

为什么共享库的 ELF 标头将 Linux 指定为 OSABI?

我的 Linux 系统 (Fedora 9) 上的所有标准共享库都指定 ELFOSABI_NONE (0) 作为其 OSABI。 这很好 - 但是我从供应商那里收到了一个共享库,其中 ELF …

孤独患者 2024-08-16 18:34:40 8 0

C 运行时对象、dll 边界

为 dll 设计 C API 的最佳方法是什么,它处理传递依赖于 C 运行时的“对象”的问题(FILE*、malloc 返回的指针等)。 例如,如果两个 dll 与不同版本…

绅刃 2024-07-25 19:05:57 7 0

为什么linux内核升级后需要重新编译vmware内核模块?

Linux 内核升级后,我的 VMWare 服务器无法启动,直到使用 vmware-config.pl 进行一些重新配置工作(包括构建一些内核模块)。 如果我使用最新的 Wind…

魂归处 2024-07-19 18:34:49 9 0

大多数现代系统中堆栈增长的方向是什么?

我正在准备一些 C 语言培训材料,我希望我的示例适合典型的堆栈模型。 Linux、Windows、Mac OSX(PPC 和 x86)、Solaris 和最新的 Unix 中的 C 堆栈朝…

素手挽清风 2024-07-15 04:22:49 12 0
更多

推荐作者

1CH1MKgiKxn9p

文章 0 评论 0

ゞ记忆︶ㄣ

文章 0 评论 0

JackDx

文章 0 评论 0

信远

文章 0 评论 0

yaoduoduo1995

文章 0 评论 0

霞映澄塘

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文