首页 > 代码库 > GCC交叉编译链命名
GCC交叉编译链命名
命名格式:
arch[-vendor][-os]-abi
arch:CPU的架构
vendor:工具链的供应商
os: 目标上运行的操作系统,不同的操作系统对应着不同的C库,例如 newlib、glibc,、crt0等等。在程序的连接阶段将连接这些不同的C库。
abi: 指定应用程序的二级制文件接口规定,确保不同的编译链编译的代码能够兼容。比如说,ARM EABI是一种由ARM公司建立的标准,允许一种工具链连接其他工具链生成的目标文件。
举例:
arm-none-eabi CPU为ARM架构,没有供应商,编译的程序不用于操作系统,编译二进制接口是ARM EABI。常用于用于编译ARM架构的裸机系统(包括linux的 boot、kernel)。
arm-none-linux-gnueabi CPU为ARM架构,没有供应商,编译的程序运行在Linux操作系统,编译二进制接口是 GNU EABI。也就是说用于以ARM架构为基础的Linux操作系统上,常用于编译ARM架构的u-boot、linux内核、linux应用等。
arm-eabi 安卓系统的ARM编译器
参考资料:Lecture 3: Toolchains
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。