(应用程序二进制接口)指定程序,库和操作系统之间的低级接口。例如。哪些寄存器用于传递函数参数。
Linux ARM64 调用约定:被调用者需要保存哪些寄存器?
是否有一个寄存器列表,在 aarch64 Linux/BSD 上,如果被调用者要使用它们,被调用者绝对必须保存/恢复它们? ABI 文档在这一点上似乎很混乱。或者至少,...
我的最终目标是获得代币在以太坊中的当前价格。为此,我使用 etherscan 的 api 获取合约 ABI,然后使用 ABI 和代币小数,获取当前价格...
我写了一个简单的 Rust 文件 #[no_mangle] pub extern "C" fn add(a: i32, b: i32) -> i32 { a+b } 并尝试用Java调用它。 所以我加载了它并定义了 2 个本机方法: ...
Android版本详细信息中的ABIs:armeabi-v7a是什么意思?请提供如何使用它的内部详细信息?
当运行android列表目标时,我得到了 ABI:armeabi-v7a 这是什么意思? 请提供如何使用它的内部详细信息?
x86-64 上的 C++:结构/类何时在寄存器中传递和返回?
假设 Linux 上的 x86-64 ABI,在 C++ 中的什么条件下,结构体会传递给寄存器中的函数,还是传递给堆栈上的函数?在什么条件下它们会返回到寄存器中?答案是吗
如何根据 ABI 变体将我的应用程序拆分为 .aab 文件?
我想根据不同的ABI(x86_64、x86、armeabi-v7a、arm64-v8a)将我的应用程序拆分为多个。现在我成功地根据该 ABI 获得了不同的 apk,有 4 个具有不同的 apk...
gcc -Wabi-tag 警告我什么以及我应该如何避免这种情况
启用 -Wabi-tag 时,我在尝试返回 std::string (按值)时收到警告。此警告的目的是什么?即忽略它会导致什么危害? 有什么选择可以避免...
为什么 Linux 和 Windows 下的 long 和 long double 类型大小不同?
我现在正在学习计算机架构。 为什么 Linux 和 Windows 操作系统之间的数据类型大小不同? 这是我的示例 C 代码。 #包括 int 主函数(无效) {...
我知道这里有很多关于 ABI 的问题,但我仍然不完全理解。 最近有人告诉我,当人们过去编写 Pascal 时,然后 C 变得更流行......
我喜欢并且经常使用 C++ 零规则,但现在有一个用例,我发现它很难使用。 我有 2 个库,都是单独维护的,甚至用不同的编译器编译到
使用 gcc 为裸机 ARM 进行编译时,`aapcs` 和 `aapcs-linux` ABI 选项有何不同?
我正在尝试将应用程序移植到 ARM 的 arm-none-eabi-gcc 工具链。该应用程序旨在在裸机目标上运行。 在这种情况下,-mabi 选项唯一合适的两个值是...
今天我遇到了以下问题: 使用 std::mem::{size_of, MaybeUninit}; 结构 Foo<'a> { foo: &'a i32, } fn 主() { println!("{}", size_of::&...
从nodejs api路由调用(get)时如何解决AbiError:参数解码错误或耗尽气体错误?
我正在使用 web3.js v4.7.0 通过 nodejs/express 与我的智能合约进行交互。下面是我的合同代码片段 杂注可靠性^0.8.10; 合约交易 { uint 公共计数 =...
我是 Linux 内核模块编程的新手,许多关于该主题的入门指南都很少包含有关如何构建将在许多版本和 CPU 平台上运行的内核模块的信息...
“合同”类型上不存在属性“基金”。 Ethersjs ABI 类型转换 [TypeScript]
在学习帕特里克·柯林斯课程时。我遇到了 TypeScript 问题。 我在本教程中使用 TypeScript,但原始版本是 JavaScript。 下面的代码导致错误。 索引.ts 常量
为什么实例化 core::time::Nanoseconds 不安全?
我正在 core::time 中漫步,并对纳秒的实现感到惊讶。 为什么实例化它需要一个不安全的块? 我理解有关范围限制的评论...
我想从c调用zig函数,但fn返回类型是错误联合!void或MyType.Error!u32 如何处理错误? 假设我们有以下 lib.zig pub fn errorProneFunction(
我最近安装了 LLVM v8.0.0(在 RHEL 7.4 上)。我正在通过 LLVM Kaleidoscopy 教程来学习如何使用该系统,但遇到了链接问题。 根据教程(章节结束...
记住 x86-64 System V arg 寄存器顺序的最佳方法是什么?
我经常忘记系统调用中每个参数需要使用的寄存器,每次我忘记时我都会访问这个问题。 整数/指针参数到 x86_64 用户空间函数的正确顺序...
查看 MicroHs 源代码,它列出了 C 函数及其签名,以便它们可以在 Haskell 的 FFI 中使用: * 类型有 * V void 名称(void) *我知道...