深入了解工具链:从选择到使用
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库,可从 这里 获取。它体积较大,而且直到最近都不太容易配置,但它是POSIX API最完整的实现,采用LGPL 2.1许可证。
- musl libc :可从 这里 获取。它相对较新,但作为GNU libc的轻量级且符合标准的
超级会员免费看
订阅专栏 解锁全文

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



