首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Coding+

    Android CPU ABI

    ABI 简述 不同 Android 手机使用不同的 CPU,因此支持不同的指令集。CPU 与指令集的每种组合都有其自己的应用二进制界面(或 ABI)。 ABI 可以非常精确地定义应用的机器代码在运行时如何与系统交互。 您必须为应用要使用的每个 CPU 架构指定 ABI。 典型的 ABI 包含以下信息: 机器代码应使用的 CPU 指令集。 架构,其它没有被声明的 ABI 所对应的 .so 等库就不会被打包进 APK 中。 查看 CPU ABI 通常我们可以通过如下方式查看 CPU 支持的 ABI 架构: 通过 adb 命令查看 1.连接手机到电脑上 2.打开 cmd 命令窗口,输入命令 adb shell 3.然后输入命令 cat /proc/cpuinfo 通过代码获取 textView.setText("ABI:"+Build.CPU_ABI); 参考 ABI 管理

    2.1K20发布于 2018-11-20
  • 来自专栏自学气象人

    C++ ABI总结

    具体地,C++的ABI可以分为两个方面,我们也会按两方面讨论: 语言ABI/编译器ABI。 库的ABI(尤其是标准库的ABI)。 Language ABI / Compiler ABI C++的ABI由编译器、操作系统和硬件的体系结构共同决定;按照道理来说C应该也是,但是由于操作系统本身具有了底层的C ABI,因此相应平台上的编译器都会遵循这个 ABI,于是C的ABI一般不由编译器的诸多选项等决定。 C++的主流语言ABI应该有两套: Itanium ABI;可见itanium-cxx-abi.github.io MSVC的ABI;根据Herb Sutter的提案N4028,提到MSVC的语言ABI Library ABI 由于编译器一般都使用供应商所提供的标准库实现,因此标准库的ABI也事实上成为了C++ABI的一部分。

    1.5K00编辑于 2023-06-20
  • 来自专栏深入浅出区块链技术

    再谈无ABI函数调用

    auok007[1] 发了在没有 abi 文件的情况下调用智能合约方法,web3py 实现 [2]之后,联系我的朋友不少,看来对这块有需求的朋友不少,在和他们交流的过程中,我发现不少人对这块还有一些误区 一些问题 1、调用合约函数,需要合约完整的 abi 吗? 不需要,只需要调用函数的函数定义 2、调用别人的合约需要什么? 目前 python 的已经实现,参考我前面的文章在没有 abi 文件的情况下调用智能合约方法,web3py 实现 | 登链社区 | 深入浅出区块链技术 (learnblockchain.cn)[3]node ether.js 已经实现,放在登链集市ether.js 无 abi 调用合约函数,关键代码 - 作品详情 - 登链社区 (learnblockchain.cn)[4] 请能用到觉得有点用的朋友支持, 一个演示 部署 Greeter2 合约,用 Greeter 的 abi 进行调用,测试代码中有注释。

    1.2K10编辑于 2022-02-22
  • 来自专栏C/C++基础

    ABI 与 API 的区别

    文章目录 1.ABI 简介 2.API 简介 3.ABI 与 API 的区别 参考文献 1.ABI 简介 C++ 可执行文件是由编译器将源代码编译成目标文件后链接生成的,那么如果目标文件由不同的编译器编译生成 影响 ABI 的因素非常多,硬件、编程语言、编译器、链接器、操作系统等都会影响 ABI。我们以 C 语言为例,来看编程语言是如何影响 ABI 的。 以上只是部分因素会影响到ABI,其它的不再一一列举。到了 C++,语言层面对 ABI 的影响又增加了许多额外的内容,可见,这些内容使得 C++ 做到二进制兼容比C更加困难。 3.ABI 与 API 的区别 通过上面的介绍,可以知道 ABI 和 API 是两种完全不同的东西。二者的区别可总结概括为如下几点: 描述的内容不同。 ABI描述二进制层面的接口,API描述代码级层面的接口; 兼容的难度不同。ABI的兼容程度比API更为严格,即ABI实现兼容更加困难。

    2.3K20编辑于 2022-05-09
  • 来自专栏极客编程

    深入以太坊智能合约 ABI

    开发 DApp 时要调用在区块链上的 Ethereum 智能合约,就需要智能合约的 ABI。本文希望更多了解 ABI,如为什么需要 ABI?如何解读 Ethereum 的智能合约 ABI? 以及如何取得智能的 ABI? ? ABI(Application Binary Interface) 如果理解 API 就很容易了解 ABI。简单来说,API 是程序与程序间互动的接口。 这些信息就是记录在智能合约的 ABI! 安装: npm install solc -g 取得合约 ABI: solcjs simpleStorage.sol --abi 会生成一个 simpleStorage_sol_SimpleStorage.abi  文件,里面就是合约ABI 內容。

    5.3K31发布于 2018-09-04
  • 来自专栏Rust 编程

    Rust-ABI 的前世今生

    背景:ABI 概念与 C-ABI ABI,是 Application Binary Interface 的缩写,应用程序二进制接口。 C-ABI 包含两个关键的内核: 数据的内存布局方式 函数如何调用 而 Cpp ABI 和 Rust ABI 则包含更多内容。 这就是 ABI。通过此 ABI,应用程序之间可以达到相互调用的目标。 C-ABI 虽然是事实标准,这么多年来行业内都通过 C-ABI 来作为多语言交互的标准 ABI。 而且,Rust 的 C-ABI 也不是标准 C-ABI,存在一些差异。 而且,Rust 的 C-ABI 也不是标准 C-ABI,存在一些差异。

    2K20编辑于 2022-12-08
  • 来自专栏犀牛饲养员的技术笔记

    聊聊以太坊智能合约ABI

    聊聊以太坊智能合约ABI ABI的全称是 Application Binary Interface,所以它是一个接口。或者说是一个标准。 ABI假设所有的编码都是在编译阶段确定的,也就是静态的。而不是运行时动态生成的。 ABI的标准规范的内容包括合约的函数列表、函数名称、参数名称、参数类型、返回类型等。这些信息以JSON格式保存。这些JSON是可读的。 我们也可以在remix编译的时候看到ABI信息。 接下来看看具体的编码规则。 ---- 参考: https://docs.soliditylang.org/en/develop/abi-spec.html#abi

    1.4K20编辑于 2023-02-24
  • 来自专栏along的开发之旅

    No toolchains found in the NDK toolchains folder for ABI with prefix: mipsel

    最近Android Studio升级了, 顺便也升级了sdk版本, 但是升级过后编译项目提示"No toolchains found in the NDK toolchains folder for ABI developer.android.com/studio/releases/gradle-plugin): When building multiple APKs that each target a different ABI must use NDK r16b or lower and specify the ABIs in your build.gradle file, as shown below: splits {  abi

    1.8K20发布于 2019-09-26
  • 来自专栏深入浅出区块链技术

    以太坊合约 ABI 和 EVM 字节码

    本文作者:影无双[1] 本文从理论和命令行实践解释以太坊合约 ABI 和 EVM 字节码 介绍 本文解释以太坊中的合约 ABI[2] 和 EVM[3] 字节码。 你将了解到 了解合约 ABI 和 EVM 字节码是什么,以及它们的关系。 如何使用solc命令行生成合约 ABI 和 EVM 字节码 不包括: 合约 ABI 规范的详细信息(编码/解码)。 在以太坊中,合约 ABI 是一个接口,它定义了如何调用智能合约中的函数并取回数据的标准方案。合约 ABI 为外部使用而设计,实现应用程序到合约和合约到合约的交互。 关于如何编码和解码合约 ABI 有一个明确的规范。 如果您想了解 ABI 编码/解码规范的详细信息,请参阅合约 ABI 规范[5]。 实际上,与合约交互,你可以像下面这样使用 web3.js。

    1.7K20编辑于 2022-05-25
  • 来自专栏python教程

    python(abi)是什么,有什么作用呢

    python(abi) 是一个特殊的提供项,用于指定软件包所支持的Python ABI(Application Binary Interface)版本。 在软件包中使用python(abi)提供项可以指定软件包所支持的Python ABI版本,以确保软件包与特定版本的Python解释器兼容。 比如说你的python版本是3.10.4,那么你的python(abi)就是等于3.10, python(abi) = 3.10 是一个提供项,用于指定软件包所支持的Python ABI(Application 在RPM软件包管理系统中,python(abi)是一个特殊的提供项,用于指定软件包所支持的Python ABI版本。 python(abi) = 3.10 表示该软件包支持Python 3.10的ABI版本。 其他软件包可以使用这个提供项来确定是否满足其对特定Python ABI版本的依赖关系。

    68910编辑于 2024-05-04
  • 来自专栏人人都是极客

    Linux中形形色色的接口API和ABI

    位于内核和用户之间的API(应用程序接口)和ABI(应用二进制接口)。内核内部的API和ABI。下面我们逐条的来看看这些接口。 ? Linux ABI ABI是一系列约定的集合,例如GNU/Linux,FreeBSD约定函数调用的头六个整型参数放在寄存器RDI, RSI, RDX, RCX, R8和R9上;同时XMM0到XMM7用来放置浮点变元 [1] 可以说调用惯例(calling convention)就是ABI。因此,ABI是和具体CPU架构和OS相关的。 具体而言,ABI包含以下内容:[3] 1. 一个特定的处理器指令集 2. In-Kernel ABI 内核的abi和linux abi的定义类似,再次不再赘述。 5. Abstraction ABI 在某些情况下,内核过于底层,开发者需要更高一层的抽象。 讨论什么是ABI

    4.9K41发布于 2018-10-24
  • 来自专栏ADAS性能优化

    GCC ,GLibC ,C++ ABI 和libstdc++.so关系

    GCCGLibCC++ ABIlibstdc++.so3.1.0GLIBCPP_3.1CXXABI_1libstdc++.so.4.0.03.1.1GLIBCPP_3.1CXXABI_1libstdc++.so.4.0.13.2.0GLIBCPP_3.2CXXABI_1.2libstdc++.so.5.0.03.2.1GLIBCPP_3.2.1CXXABI_1.2libstdc++.so.5.0.13.2.2GLIBCPP_3.2.2CXXABI_1.2libstdc++.so.5.0.23.2.3GLIB

    1.3K10编辑于 2022-05-13
  • 来自专栏Rust 编程

    【Rust 研学】Rust Nation UK 2024 | Rust ABI 稳定之路

    为什么需要稳定的 ABI 从 API 谈起 介绍 ABI 之前,先来说一说 API。 简单来说,API 就是软件应用之间进行通信的一种接口。 这些二进制共享库之间的接口,就是 ABI。 第三方库 abi_stable 目前通过第三方库 abi_stable 能使用到稳定的 Rust ABI ,但是 Rust 语言还未支持。 如果没有 breaking changes 的 API 变化,ABI 也不应该 break 为什么稳定 ABI 很难 现在距离 Rust 1.0 发布已经过去近 10 年了,还没有稳定的 ABI 。 其他语言怎么稳定 ABI ? C-ABI C-ABI 现在是事实标准。 C 的 ABI 细节其实也是没有定义细节,比如 int 的类型到底是多大,内存布局等。都是各大平台厂商自己来定义。 C 语言另外一点是没有 private 的概念,头文件中所有内容也默认地成为了 ABI 的一部分。 Cpp ABI Cpp ABI 同样没有标准 ABI,也是由平台定义的。Cpp 也保留了头文件。

    1.1K10编辑于 2024-04-22
  • 来自专栏韩曙亮的移动开发专栏

    【Android 逆向】ELF 文件格式 ( ELF 文件当前版本号 | 操作系统 ABI 信息 | ABI 版本 | 文件头校验 | 文件头长度信息 )

    文章目录 一、ELF 文件当前版本号 二、操作系统 ABI 信息 三、ABI 版本 四、文件头校验 五、文件头长度信息 总结 一、ELF 文件当前版本号 ---- ELF 文件头第 6 字节 : 版本信息 ; 二、操作系统 ABI 信息 ---- ELF 文件头 第 7 字节 : 操作系统 ABI 信息 ; 三、ABI 版本 ---- ELF 文件头 第 8 字节 : ABI 版本 ; 00 表示没有版本

    43510编辑于 2023-03-29
  • 来自专栏GEE数据专栏,GEE学习专栏,GEE错误集等专栏

    GOES-16 MCMIPF 系列 ABI 2 级云层和水汽成像

    GOES-16 MCMIPF 系列 ABI 2 级云层和水汽成像全盘 简介 云层和水分成像产品的分辨率均为 2 公里。 1-6 波段为反射波段。 无量纲的 "反射系数 "以太阳天顶角为标准。 Schmit, T., Griffith, P., et al, (2016), A closer look at the ABI on the GOES-R series, Bull. Amer.

    18400编辑于 2025-01-23
  • 来自专栏ZETA联盟

    ABI Research产业研究:ZETA如何革新供应链物流追踪

    文章源自前沿科技研究机构ABI Research产业研究,重点介绍了ZETA LPWA协议开发公司纵行科技在业务发展、M-FSK调制技术以及ZETag云标签系列产品在物流货物追踪与包装管理等方面的应用分析 作者 | Tancred Taylor来源 | ABI Research2021年2月1日,纵行科技宣布将向欧洲扩张。

    1K80编辑于 2023-04-28
  • 来自专栏owent

    GCC 7和LLVM+Clang+libc++abi 4.0的构建脚本

    https://github.com/owent-utils/bash-shell/tree/master/GCC%20Installer/gcc-7 当然编译脚本也是这里 LLVM+Clang+libc++abi

    1.2K10发布于 2018-08-01
  • 来自专栏LINUX阅码场

    黄东升: Linux中形形色色的接口API和ABI

    位于内核和用户之间的API(应用程序接口)和ABI(应用二进制接口)。内核内部的API和ABI。下面我们逐条的来看看这些接口。 ? Linux ABI ABI是一系列约定的集合,例如GNU/Linux,FreeBSD约定函数调用的头六个整型参数放在寄存器RDI, RSI, RDX, RCX, R8和R9上;同时XMM0到XMM7用来放置浮点变元 [1] 可以说调用惯例(calling convention)就是ABI。因此,ABI是和具体CPU架构和OS相关的。 具体而言,ABI包含以下内容:[3] 1. 一个特定的处理器指令集 2. In-Kernel ABI 内核的abi和linux abi的定义类似,再次不再赘述。 5. Abstraction ABI 在某些情况下,内核过于底层,开发者需要更高一层的抽象。 讨论什么是ABI----

    1.4K20发布于 2019-10-08
  • 来自专栏深入浅出区块链技术

    理解以太坊ABI - 应用程序二进制接口

    ABI 是什么 ABI 全称是 Application Binary Interface,翻译过来就是:应用程序二进制接口,简单来说就是 以太坊的调用合约时的接口说明。还不是很理解,没关系。 这个数据就是ABI的编码数据: 0x60fe47b10000000000000000000000000000000000000000000000000000000000000001 ABI 编码分析 ABI 编码函数 那么怎么获得函数对应的ABI 数据呢, 有两种方法: Solidity ABI 编码函数 一个是 solidity 提供了ABI的相关API, 用来直接得到ABI编码信息,这些函数有: abi.encode(…) returns (bytes):计算参数的ABI编码。 bytes): 计算函数选择器和参数的ABI编码 abi.encodeWithSignature(string signature, …) returns (bytes): 等价于* abi.encodeWithSelector

    1.4K20发布于 2018-08-23
  • Quick BI站稳Gartner ABI挑战者象限,打造“人人能用的BI”

    近日,全球权威IT研究和咨询机构Gartner商业智能与分析平台魔力象限报告(Gartner Magic Quadrant for Analytics and Business Intelligence Platforms,简称ABIP)出炉,Quick BI再次获得肯定,并继续蝉联挑战者象限。

    45710编辑于 2024-07-02
领券