1、交叉编译工具链编译规则 arch
[-(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相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多 等着你!