许多时候我们是用mac来编程。毕竟mac是正统的BSD的后裔。shell直接就是BSD的shell环境。这样对程序员而言,是天然友好的。
但是现在生产力环境是Linux,mac下编译的东西没发直接在Linux下运行。这个时候,需要有交叉编译器来构造这样的二进制程序,这样在mac下编写、编译的程序,也可以在Linux运行。
可以用crosstool-ng来产生适用于不同Linux平台的交叉编译器。在mac下,可以用如下命令来安装crosstool-ng
brew install crosstool-ng mpfr gmp grep
查看支持的samples
ct-ng list-samples
查看x86_64-ubuntu18.04的sample
ct-ng show-x86_64-ubuntu18.04-linux-gnu
选择x86_64-ubuntu18.04-linux-gnu
ct-ng x86_64-ubuntu18.04-linux-gnu
进行个性化配置
ct-ng menuconfig
生成交叉编译器
ct-ng build
也可以针对CentOS,生成同样的交叉编译工具。以针对不同Linux平台,提供统一的交叉编译器。
这样,Mac机器不再是一个简单的瘦客户端,而且可以在上面跨平台开发,并可以进行编译检查工作。而且还可以提供集成环境。
当然runtime检查,还需要在真实的Linux平台上运行。