OpenHarmony开发知识点记录之ABI

OpenHarmony系统支持丰富的设备形态,支持多种架构指令集,支持多种操作系统内核;为了应用在各种OpenHarmony设备上的兼容性,本文定义了"OHOS" ABI(Application Binary Interface)的基础标准,包含如下方面。

字节序和字宽

“OHOS” ABI始终采用little-endian,32位系统采用ILP32,64位系统采用LP64。

过程调用规范

过程调用规范(Procedure Call Standard)定义了函数调用的参数传递方式,寄存器使用规则,栈操作规则等;不同C++编译器,不同操作系统,不同架构都有可能采用不同的调用规则。

OpenHarmony系统采用llvm项目中的libc++作为C++运行时库,在系统侧使用libc++.so库来承载,应用侧使用libc++_shared.so来承载,两侧共用一套代码,采用不同的C++命名空间。

浮点格式

采用IEE754作为浮点编码格式,针对long double的格式定义,将在 支持架构ABI 。

可执行文件格式

OpenHarmony系统采用ELF文件格式作为全系统的二进制文件格式。CPU架构相关的格式定义,参考下面对应架构说明。

支持架构ABI

下面介绍下当前“OHOS” ABI中支持的架构以及差异点。

armea

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值