簡體   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