不管是C/C++、Java、C#、Rust还是Go要发布程序就需要进行程序的编译,而且我们总是希望一些独立的程序可以运行在不同的系统平台,如:Linux、Windows、Mac OSX,为了好的的利用已经有的功能,可能我们的程序中也用到了一些其他的库,编译!编译!!编译!!!
尤其是嵌入式开发,需要在Windows、Mac OSX上为运行Linux的ARM平台开发程序,还得能交叉编译。
交叉编译
在嵌入式交叉编译工具链中主要有两个“Linaro Toolchain”和“Musl”。
在MacOS中编译musl交叉编译工具链 musl是一个简单高效c库,像libc一样,并且它提供应用程序构建功能像gcc,所以它是一个libc + gcc的合体,经常被使用在嵌入式系统中。