什么是工具链和交叉编译器?

时间:2021-12-14 19:32:47

I have had confusion over this terminology for a long time. I have tried to google this question and have been getting some contradictory answers.

长期以来,我一直对这个术语感到困惑。我试着回答这个问题,得到了一些矛盾的答案。

One site says cross compiler is the same as a tool chain, some sites say cross compiler is a part of a toolchain. I have clearly not found this useful.

一个网站说交叉编译器和工具链是一样的,一些网站说交叉编译器是工具链的一部分。我显然没有发现这有用。

To be specific, I have used PowerPCeabi cross-compiler and Atmel AVR toolchain. Are these both toolchains and/or cross-compilers or are they different?

具体地说,我使用了PowerPCeabi交叉编译器和Atmel AVR工具链。这两个工具链和/或交叉编译器是不同的吗?

I guess, my very specific question would be, if I had to put this in my resume, will it be right in saying Experienced in powerpceabi and AVR toolchains ?

我想,我最特别的问题是,如果我必须在我的简历中写这个,那么说有powerpceabi和AVR工具链的经验对吗?

Edit: For the people who marked this question as unclear what you're asking, how much more clear should I have to make this ?

编辑:对于那些把这个问题标记为不清楚的人,你问的是什么?

Modified question: Can I mention powerpceabi and AVR together as toolchains ?

修改后的问题:我可以把powerpceabi和AVR作为工具链一起提到吗?

1 个解决方案

#1


46  

If we define the word "host" to mean a computer on which you are compiling, and "target" as the computer on which you want to run the code, then a native compiler is one where the target and the host are the same (kind). A cross-compiler is a compiler where the target is different from the host.

如果我们定义“主机”一词是指您正在编译的计算机,而“目标”是您希望在其上运行代码的计算机,那么本机编译器是指目标和主机是相同(种类)的计算机。交叉编译器是目标与主机不同的编译器。

A toolchain is the set of compiler + linker + librarian + any other tools you need to produce the executable (+ shared libraries, etc) for the target. A debugger and/or IDE may also count as part of a toolchain.

工具链是为目标生成可执行文件(+共享库等)所需的编译器+链接器+图书管理员+任何其他工具的集合。调试器和/或IDE也可以算作工具链的一部分。

So

所以

Experience with Powerpceabi and AVR toolchains

有Powerpceabi和AVR工具链经验

would be how I'd express it if I had some experience with those.

如果我有经验的话,我就会这么说。

#1


46  

If we define the word "host" to mean a computer on which you are compiling, and "target" as the computer on which you want to run the code, then a native compiler is one where the target and the host are the same (kind). A cross-compiler is a compiler where the target is different from the host.

如果我们定义“主机”一词是指您正在编译的计算机,而“目标”是您希望在其上运行代码的计算机,那么本机编译器是指目标和主机是相同(种类)的计算机。交叉编译器是目标与主机不同的编译器。

A toolchain is the set of compiler + linker + librarian + any other tools you need to produce the executable (+ shared libraries, etc) for the target. A debugger and/or IDE may also count as part of a toolchain.

工具链是为目标生成可执行文件(+共享库等)所需的编译器+链接器+图书管理员+任何其他工具的集合。调试器和/或IDE也可以算作工具链的一部分。

So

所以

Experience with Powerpceabi and AVR toolchains

有Powerpceabi和AVR工具链经验

would be how I'd express it if I had some experience with those.

如果我有经验的话,我就会这么说。