4、深入了解工具链:从选择到构建

深入了解工具链:从选择到构建

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值