Linux系统交叉编译的具体方法是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
所谓的交叉编译就是在一个平台上生成另一个平台上的可执行代码,在不同的操作系统运行同一个体系结构。
1、交叉编译工具链编译规则 arch-vendor[-(gnu)eabi]
字段解释:
arch:体系架构,如ARM、MIPS
vendor:工具链提供商
os:目标操作系统
eabi:嵌入式应用二进制接口(Embedded Application Binary Interface)
根据对操作系统的支持与否,ARM GCC可分为支持与不支持操作系统,如:
arm-none-eabi:这个是没有操作系统的
arm-none-linux-eabi:用于linux的,使用glibc
arm-none-eabi-gcc:用于编译ARM架构的裸机系统
arm-none-linux-gnueabi-gcc:用于编译基于ARM架构的linux系统
2、ABI&EABI ABI:二进制应用程序接口(Application Binary Interface),在计算机中,应用二进制接口描述了应用程序和操作系统之间或其它应用程序的低级接口
EABI:嵌入式ABI,嵌入式应用二进制接口指定了文件格式、数据类型、寄存器使用、堆积组织优化和在一个嵌入式软件中的参数的标准约定。开发者使用自己的汇编语言也可以使用EABI
作为与兼容的编译器生成的汇编语言的接口。
二者区别:ABI是计算机上的,EABI是嵌入式平台上。
3、glibc glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,是一种C函数库,是程序运行时使用到的一些API集合,一般是已预先编译好,以二进制代码形式存在linux类系统中,
GNU C运行期库通常作为GNU C编译程序的一个部分发布。
关于Linux系统交叉编译的具体方法是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网行业资讯频道了解更多相关知识。