系統開發 什麼是toolchain ?

在系統開發中,Toolchain通常是指一組用於開發、編譯、調試和部署軟件的工具集合。

這個工具集合可能包括編譯器、連結器、除錯器、自動化測試工具、分析器、編輯器和其他一些必要的工具。

Toolchain的目的是提供開發人員一個統一的平台,讓他們可以使用這些工具來開發軟件,並且能夠確保產生的代碼能夠在目標平台上正常運行。

Toolchain可以用於各種系統開發,包括嵌入式系統、桌面應用程序、服務器端應用程序等等。

 

在開發軟體過程中,一組工具鏈(英語:toolchain)是一系列用於製作軟體程式的工具。這些工具一般一個接一個地運用,上一個工具的輸出即是下一個工具的輸入,因此得名。但工具鏈這個詞彙也可指涉這些工具並無此相依執行的限制。

通常一個軟體開發的工具鏈由以下組成:

  • 編譯器
  • 連結器 (將原始碼/目的碼轉換成可執行程式檔)
  • 函式庫 (提供與作業系統之間的介面)
  • 除錯器 (用來測試、除錯所產出的程式)

wiki:toolchain

In software, a toolchain is the set of computer programs (tools) that are used to create a product (typically another computer program or system of programs). The tools may be used in a chain, so that the output of each tool becomes the input for the next, but the term is used widely to refer to any set of linked development tools.

 

GNU工具鏈(英語:GNU toolchain)是一個包含了由GNU計劃所產生的各種編程工具的集合,由自由軟體基金會負責維護工作。這些工具形成了一條工具鏈,用於開發應用程式和作業系統

GNU工具鏈在針對嵌入式系統的Linux核心、BSD及其它軟體的開發中起著至關重要的作用。GNU工具鏈中的部分工具也被Solaris, Mac OS X, Microsoft Windows (via Cygwin and MinGW/MSYS) and Sony PlayStation 3[1]等其它平台直接使用或進行了移植。

wiki:GNU toolchain

The GNU toolchain is a blanket term for a collection of programming tools produced by the GNU Project. These tools form a toolchain (suite of tools used in a serial manner) used for developing applications and operating systems.


相關應用:

做embedded system是需要toolchain。但當編譯某些Library或是open source的程式時,若遇到廠商所提供的toolchain版本過舊而產生錯誤,就要自己建力特定版本的toolchain來解決問題。

以下是一些網友的介紹:


據說CodeSourcery的幾個員工都是領導 GCC 發展的大人物,所以CodeSourcery 出品的 toolchain品質有保證。







以下是一些常見的 toolchain 組合:
  1. Web 開發:HTML/CSS/JavaScript + React + Node.js + Express + MongoDB
  2. 行動應用程式開發:Java/Kotlin/Objective-C/Swift + Android/iOS SDK + React Native/Xamarin/Flutter
  3. 嵌入式系統開發:C/C++ + GCC + GDB + Make + OpenOCD
  4. 機器學習開發:Python + NumPy + TensorFlow + Keras + Jupyter Notebook
  5. DevOps:Git + Jenkins/Travis CI/CircleCI + Docker + Kubernetes

這些組合不是固定不變的,實際上,不同的開發團隊、專案和技術堆棧都會使用不同的工具鏈組合。

留言

Google Search

推薦內容橫式

本月熱門文章

[FAANG面試] Amazon/AWS 領導力準則 14 Amazon Leadership Principles

日本旅行 去東京可以在哪邊買羽球相關用品? WEMBLEY/WINDSOR/梭家/Victoria/Alpen TOKYO

PM到底在做什麼 ? Project Manager, Product Manager 以及 Program Manager的差別

蔣經國時代 1979年 美麗島事件 回顧

快速上手的ComfyUI與Stable Diffusion生成圖片的cheat sheet

柯文哲弊案:關於橘子

ComfyUI搭配各個Stable Diffusion模型版本的介紹、檔案名稱及相應的目錄結構。

許多深藍人士懷念的兩蔣時代

川普第二次擔任美國總統

Netflix 勁爆女子監獄 Orange is the New Black /OINTB 成立了 Poussey Washington Fund 這個基金將會幫助更生人及移民人權問題 !!

這個網誌中的熱門文章

Android應用開發豆知識:利用 adb 安裝 apk 到裝置上

Android 中文輸入法 官方版 ! Gboard - Google 鍵盤 開始支援注音輸入啦

Google Play 推薦Android app 誠徵App排行榜

北京故宮首訪,一窺清宮秘史 大玉兒 & 甄嬛

[家教][社會觀察] 建中教我的事 沒上建中被父母親折磨? 在建中到底是如何 ...

[FAANG面試] Amazon/AWS 領導力準則 14 Amazon Leadership Principles

Acer ICONIA Smart S300 更新後越來越好 Acer也有出手機?!

[品質控制] 什麼是Sanity test ? 軟體測試常見名詞整理 包含不同部門的測試人員負責範圍

新鮮人找工作:職場名詞解釋 AE FAE Pre-sales Post-sales