Author Image

Michael Chen 的技術文件

程式設計、開放原始碼、技術雜談

Cover image

Node.js 這類直譯語言易於撰寫程式,但部署起來就沒那麼方便,而且不能保護原始碼。本文介紹的 Nexe 可以將 Node.js 程式和運行環境包成執行檔,發佈到沒有 Node.js 的目標系統上。 繼續閱讀

Cover image

前言 直接使用程式碼來呈現 (資料結構和) 演算法,往往需注意過多細節,像是型別、陣列長度、存取權限、記憶體管理等,而且程式語言很多,單一語言能滿 繼續閱讀

Cover image

在許多 C 語言教材中,會提到 C 語言是跨平台語言。然而,基礎教材只會碰觸到語法和標準函式庫的層面,這些層面已經是跨平台的。在越過語法和標準函式庫後,C 語言的跨平台並不是隨手可得的,而要經過一些額外的努力。 繼續閱讀

Cover image

有一些針對特定硬體而設計的 C 或 C++ 編譯器,像是 Intel C++ Compiler,會針對特定硬體去優化,可以享受特定硬體所帶來的益處。由於 Intel 平台相當普遍,這個編譯器值得注意。 繼續閱讀

Cover image

在手持裝置、嵌入式裝置等資源受限的裝置中,節能是重要的考量。當裝置上的程式更節能,裝置就可以運行更久。本文從節能環保的觀點來比較程式語言,讓讀者在選擇程式語言時,多一個參考的依據。 繼續閱讀

Cover image

當我們要寫應用程式時,很少會只用標準函式庫的功能。這時候,我們需要第三方函式庫來補足標準函式庫不足之處。對於小型任務,還勉勉強強可以自製輪子,但對於 GUI 函式庫或其他大型函式庫,就超出單一開發者的能力了。所以還是要會處理 C 專案的相依性。 繼續閱讀

Cover image

雖然 Golang 是跨平台的編譯語言,但我們不會把所有的程式碼都用 Golang 寫。由於現存的 C 或 C++ 函式庫已經使用多年且運行良好,不會為了要使用 Golang 就重寫。反之,應該要讓 Golang 直接使用現有的 C 或 C++ 程式碼。 繼續閱讀

Cover image

CMake 除了可以用來建立應用程式專案,也可用來建立函式庫專案。藉由 CMake 跨平台的特性,讓函式庫更容易分享出去。 繼續閱讀

Cover image

在矩陣零值所占比率夠高時,稀疏矩陣在空間上會比傳統矩陣來得節省。本範例程式會展示使用串列的串列來實作的稀疏矩陣。 繼續閱讀

Cover image

在本文中,我們藉由以 CMake 為基礎的 Hello World 程式專案來展示 CMake 的使用方法。由於 C 程式的部分相當簡單,本文的重點會放在 CMake 的使用方式以及設定檔撰寫上面。 繼續閱讀