當時我把 vcpkg 當作「Windows 上的套件管理工具」,但後來回頭看,這樣的理解其實不太完整。 vcpkg 不只是套件管理器,而是 繼續閱讀
本系列文章介紹 Windows 平台上的程式設計相關議題。
本文的出發點並不是單純介紹微軟官方的開發方式,而是從一般程式設計與系統開發的觀點來理解 Windows 的設計與工具鏈。部分內容也會與 Unix 系統進行比較,讓讀者能從不同角度理解 Windows 程式設計的環境與特色。
本系列的內容源於作者在 Windows 上重新建立開發環境的過程。為了讓開發流程更接近常見的開源軟體生態,文中會介紹一些常見的開發工具,例如 MSYS2、Cygwin、WSL、vcpkg 等。
透過這些工具,可以在 Windows 上建立較為完整的開發環境,同時也能讓程式設計者在不同作業系統之間切換時,保有相對一致的開發流程。
Windows 雖然是封閉原始碼的系統,但作為目前最普遍的桌面平台之一,程式設計者在實務上往往仍需要與其互動。因此,本系列也會整理與 Windows 平台相關的程式設計知識與工具。
MinGW + MSYS 是 GCC 在 Windows 上的移植品,而 MSYS2 則是新版本的 MinGW。對於習慣自由軟體的程式設計者來說,MSYS2 是值得考慮的 C 和 C++ 開發環境。 繼續閱讀
當應用程式寫完後,會將該程式移到異地執行,這時候就牽涉到部署程式的議題。部署程式的方式會因平台而異,本文介紹在 Windows 上部署自 MSYS2 環境編譯出來的執行檔的方式。 繼續閱讀
雖然 Go 語言是編譯語言,但 Go 語言使用起來卻如同直譯語言般簡單,因此可用來當成另一個自動化日常事務的腳本語言。本文介紹以 Go 語言做為腳本語言的優缺點,並展示一個簡短的例子。 繼續閱讀
awk 和 grep 類似,本質上都是過濾文字串流的過濾器。但 awk 具有完整的程式語言且內建處理欄位的能力,而 grep 缺乏這些特性。本文介紹在 Windows 上使用 awk 的方式。 繼續閱讀
相對於如日中天的 Python,Perl 正在式微。所以,本文不會深入地介紹 Perl,而會假定程式設計者在 Windows 上使用 Perl 寫一行程式和簡短的命令稿為目標來學習 Perl。 繼續閱讀
Unix Toolchain 並非 Windows 的原生工具。許多移植至 Windows 的開源開發軟體,往往會自行綑綁獨立的 Unix 工具鏈。這種做法極易導致系統內出現大量重複的工具,並因版本差異引發行為不一致的非預期錯誤。 繼續閱讀