(应用程序二进制接口)指定程序,库和操作系统之间的低级接口。例如。哪些寄存器用于传递函数参数。
根据ARM体系结构的过程调用标准(第7.1.5节):编译器可能会忽略对自动变量的易失性限定,除非函数调用...,否则自动地址的地址永远不会被占用...
Swift协议可以在不涉及ABI更改的情况下支持通用协议吗?
为什么Swift在协议中使用关联类型,而不是通用类型?关联类型比通用类型好吗?如果我们希望Swift支持协议通用,它将带来ABI改变吗?为什么?我只是没有...
函数的返回值通常存储在堆栈或寄存器中。但是对于大型结构,它必须处于堆栈中。对于此代码,在真正的编译器中必须进行多少复制? ...
关于数据类型对齐方式的疑问,我现在正在学习对齐方式,并且我有一些问题,所以我知道在使用gcc编译i386体系结构时,linux中的double对齐方式是4字节,所以... ...>] >> < [
我最近发现了阿比迪夫;该工具以两个二进制文件作为输入,并描述了ABI中的差异。这对于检测何时需要更改ABI版本号可能很有用。理想情况下,我们会...
无论如何都是x86汇编代码。我一直在阅读有关函数调用的信息,但是仍然不能完全掌握对基/帧指针(EBP)和堆栈指针(ESP)的需求。当我们调用...
GCC手册描述了-fabi-compat-version = n,该名称用于处理GCC 3.4至9.2以及以后可能稍有变化的C ++ ABI中C ++名称处理的变体。它有一个重要的...
对于32位Windows应用程序是合法使用的临时交换空间低于ESP堆栈存储器没有明确递减ESP?考虑到返回ST(浮点值的函数...
我有一个使用这样的C库:结构美孚{为const char *吧; bool的重要;结构巴兹·巴兹; }最近,我在重要的应该是一个项目中使用它...
如果你在64位代码中使用32位int 0x80的Linux的ABI会发生什么?
INT 0x80的Linux上总是调用32位ABI,不管是什么模式,它是从所谓的:从/usr/include/asm/unistd_32.h在EBX,ECX ...和系统调用号ARGS。 (或崩溃在64位内核...
我正在听我部署合同的事件。每当事务完成并且事件被触发时,接收响应会导致以下错误:未捕获错误:返回值无效,...
我对组装很新,但知道一点c。我正在玩外部函数调用,如extern _printf str db“Hello”,0 push str调用_printf,但无法找到任何使用extern的教程...
在回答问题之前进行快速思考实验。想象一下有人正在实现std :: malloc(比如,一个JEMalloc或TCMalloc人)。他们需要的最基本的东西之一是......
我有一些静态库,我不是它的所有者,用旧版本的g ++ 4.3.2编译(c ++ 11 / c ++ 0x未激活)。当我使用g ++ 4.6(没有c ++ 11)编译我的代码并使用g ++链接它时...
跨平台组装((x64 || x86)&&(Microsoft x64 || SystemV))
我正在尝试编写一些代码,以便了解有关汇编和JIT编译器等内容的更多信息。到目前为止,我已经能够提出一个XOR函数,理论上应该在x86或x64上运行...
我遇到了从源代码编译gdb的问题。我正在下载8.2.1版,但是当我尝试编译它时,我收到以下错误:configure:error:***支持C ++ 11的编译器...
Google Play商店中不支持的设备 - Flutter
我已将我的应用程序上传到谷歌商店,但我的一些朋友无法安装它,他们得到“您的设备与此版本不兼容”。我检查了sdk,屏幕尺寸和......
我的问题相当概念化。我注意到同一架构有不同的软件包,比如x86-64,但适用于不同的操作系统。例如,RPM为Fedora提供了不同的包,并且......
我从未明白ABI是什么。请不要指向维基百科的文章。如果我能理解它,我就不会在这里张贴这么长的帖子。这是我对不同的看法......