mold:加速大型 Unix 建置的 linker
模具:現代連結器。 Mold 旨在透過最小化建置時間來提高開發人員的生產力,特別是在快速調試-編輯-重建週期中。
秒懂
- 它是什麼?
- 把物件檔連結成執行檔或共享函式庫,重點在縮短 debug、修改、重建循環
- 適合誰用?
- mold:加速大型 Unix 建置的 linker 適合需要把物件檔連結成執行檔或共享函式庫,重點在縮短 debug、修改、重建循環的讀者,前提是平台、依賴與資料格式符合 README 的描述;不適合把未記載的功能當成保證。採用前先依 rui314/mold README 的具體入口執行最小流程,記錄版本、設定檔與輸出,再核對 mold 是否能在你的工作環境完成目標。
- 可以商用嗎?
- 可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 1 天前。
- 用什麼語言寫的?
- 主要是 C++(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。
開源專案深度解析
專案邊界與輸入(mold-1)
rui314/mold 的 README 將專案描述為「mold: A Modern Linker 」。本文只整理倉庫可直接核對的內容,不把 star、Fork 或宣傳語當成品質證明。README 在「mold: A Modern Linker」下寫到:mold is a faster drop-in replacement for existing Unix linkers. It is several times quicker than the LLVM lld linker, the second-fastest open-source linker, which I initially developed a few years ago.。這說明的是專案邊界,不是已完成的生產驗證。(mold-1-0) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 1 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 A。 [rui314-mold-deep-analysis-0-0]
rui314/mold 的 README 將專案描述為「mold: A Modern Linker 」。本文只整理倉庫可直接核對的內容,不把 star、Fork 或宣傳語當成品質證明。README 在「mold: A Modern Linker」下寫到:mold is a faster drop-in replacement for existing Unix linkers. It is several times quicker than the LLVM lld linker, the second-fastest open-source linker, which I initially developed a few years ago.。這說明的是專案邊界,不是已完成的生產驗證。(mold-1-0) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 1 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 B。 [rui314-mold-deep-analysis-0-1]
rui314/mold 的 README 將專案描述為「mold: A Modern Linker 」。本文只整理倉庫可直接核對的內容,不把 star、Fork 或宣傳語當成品質證明。README 在「mold: A Modern Linker」下寫到:mold is a faster drop-in replacement for existing Unix linkers. It is several times quicker than the LLVM lld linker, the second-fastest open-source linker, which I initially developed a few years ago.。這說明的是專案邊界,不是已完成的生產驗證。(mold-1-0) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 1 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 C。 [rui314-mold-deep-analysis-0-2] mold 的文件脈絡也要連同專案版本一起閱讀。這個工具的輸入、輸出、依賴與權限,不能從相鄰專案推測。實際核對時,請把 README 提到的命令、設定鍵、資料檔和錯誤訊息逐一對照,確認結果是否符合這個專案的明確描述。
README 描述的使用路徑(mold-2)
從 README 的「How to use」與相關條目,可以先判斷它是否處理你的實際問題:For GCC before 12.1.0: the -fuse-ld option does not accept mold as a。若需求不同,不應只因專案熱度就採用。本文保留原始專案名、命令與元件名,方便回到一手來源核對。 README 另外列出一項可核對的資訊:For GCC before 12.1.0: the -fuse-ld option does not accept mold as a。這類原文條目可用來設計試跑步驟,但不能取代實際環境測試。(mold-2-0) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 2 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 A。 [rui314-mold-deep-analysis-1-0]
從 README 的「How to use」與相關條目,可以先判斷它是否處理你的實際問題:For GCC before 12.1.0: the -fuse-ld option does not accept mold as a。若需求不同,不應只因專案熱度就採用。本文保留原始專案名、命令與元件名,方便回到一手來源核對。 README 另外列出一項可核對的資訊:For GCC before 12.1.0: the -fuse-ld option does not accept mold as a。這類原文條目可用來設計試跑步驟,但不能取代實際環境測試。(mold-2-0) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 2 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 B。 [rui314-mold-deep-analysis-1-1]
從 README 的「How to use」與相關條目,可以先判斷它是否處理你的實際問題:For GCC before 12.1.0: the -fuse-ld option does not accept mold as a。若需求不同,不應只因專案熱度就採用。本文保留原始專案名、命令與元件名,方便回到一手來源核對。 README 另外列出一項可核對的資訊:For GCC before 12.1.0: the -fuse-ld option does not accept mold as a。這類原文條目可用來設計試跑步驟,但不能取代實際環境測試。(mold-2-0) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 2 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 C。 [rui314-mold-deep-analysis-1-2] mold 的文件脈絡也要連同專案版本一起閱讀。這個工具的輸入、輸出、依賴與權限,不能從相鄰專案推測。實際核對時,請把 README 提到的命令、設定鍵、資料檔和錯誤訊息逐一對照,確認結果是否符合這個專案的明確描述。
資料與執行流程(mold-3)
README 將運作方式分散在「mold: A Modern Linker」等段落。可確認的線索包括:| Program (linker output size) | GNU ld | GNU gold | LLVM lld | mold |-------------------------------|--------|----------|----------|------ | MySQL 8.3 (0.47 GiB) | 10.84s | 7.47s | 1.64s | 0.46s | Clang 19 (1.56 GiB) | 42.07s | 33.13s | 5.。本文不把未寫出的架構、效能或安全邊界補成結論;真正的執行鏈仍要配合目錄、設定檔與版本標籤檢查。(mold-3-0) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 3 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 A。 [rui314-mold-deep-analysis-2-0]
README 將運作方式分散在「mold: A Modern Linker」等段落。可確認的線索包括:| Program (linker output size) | GNU ld | GNU gold | LLVM lld | mold |-------------------------------|--------|----------|----------|------ | MySQL 8.3 (0.47 GiB) | 10.84s | 7.47s | 1.64s | 0.46s | Clang 19 (1.56 GiB) | 42.07s | 33.13s | 5.。本文不把未寫出的架構、效能或安全邊界補成結論;真正的執行鏈仍要配合目錄、設定檔與版本標籤檢查。(mold-3-0) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 3 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 B。 [rui314-mold-deep-analysis-2-1]
README 將運作方式分散在「mold: A Modern Linker」等段落。可確認的線索包括:| Program (linker output size) | GNU ld | GNU gold | LLVM lld | mold |-------------------------------|--------|----------|----------|------ | MySQL 8.3 (0.47 GiB) | 10.84s | 7.47s | 1.64s | 0.46s | Clang 19 (1.56 GiB) | 42.07s | 33.13s | 5.。本文不把未寫出的架構、效能或安全邊界補成結論;真正的執行鏈仍要配合目錄、設定檔與版本標籤檢查。(mold-3-0) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 3 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 C。 [rui314-mold-deep-analysis-2-2] mold 的文件脈絡也要連同專案版本一起閱讀。這個工具的輸入、輸出、依賴與權限,不能從相鄰專案推測。實際核對時,請把 README 提到的命令、設定鍵、資料檔和錯誤訊息逐一對照,確認結果是否符合這個專案的明確描述。
設定檔及命令(mold-4)
第一次安裝應從 README 指出的入口開始。目前可核對的命令是:(mold-4-0) [rui314-mold-deep-analysis-3-0]
git clone --branch stable https://github.com/rui314/mold.git cd mold sudo ./install-build-deps.sh cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=c++ -B build cmake --build build -j$(nproc) sudo cmake --build build --target install(mold-4-1) [rui314-mold-deep-analysis-3-1]
如果倉庫沒有命令,本文不會自行編造步驟,而是建議先閱讀「Why does linking speed matter?」,確認系統依賴、預設埠與首次初始化。(mold-4-2) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 4 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 A。 [rui314-mold-deep-analysis-3-2]
第一次安裝應從 README 指出的入口開始。目前可核對的命令是:(mold-4-0) [rui314-mold-deep-analysis-3-3]
git clone --branch stable https://github.com/rui314/mold.git cd mold sudo ./install-build-deps.sh cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=c++ -B build cmake --build build -j$(nproc) sudo cmake --build build --target install(mold-4-1) [rui314-mold-deep-analysis-3-4]
如果倉庫沒有命令,本文不會自行編造步驟,而是建議先閱讀「Why does linking speed matter?」,確認系統依賴、預設埠與首次初始化。(mold-4-2) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 4 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 B。 [rui314-mold-deep-analysis-3-5]
第一次安裝應從 README 指出的入口開始。目前可核對的命令是:(mold-4-0) [rui314-mold-deep-analysis-3-6]
git clone --branch stable https://github.com/rui314/mold.git cd mold sudo ./install-build-deps.sh cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=c++ -B build cmake --build build -j$(nproc) sudo cmake --build build --target install(mold-4-1) [rui314-mold-deep-analysis-3-7]
如果倉庫沒有命令,本文不會自行編造步驟,而是建議先閱讀「Why does linking speed matter?」,確認系統依賴、預設埠與首次初始化。(mold-4-2) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 4 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 C。 [rui314-mold-deep-analysis-3-8] mold 的文件脈絡也要連同專案版本一起閱讀。這個工具的輸入、輸出、依賴與權限,不能從相鄰專案推測。實際核對時,請把 README 提到的命令、設定鍵、資料檔和錯誤訊息逐一對照,確認結果是否符合這個專案的明確描述。
輸出與觀察點(mold-5)
日常使用取決於專案文件。README 的「mold: A Modern Linker」段落提到:mold is so fast that it is only 2x slower than the cp command on the same machine. If you find that mold is not faster than other linkers, feel free to file a bug report.。設定檔、環境變數、權限與資料目錄只在來源明確時才會記錄;沒有寫出的預設值,應在測試環境驗證並保留回滾副本。 同一部分也提到:For GCC before 12.1.0: the -fuse-ld option does not accept mold as a。(mold-5-0) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 5 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 A。 [rui314-mold-deep-analysis-4-0]
日常使用取決於專案文件。README 的「mold: A Modern Linker」段落提到:mold is so fast that it is only 2x slower than the cp command on the same machine. If you find that mold is not faster than other linkers, feel free to file a bug report.。設定檔、環境變數、權限與資料目錄只在來源明確時才會記錄;沒有寫出的預設值,應在測試環境驗證並保留回滾副本。 同一部分也提到:For GCC before 12.1.0: the -fuse-ld option does not accept mold as a。(mold-5-0) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 5 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 B。 [rui314-mold-deep-analysis-4-1]
日常使用取決於專案文件。README 的「mold: A Modern Linker」段落提到:mold is so fast that it is only 2x slower than the cp command on the same machine. If you find that mold is not faster than other linkers, feel free to file a bug report.。設定檔、環境變數、權限與資料目錄只在來源明確時才會記錄;沒有寫出的預設值,應在測試環境驗證並保留回滾副本。 同一部分也提到:For GCC before 12.1.0: the -fuse-ld option does not accept mold as a。(mold-5-0) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 5 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 C。 [rui314-mold-deep-analysis-4-2] mold 的文件脈絡也要連同專案版本一起閱讀。這個工具的輸入、輸出、依賴與權限,不能從相鄰專案推測。實際核對時,請把 README 提到的命令、設定鍵、資料檔和錯誤訊息逐一對照,確認結果是否符合這個專案的明確描述。
限制與未說明事項(mold-6)
README 能確認的限制比宣傳頁更重要。現有來源沒有證明rui314/mold具備固定相容矩陣、服務等級、效能基準或長期支援承諾。README 只明確寫到「mold supports x86-64, i386, ARM64, ARM32, 64-bit/32-bit little/big-endian RISC-V, 32-bit PowerPC, 64-bit big-endian PowerPC ELFv1, 64-bit little-endian PowerPC ELFv2, s390x, 64-bit/32-bit LoongArch, SPARC64, m68k, and SH-4.」。這些未知項應列入選型紀錄,不要改成肯定句。(mold-6-0) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 6 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 A。 [rui314-mold-deep-analysis-5-0]
README 能確認的限制比宣傳頁更重要。現有來源沒有證明rui314/mold具備固定相容矩陣、服務等級、效能基準或長期支援承諾。README 只明確寫到「mold supports x86-64, i386, ARM64, ARM32, 64-bit/32-bit little/big-endian RISC-V, 32-bit PowerPC, 64-bit big-endian PowerPC ELFv1, 64-bit little-endian PowerPC ELFv2, s390x, 64-bit/32-bit LoongArch, SPARC64, m68k, and SH-4.」。這些未知項應列入選型紀錄,不要改成肯定句。(mold-6-0) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 6 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 B。 [rui314-mold-deep-analysis-5-1]
README 能確認的限制比宣傳頁更重要。現有來源沒有證明rui314/mold具備固定相容矩陣、服務等級、效能基準或長期支援承諾。README 只明確寫到「mold supports x86-64, i386, ARM64, ARM32, 64-bit/32-bit little/big-endian RISC-V, 32-bit PowerPC, 64-bit big-endian PowerPC ELFv1, 64-bit little-endian PowerPC ELFv2, s390x, 64-bit/32-bit LoongArch, SPARC64, m68k, and SH-4.」。這些未知項應列入選型紀錄,不要改成肯定句。(mold-6-0) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 6 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 C。 [rui314-mold-deep-analysis-5-2] mold 的文件脈絡也要連同專案版本一起閱讀。這個工具的輸入、輸出、依賴與權限,不能從相鄰專案推測。實際核對時,請把 README 提到的命令、設定鍵、資料檔和錯誤訊息逐一對照,確認結果是否符合這個專案的明確描述。
授權與維護訊號(mold-7)
授權資訊來自倉庫資料與 LICENSE:目前 SPDX 標識為 MIT。這代表分發和修改要依授權處理,但不等於完成安全審查。憑證管理、網路暴露、日誌保存與第三方依賴若未在 README 說明,仍需逐項檢查。(mold-7-0) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 7 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 A。 [rui314-mold-deep-analysis-6-0]
授權資訊來自倉庫資料與 LICENSE:目前 SPDX 標識為 MIT。這代表分發和修改要依授權處理,但不等於完成安全審查。憑證管理、網路暴露、日誌保存與第三方依賴若未在 README 說明,仍需逐項檢查。(mold-7-0) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 7 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 B。 [rui314-mold-deep-analysis-6-1]
授權資訊來自倉庫資料與 LICENSE:目前 SPDX 標識為 MIT。這代表分發和修改要依授權處理,但不等於完成安全審查。憑證管理、網路暴露、日誌保存與第三方依賴若未在 README 說明,仍需逐項檢查。(mold-7-0) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 7 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 C。 [rui314-mold-deep-analysis-6-2] mold 的文件脈絡也要連同專案版本一起閱讀。這個工具的輸入、輸出、依賴與權限,不能從相鄰專案推測。實際核對時,請把 README 提到的命令、設定鍵、資料檔和錯誤訊息逐一對照,確認結果是否符合這個專案的明確描述。
採用前的專案核對(mold-8)
維護判斷只能引用可追溯訊號:預設分支為 main,快照記錄 16727 個 star、538 個 fork、187 個開放 issue。README 的「Why does linking speed matter?」寫到:If you are using a compiled language such as C, C++, or Rust, a build consists of two phases. In the first phase, a compiler compiles source files into object files (.o files).。這可用來安排升級複核,不能取代變更測試。 維護時也應對照 README 的「Why does linking speed matter?」段落:The second phase can be time-consuming if your build output is large. mold can speed up this process, saving you time and preventing distractions while waiting for a lengthy build to finish.。(mold-8-0) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 8 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 A。 [rui314-mold-deep-analysis-7-0]
維護判斷只能引用可追溯訊號:預設分支為 main,快照記錄 16727 個 star、538 個 fork、187 個開放 issue。README 的「Why does linking speed matter?」寫到:If you are using a compiled language such as C, C++, or Rust, a build consists of two phases. In the first phase, a compiler compiles source files into object files (.o files).。這可用來安排升級複核,不能取代變更測試。 維護時也應對照 README 的「Why does linking speed matter?」段落:The second phase can be time-consuming if your build output is large. mold can speed up this process, saving you time and preventing distractions while waiting for a lengthy build to finish.。(mold-8-0) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 8 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 B。 [rui314-mold-deep-analysis-7-1]
維護判斷只能引用可追溯訊號:預設分支為 main,快照記錄 16727 個 star、538 個 fork、187 個開放 issue。README 的「Why does linking speed matter?」寫到:If you are using a compiled language such as C, C++, or Rust, a build consists of two phases. In the first phase, a compiler compiles source files into object files (.o files).。這可用來安排升級複核,不能取代變更測試。 維護時也應對照 README 的「Why does linking speed matter?」段落:The second phase can be time-consuming if your build output is large. mold can speed up this process, saving you time and preventing distractions while waiting for a lengthy build to finish.。(mold-8-0) mold:加速大型 Unix 建置的 linker 的 README 將這個判斷限制在已公開的功能與文件。核對 rui314/mold 時,可從專案 README、main 分支與第 8 節列出的入口開始;若要測試,應使用該專案列出的命令或檔案,觀察實際輸出。 本節記號 C。 [rui314-mold-deep-analysis-7-2] mold 的文件脈絡也要連同專案版本一起閱讀。這個工具的輸入、輸出、依賴與權限,不能從相鄰專案推測。實際核對時,請把 README 提到的命令、設定鍵、資料檔和錯誤訊息逐一對照,確認結果是否符合這個專案的明確描述。
編輯結論
mold:加速大型 Unix 建置的 linker 適合需要把物件檔連結成執行檔或共享函式庫,重點在縮短 debug、修改、重建循環的讀者,前提是平台、依賴與資料格式符合 README 的描述;不適合把未記載的功能當成保證。採用前先依 rui314/mold README 的具體入口執行最小流程,記錄版本、設定檔與輸出,再核對 mold 是否能在你的工作環境完成目標。
社群筆記