什么是toolchain
为了生成可执行程序或者库文件,需要编译器链接器等开发工具,编译器将源代码编译为目标文件,链接器将目标文件,库文件链接成可执行文件。这些开发工具的集合称之为toolchain,包括预处理器,编译器,汇编器,链接器和调试器等。
GNU toolchain
用于开发GNU操作系统(Linux系统)上的可执行程序或库文件的工具链
- ld - the GNU linker.
- as - the GNU assembler.
- gcc - the GNU compiler
- nm - Lists symbols from object files.
- readelf - Displays information from any ELF format object file.
- objdump - Displays information from object files.
Ubuntu16.04 toolchain
NDK toolchain
用于开发Android系统上的可执行程序或库文件的工具链
- aarch64-linux-android-gcc
- aarch64-linux-android-g++
- aarch64-linux-android-ar 库管理工具
- aarch64-linux-android-as 汇编器
- aarch64-linux-android-ld 链接器
toolchain命名
- x86_64-linux-gnu-gcc (x86_64架构-Linux内核-GNU操作系统-gcc)
- aarch64-linux-android-gcc (aarch64架构-Linux内核-Android操作系统-gcc)
Ubuntu等Linux发行版和Android操作系统都是Linux内核;
我们通常所说的Linux操作系统实际上只是内核是Linux内核,其他系统软件都是GNU软件,更确切的说应该是GNU操作系统或者GNU/Linux操作系统
来源:https://www.cnblogs.com/cristiano-duan/p/12284254.html