除了操作系统导致的文件格式不一致之外,本质上是因为不同平台cpu使用的架构不一致导致, 目前主流的三大cpu架构x86,ARM,MIPS,每个架构都对应着属于自己的一套汇编指令集, 我们编写的程序,最终都会解码成汇编指令被..., 这个时候我们就要使用交叉编译工具, 那这种编译的模式就不叫本机编译了,而叫做交叉编译
为什么需要交叉编译
原因:
你正在编译一款linux应用,但你手上只有一台windows电脑,这个时候交叉编译能帮上大忙...目标设备环境不允许,比如单片机, 内存和性能无法支持程序的编译
交叉编译工具
交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi]
arch – 体系架构,如...ARM,MIPS
vendor – 工具链提供商
os – 目标操作系统
eabi – 嵌入式应用二进制接口(Embedded Application Binary Interface)
根据对操作系统的支持与否...,ARM GCC可分为支持和不支持操作系统,如
arm-none-eabi:这个是没有操作系统的,适用于ARM架构裸机,工具链提供商未知,嵌入式应用二进制接口,这个工具不支持那些跟操作系统关系密切的函数