深入了解工具链:从选择到构建
1. 交叉编译器示例
先来看一个使用交叉编译器的例子:
$ mipsel-unknown-linux-gnu-gcc -dumpmachine
mipsel-unknown-linux-gnu
这个命令展示了交叉编译器的目标机器信息。
2. 选择 C 库
Unix 操作系统的编程接口是用 C 语言定义的,如今由 POSIX 标准规定。C 库就是这个接口的实现,它是 Linux 程序访问内核的通道。即便你使用其他语言(如 Java 或 Python)编写程序,相应的运行时支持库最终也会调用 C 库。
当 C 库需要内核服务时,会通过内核系统调用接口在用户空间和内核空间之间进行切换。虽然可以直接进行内核系统调用绕过 C 库,但这很麻烦,而且几乎没有必要。
有几种 C 库可供选择,主要选项如下:
- glibc :这是标准的 GNU C 库,可从 http://www.gnu.org/software/libc 获取。它体积较大,直到最近可配置性都不太好,但它是 POSIX API 最完整的实现,遵循 LGPL 2.1 许可。
- musl libc :可从 https://w
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



