Author Image

Michael Chen 的技術文件

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

Cover image

在先前的文章中,我們以概念為主,介紹撰寫跨平台 C 程式相關的議題。在本文中,我們延續這個議題,但會著重實際的工具使用。讀者可以將本文和先前的文章對照著看,對於撰寫跨平台 C 程式會更了解。 繼續閱讀

Cover image

一般來說,我們在寫 Objective-C 類別時,至少會繼承 NSObject,因為該類別已經實作物件應有的的基本行為。然而,若不想引入 Foundation 物件庫,其實還是可以自行用 Objective-C 的運行期函式庫實作不依賴 NSObject 的類別。本文以簡單的實例來展示如何實作這樣的類別。 繼續閱讀

Cover image

在 Ajax 大量地出現在網頁程式時,程式設計者已經不太寫 CGI 程式。所以,有關 CGI 程式的教學不會提到 Ajax 的部分。然而,CGI 界面並沒有寫死 HTTP 方法。雖然使用 CGI 程式來回應 Ajax 請求的機會甚少,但並非不可行。在本文中,我們展示以 CGI 程式回應 Ajax 請求的方法。 繼續閱讀

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 專案的相依性。 繼續閱讀