什么是工具链?

7
我在谷歌上搜索了一下,得到了以下结果。
工具链是一组编程工具,用于执行复杂的软件开发任务或创建软件产品,通常是另一个计算机程序或一组相关程序。
从以上段落中,我理解到工具链或编译器工具链用于开发任何软件产品,如操作系统(如果我错了,请纠正我)。
如果是这样,我目前正在使用Ubuntu 16.04。我发现它预装了编译器工具链。但是操作系统已经完全开发完成了,因此在这里需要工具链除非构建单独的软件产品。

我可以知道-1的原因吗? - Sandesh Ghanta
1个回答

3
虽然构建操作系统本身需要完整的工具链(编译器、汇编器、链接器等),但构建其他软件包也同样需要。如果在Linux上下载一个软件包,其安装说明要求执行类似于./configure && make && make install的变体,则需要使用该工具链进行编译。同样地,Linux(以及所有GNU/Ubuntu软件包)是在GNU/Linux系统上开发的,因此需要一个工具链来支持下一个版本操作系统的开发工作。

谢谢。那么,我可以使用相同的工具链在Ubuntu上编译一个独立的操作系统吗? - Sandesh Ghanta
1
是的,你可以使用你的Ubuntu安装作为构建其他操作系统的基础。如果你对了解此过程感兴趣,我会推荐Linux From Scratch项目(http://www.linuxfromscratch.org/),这是一套从源代码构建自己的GNU/Linux发行版的指南。这不是获得一个工作中的Linux系统最简单或最快的方法,但在此过程中你将学到很多Unix和GNU/Linux相关的知识。 - C. Tindall

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接