Author Image

Michael Chen 的技術文件

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

Cover image

雖然 C 是跨平台語言,但卻不像 Java 等語言可立即取得跨平台的特性,而要經過一些努力。這是因為不同系統的系統 C API 不會完全相同。本文會介紹一些和撰寫跨平台 C 函式庫相關的議題,供想要撰寫跨平台 C 程式碼的讀者參考。 繼續閱讀

Cover image

雖然現在還會用 CGI 寫網頁程式的程式設計者很少,CGI 程式對於小型網頁程式來說仍是方便簡單的選擇。本文介紹在 Nginx 上搭配 fcgiwrap 執行 CGI 程式的流程,給想寫 CGI 程式的讀者做個參考。 繼續閱讀

Cover image

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

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

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