87
A
回答
122
編譯是將源代碼轉換爲目標代碼的行爲。
鏈接是將目標代碼與庫結合到原始可執行文件中的行爲。
Building是由編譯和鏈接組成的序列,可能還有其他任務,如安裝程序創建。
許多編譯器在編譯源代碼後自動處理鏈接步驟。
6
它們通常用於表示相同的事物。然而,「建立」也可以意味着編譯和鏈接整個應用程序(在例如C和C++的情況下),或甚至更多,包括,除其他
- 包裝
- 自動(單元的全部過程和/或集成)測試
- 安裝代
- 安裝/部署
- 文件/現場發電
- 報告生成(如測試結果,覆蓋)。
有喜歡Maven系統,其與生命週期,它由幾個階段,產生不同的僞影,可能使用的結果和工件從先前階段的概念概括此。
16
在計算機軟件的領域,術語軟件構建指要麼轉換源代碼文件到獨立軟件工件(一個或多個),可以在計算機上運行的過程中,或者這樣做的結果。軟件構建的最重要步驟之一是彙編過程,其中源代碼文件被轉換爲可執行代碼。
雖然簡單程序的過程由一個單一的文件被編譯,對於複雜軟件的源代碼可以由許多文件,並可以以不同的方式產生許多不同的版本相結合。
2
大多數人可能會互換使用這些條款。 你可以看到一個細微差別:編譯只是你通過編譯器傳遞一些源文件的步驟(gcc,javac,無論)。
構建可以被視爲檢查源的更一般過程,爲已編譯的工件創建目標文件夾,檢查依賴關係,選擇必須編譯的內容,運行自動化測試,創建tar/zip/ditributions,推送到一個FTP等...
7
構建可以被看作是一個腳本,它包含許多步驟 - 其中的主要步驟是編譯代碼。 其它可以
- 運行測試
- 報告(例如覆蓋)
- 靜態分析
- 前和生成後對某些文件的步驟
- 運行自定義工具
- 創建安裝
- 爲它們添加標籤並將它們部署/複製到存儲庫
4
根據我的經驗,我會說「編譯」是指將一個或多個人類可讀的源文件轉換爲字節碼(C語言中的目標文件),而「構建」指定整個編譯,鏈接過程和任何還需要完成整個軟件包或項目。
相關問題
- 1. 編譯x64代碼時,「x86_amd64」和「amd64」有什麼區別?
- 2. 代碼有什麼區別
- 3. 代碼和程序有什麼區別?
- 4. 我的代碼和教程代碼有什麼區別?
- 5. 困惑!代碼第一和代碼之間有什麼區別?
- 6. 原始代碼和修改代碼有什麼區別?
- 7. EXC_BAD_ACCESS中的代碼= 1和代碼= 2有什麼區別?
- 8. 下面的代碼1和代碼2有什麼區別?
- 9. 代碼審查和代碼審計有什麼區別?
- 10. 什麼是WordPress短代碼?代碼中的代碼有什麼區別?
- 11. 在WinXP和Win7下delphi代碼執行的區別。爲什麼?
- 12. Slurm:在salloc vs srun下執行的代碼有什麼區別
- 13. 提前編譯代碼和本機編譯代碼之間的區別是什麼
- 14. 這兩個代碼有什麼區別?
- 15. 這段代碼有什麼區別
- 16. 這些verilog代碼有什麼區別?
- 17. 這兩個代碼有什麼區別
- 18. 這些C++代碼有什麼區別?
- 19. 這兩個代碼有什麼區別?
- 20. 這兩個代碼有什麼區別
- 21. 以下代碼段有什麼區別?
- 22. 這段代碼有什麼區別?
- 23. 這段代碼(extjs)有什麼區別?
- 24. 這兩位代碼有什麼區別?
- 25. 兩個代碼有什麼區別
- 26. 2段代碼有什麼區別?
- 27. 這些代碼有什麼區別?
- 28. 這兩段代碼有什麼區別?
- 29. 在VB.NET和C#中編寫代碼有什麼區別?
- 30. 代碼未被泄露時的編譯和執行;在代碼
http://stackoverflow.com/q/2650168/632951 – Pacerier 2016-08-03 20:48:53