abi相关内容

Android Studio:缺少条带工具

我在使用终端命令gradle clean assembleRelease构建我的android studio代码时不断收到这个警告: 由于缺少 ABI 'ARMEABI' 的剥离工具,无法剥离库 'lib.so'.按原样打包. 请帮助我解决此警告. 注意:我知道这不会影响我的应用程序的行为,但是我的 APK 太大了,这肯定会帮助我减少 APK 的大小.所以我需要解决这个问题. ..
发布时间:2021-11-21 20:27:31 移动开发

android:如何构建可在配备 Intel CPU 的设备上运行的应用程序?

如何构建可在配备 Intel CPU 的设备上运行的应用程序?我的应用程序可以在采用 arm 技术的设备上运行,但是当我尝试在采用 Intel CPU 的设备上安装我的应用程序时,它会显示此消息: 设备不兼容 日志中的这条消息: 失败 [INSTALL_FAILED_CPU_ABI_INCOMPATIBLE] 这是我的项目 build.gradle 文件: 应用插件:'c ..
发布时间:2021-11-17 22:41:35 移动开发

ARM-OABI 上 syscall() 的实现.什么是“svc #0x900071"?

我了解到系统调用号是作为 ARM OABI(旧应用程序二进制接口)上的“svc(或 swi)"指令的直接操作数传递的.立即数操作数为“0x900000+(系统调用次数)" 例如,发出EXIT系统调用如下. svc #0x900001 @ sys_exit 我对 syscall() 函数的实现感到好奇,因为 sycall() 将系统调用号作为其参数.我猜 syscall() 的二进制代码不能轻易 ..
发布时间:2021-11-17 22:24:53 服务器开发

arm“版本"之间的差异?(仅限 ARMv7)

基本上我想知道 ARMv7l 和 ARMv7hl 之间的区别? 我有一个带有 armv7l 的 arm 处理器,并且有很多用于 armv7hl 的 rpm. 我不知道我必须搜索什么才能获得相关信息. 这个“后缀"叫什么?还有其他类型吗?他们的做法有何不同? 解决方案 我认为它表示为 little-endian 和 hard-float ABI 编译的包视情况而定 - 即它 ..
发布时间:2021-11-17 22:07:49 服务器开发

Android Studio:缺少条带工具

我在使用终端命令gradle clean assembleRelease构建我的android studio代码时不断收到这个警告: 由于缺少 ABI 'ARMEABI' 的剥离工具,无法剥离库 'lib.so'.按原样打包. 请帮助我解决此警告. 注意:我知道这不会影响我的应用程序的行为,但是我的 APK 太大了,这肯定会帮助我减少 APK 的大小.所以我需要解决这个问题. ..
发布时间:2021-11-17 22:04:47 移动开发

ARM C++ ABI:构造函数/析构函数返回值

我一直在阅读 Clang 源代码,并发现了一些关于 ARM C++ ABI 的有趣之处,我似乎无法理解其理由.来自 ARM ABI 文档: 此 ABI 要求 C1 和 C2 构造函数返回 this(而不是 void 函数),以便 C3 构造函数可以尾调用C1构造函数,C1构造函数可以尾调用C2. (对于非虚拟析构函数也类似) 我不确定这里的 C1、C2 和 C3 引用了什么... ..
发布时间:2021-11-17 21:51:08 C/C++开发

ARM to C 调用约定,NEON 寄存器保存

有一个类似的帖子,涵盖了常规寄存器.NEON寄存器怎么样.据我所知,必须跨函数调用保留寄存器的上半部分或下半部分.我在任何地方都找不到该信息,有人可以澄清一下吗? 谢谢 来自 AAPCS,§5.1.1 核心寄存器: r0-r3 是参数和暂存寄存器;r0-r1 也是结果寄存器 r4-r8 是被调用者保存寄存器 r9 可能是一个被调用者保存寄存器(在 AAPCS 的某些变体上它是 ..
发布时间:2021-11-17 21:50:37 其他开发

ARM ABI 和 EABI 的目的是什么?

我越看这个 PDF (应用程序二进制接口ARM 体系结构:基本标准)我越不明白它的含义.另外我想对 ARM 架构的过程调用标准 和 用于 ARM 架构的 ELF. 解决方案 ABI(Application Binary Interface)是一种标准,定义了低级概念之间的映射高级语言和特定硬件/操作系统平台的机器代码的能力.这包括以下内容: C/C++/Fortran/... 数据类 ..
发布时间:2021-11-17 21:49:50 其他开发

没有找到 void com.unity3d.player.UnityPlayer.nativeRestartActivityIndi​​cator() 的实现

我是 Unity 的新手,我正在尝试将 Unity 游戏(它具有 ARcore)集成到本机 Android 应用程序中. 我可以在新的 HelloWorld 应用程序中启动 unity,但无法在我的真实应用程序(具有其他模块)中启动. 注意:当我从 Unity 项目构建一个 android 库时,我会包含 armeabi-v7a 和 x86 架构. java.lang.Unsatis ..
发布时间:2021-11-17 03:30:06 移动开发

APK 被多个 ABI APK 完全遮蔽

更新:尝试将“v7a"ABI 版本代码降低到前缀 4(低于 5,即“v8"),但没有任何运气 目前我的应用处于 Alpha 阶段.每个 APK 都是通过相同的 ABI 拆分和相同的版本乘法为每个 ABI(包括代码)生成的,“armeabi-v7a"和“arm64-v8a".尽管到目前为止我只上传了“v8a"APK.现在,当我尝试上传“v7a"时,我从 google play 控制台收到以下错 ..
发布时间:2021-11-15 21:36:17 移动开发

