工具链学习指南
在软件开发,尤其是嵌入式开发中,工具链的选择和使用至关重要。它直接影响到开发的效率、程序的性能以及系统的兼容性。本文将详细介绍工具链的相关知识,包括C库的选择、工具链的查找、使用crosstool - NG构建工具链,以及工具链的结构和使用方法。
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。
超级会员免费看
订阅专栏 解锁全文
4967

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



