abi 相关问题

(应用程序二进制接口)指定程序,库和操作系统之间的低级接口。例如。哪些寄存器用于传递函数参数。

。dbug_loc从二进制文件中丢失

我正在检查ELF二进制文件是否包含以下代码。我在Virtual Box的Ubuntu x86_64系统上的gcc 7.4.0上将其编译为:gcc -g scratch1.c -o scratch1.out #include void ...

回答 1 投票 0

为什么我们仍然不能使用ctypes在2019年从Python调用C ++?

它仍然困扰着我。毕竟,C也没有完全标准化的ABI,但它可以与ctypes一起使用。为什么C ++无法达到相同的目的?我发现此博客文章声称该问题更具政治性...

回答 1 投票 0

问题是通过USB在本地OnePlus 7上运行应用程序(“设备支持,但APK仅支持armeabi-v7a,x86_64,arm64-v8a,x86”)

我想直接通过Android Studio将带有USB的全新OnePlus 7测试设备连接到我的开发笔记本电脑,并在其中安装我们的应用。但是,Android Studio会显示以下内容:...并尝试运行...

回答 1 投票 0

共享库:在不破坏API兼容性的情况下打破ABI兼容性

对于纯C共享库,是否有可能在不破坏API兼容性的同时打破ABI兼容性 另外,如果编写一个提供现有库B的所有API函数的库A,以及一些额外的API函数,库A A...

回答 2 投票 4

ARM过程调用标准是否允许与C标准矛盾的易失性优化?

根据ARM体系结构的过程调用标准(第7.1.5节):编译器可能会忽略对自动变量的易失性限定,除非函数调用...,否则自动地址的地址永远不会被占用...

回答 1 投票 3

Swift协议可以在不涉及ABI更改的情况下支持通用协议吗?

为什么Swift在协议中使用关联类型,而不是通用类型?关联类型比通用类型好吗?如果我们希望Swift支持协议通用,它将带来ABI改变吗?为什么?我只是没有...

回答 1 投票 -1

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

函数的返回值通常存储在堆栈或寄存器中。但是对于大型结构,它必须处于堆栈中。对于此代码,在真正的编译器中必须进行多少复制? ...

回答 5 投票 24

使用针对x86架构的gcc编译器的双栈对齐问题

关于数据类型对齐方式的疑问,我现在正在学习对齐方式,并且我有一些问题,所以我知道在使用gcc编译i386体系结构时,linux中的double对齐方式是4字节,所以... ...>] >> < [

回答 1 投票 0

在两个Jenkins版本中的文件之间运行特定的diff命令

我最近发现了阿比迪夫;该工具以两个二进制文件作为输入,并描述了ABI中的差异。这对于检测何时需要更改ABI版本号可能很有用。理想情况下,我们会...

回答 1 投票 0

就使用堆栈而言,为什么我们需要基本指针和堆栈指针[重复]

无论如何都是x86汇编代码。我一直在阅读有关函数调用的信息,但是仍然不能完全掌握对基/帧指针(EBP)和堆栈指针(ESP)的需求。当我们调用...

回答 3 投票 3

我如何确定我的Linux平台是否支持强别名?

GCC手册描述了-fabi-compat-version = n,该名称用于处理GCC 3.4至9.2以及以后可能稍有变化的C ++ ABI中C ++名称处理的变体。它有一个重要的...

回答 1 投票 0

它是有效的下面写ESP?

对于32位Windows应用程序是合法使用的临时交换空间低于ESP堆栈存储器没有明确递减ESP?考虑到返回ST(浮点值的函数...

回答 4 投票 11

的sizeof(布尔)的变化能否真正打破旧的代码?

我有一个使用这样的C库:结构美孚{为const char *吧; bool的重要;结构巴兹·巴兹; }最近,我在重要的应该是一个项目中使用它...

回答 1 投票 2

如果你在64位代码中使用32位int 0x80的Linux的ABI会发生什么?

INT 0x80的Linux上总是调用32位ABI,不管是什么模式,它是从所谓的:从/usr/include/asm/unistd_32.h在EBX,ECX ...和系统调用号ARGS。 (或崩溃在64位内核...

回答 1 投票 30

未捕获的错误:返回的值无效,是否已用完气体?

我正在听我部署合同的事件。每当事务完成并且事件被触发时,接收响应会导致以下错误:未捕获错误:返回值无效,...

回答 4 投票 3

X86-64 NASM调用extern c函数

我对组装很新,但知道一点c。我正在玩外部函数调用,如extern _printf str db“Hello”,0 push str调用_printf,但无法找到任何使用extern的教程...

回答 2 投票 -1

以符合C ++标准的方式实现std :: malloc

在回答问题之前进行快速思考实验。想象一下有人正在实现std :: malloc(比如,一个JEMalloc或TCMalloc人)。他们需要的最基本的东西之一是......

回答 2 投票 0

g ++总是与“旧”静态库向后兼容?

我有一些静态库,我不是它的所有者,用旧版本的g ++ 4.3.2编译(c ++ 11 / c ++ 0x未激活)。当我使用g ++ 4.6(没有c ++ 11)编译我的代码并使用g ++链接它时...

回答 2 投票 14

跨平台组装((x64 || x86)&&(Microsoft x64 || SystemV))

我正在尝试编写一些代码,以便了解有关汇编和JIT编译器等内容的更多信息。到目前为止,我已经能够提出一个XOR函数,理论上应该在x86或x64上运行...

回答 1 投票 0

GDB编译问题

我遇到了从源代码编译gdb的问题。我正在下载8.2.1版,但是当我尝试编译它时,我收到以下错误:configure:error:***支持C ++ 11的编译器...

回答 1 投票 1

© www.soinside.com 2019 - 2024. All rights reserved.