API 和 ABI 的区别

我是 Linux 系统编程的新手,在阅读时遇到了 API 和 ABILinux 系统编程. API 的定义: API 定义了接口,通过这些接口一个软件通信与另一个在源级别. ABI 的定义: 而 API 定义了一个源接口,ABI 定义了两个之间的低级二进制接口或多个软件在一个特定的架构.它定义了应用程序如何与本身,应用程序如何交互与内核,以及如何应用程序与库交互. 程 ..
发布时间:2021-11-15 00:27:42 其他开发

汇编 - 将参数传递给函数调用

我目前正在通过反汇编 C 程序并试图理解它们的作用来练习汇编阅读. 我被一个小问题困住了:一个简单的 hello world 程序. #include #include int main() {printf("你好,世界!");返回(0);} 当我拆卸主体时: (gdb) 反汇编 main转储函数 main 的汇编代码:0x0000000000400526 :推送rbp0x00 ..
发布时间:2021-09-29 19:47:47 服务器开发

被调用者如何知道,要在 x64 中弹出多少个参数以及以什么顺序?

据此:UNIX & 的调用约定是什么?Linux 系统调用 i386 和 x86-64,在 x64-amd System V ABI 中,参数在这些寄存器上依次传递:%rdi, %rsi, %rdx, %rcx, %r8 和 %r9,按这个顺序.第 7 个和更高的 arg 在堆栈上传递.所以问题是,被调用者如何知道剩余的(第 7 个及更多)参数有多少以及以何种顺序 pop ?被调用者是否从 arg ..
发布时间:2021-09-29 19:47:35 其他开发

C++ 当你从一个函数返回一个结构体时,在汇编中实际发生了什么?

我试图弄清楚如果你从函数中按值返回一个结构体,而不是返回一个指向该结构体的指针,那么在 C++ 中实际发生了什么.如果一个函数只能返回一个可以放入寄存器的值,那么在按值发送结构时如何进行通信?(我在某处读到过.) 我尝试在 Godbolt 上测试它,看看它在做什么.但我不了解大会,所以这对我有点乐观. 在我看来,在没有太多汇编知识的情况下,该函数只是更改了调用该函数之前存在的一些内存? ..
发布时间:2021-09-29 19:44:41 C/C++开发

为什么参数的函数大小增加到字大小?

我阅读了适用于 i386 和 AMD64 的 System V ABI.他们告诉参数必须四舍五入为字长的倍数.我不明白为什么. 这是情况.如果您将 4 个字符参数传递给 i386 架构上的函数,它将占用 16 个字节(每个字符参数为 4 个字节).像局部变量那样为所有 4 个参数分配 4 个字节不是更有效吗? 对齐不是答案.因为在这两种情况下,16 字节堆栈对齐都可能需要 4-12 字 ..
发布时间:2021-09-29 19:38:32 服务器开发

为什么 Windows64 使用与 x86-64 上的所有其他操作系统不同的调用约定?

AMD 有一个 ABI 规范,描述了在 x86-64 上使用的调用约定.所有操作系统都遵循它,除了具有自己的 x86-64 调用约定的 Windows.为什么? 有谁知道造成这种差异的技术、历史或政治原因,还是纯粹是 NIH 综合症的问题? 我知道不同的操作系统可能对更高级别的东西有不同的需求,但这并不能解释为什么例如 Windows 上的寄存器参数传递顺序是 rcx - rdx - ..
发布时间:2021-09-25 19:38:51 其他开发