什么是交叉编译?我的对交叉编译的理解
关键词:交叉编译
【一句话归纳】:将源代码在A平台使用【某种编译器】去编译,使得生成的二进制文件能在B平台执行,这种行为叫作【交叉编译】,很明显的,【某种编译器】叫作【交叉编译器】。
【平台】:是【硬件平台】+【OS平台】的总称。例如arm的硬件平台+linux_for_arm的操做系统,Intel_x86平台的硬件平台+windows_for_x86操做系统。
【A平台】:通常指预先就存在的平台,或者资源能力强大的平台。例如x86的PC平台。
【B平台】:通常指还没有存在的平台,还在开发研究中,或者资源能力弱小的平台。例如arm开发板。
【为何要交叉编译】
1、一个项目最开始开发的时候,B平台还未搭建好,有多是硬件还在设计中,也有多是OS还在移植中。因此为了软件和硬件同步开发,提升效率,可使用A平台写源代码,而后使用交叉编译,编译出能在B平台执行的二进制文件。
2、B平台已经搭建好了,可是B平台的资源or能力有限,好比arm开发板,CPU、内存很小,编译大型工程速度很慢。因此为了节约时间,提升效率,可使用A平台写源代码,而后使用交叉编译,编译出能在B平台执行的二进制文件。