繁体   English   中英

IDE(如 CodeBlocks)中的 linker、编译器、汇编器和精化器是什么?

[英]What is linker, compiler, assembler and elaborator in an IDE like CodeBlocks?

IDE 由 linker、编译器、汇编器和精化器组成。 我想了解它们如下:

  • 他们的关系是什么?
  • 它们是如何连接的?
  • 他们的角色是什么?
  • 他们的偏好。

如果可能,什么是linker脚本?

有人,请帮我做图形。 提前致谢。

编译器汇编器将源代码作为输入,生成机器语言(CPU 指令的二进制形式)的 object 代码文件。 主要区别在于编译器获取以 C/C++ 等高级语言编写的源代码,同时,汇编器获取以目标体系结构的特定汇编语言(代码将运行的 CPU)编写的源代码。 但是某些编译器可以将 output 汇编文本作为输入提供给汇编器。

linker将这些 object 代码文件放在一起并生成最终的可执行文件(或库)。 尽管某些编译器/汇编器没有外部 linker 因为链接是由它们在内部执行的。

linker 脚本在广义上是一种配置文件,它告诉 linker如何组合 object 文件的详细信息。

详细说明器或编辑器是您键入源代码的地方,它通常集成到 CodeBlocks 和 Visual Studio 等 IDE 中。

它们的关系如下: Editor -> Compiler or Assembler -> Linker (Configured by linker script) -> Final executable or library

他们没有任何偏好 他们做他们该做的事,他们没有选择权,我们告诉他们该做什么。

有关它们和示例的更多信息,请参阅这篇文章和谷歌“链接器脚本”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM