arm-linux-gnueabi、arm-linux-gnueabihf 交叉编译器区别

1、arm-linux-gnueabi:

使用软件浮点(软浮点)。这意味着所有的浮点运算都将由软件库来处理,而不会利用硬件中的浮点运算单元。因此,生成的目标代码包含了对软件浮点库的调用。

2、arm-linux-gnueabihf:

使用硬件浮点(硬浮点)。这意味着编译器会生成使用硬件浮点单元进行计算的指令,从而实现更高效的浮点运算。同时,链接器还会将代码链接到针对硬浮点的库。

ea(小端)

be(大端)

都是小端架构的,区别就是浮点数是通过编译器根据IEEE754标准实现的还是CPU指令集来处理浮点数,就像是X86上面的SSE指令集。

通常用ihf 就可以了,但是如果目标平台的ARM CPU太垃圾不支持硬浮点的话,就只能用 i 版了。

相关推荐
高亦真1 小时前
今天是学习嵌入式的第39天
linux·学习·算法
AR-26710-1 小时前
Linux Day8——FHS文件系统层次
linux
小葱运维1 小时前
日志规范(K8s 结构化日志)
运维·开源·云计算
qq_297670871 小时前
Ubuntu 打开系统应用老弹密码?三步彻底关闭免密
linux
杨云龙UP1 小时前
DB2 HADR 主备切换实战:SQL1639N 认证问题、备库只读与双向 Takeover
linux·运维·数据库·db2·主备切换·角色互换
半仙白桑2 小时前
内核篇第一讲:linux创建进程
linux·fork·创建进程
吴声子夜歌2 小时前
Shell编程实例——bash的配置与自定义(二)
linux·运维·shell
风笙9782 小时前
[内存管理] page数据结构
linux
Dovis(誓平步青云)2 小时前
突破 32 位瓶颈:64 位 XID 如何化解事务号回卷危机
运维·服务器·人工智能·docker·容器