C 的原生工具鏈並沒有「專案」這個概念。所謂的 C 專案,其實是因應工程需求而逐漸形成的抽象,用來管理 繼續閱讀
我們假設讀者已經熟悉 C 語言的語法,並準備開始用 C 寫實際應用程式。
以下內容不屬於語法本身,沒有唯一標準解法,而是目前常見、可行的設計與實作方式。
建議讀者除了參考本文,也多閱讀其他資料,並親自動手寫程式,才能真正建立起屬於自己的開發風格與實戰經驗。
本系列將介紹以下主題:
- Build system 的基本概念與選擇
- 專案結構與原始碼組織方式
- 跨平台開發會遇到的關鍵差異
- 如何用 C 模擬物件導向
- 在 C 中實作類似泛型的寫法
- 錯誤處理的策略與常見寫法
- 測試與簡易的測試框架
在本文中,我們藉由以 CMake 為基礎的 Hello World 程式專案來展示 CMake 的使用方法。由於 C 程式的部分相當簡單,本文的重點會放在 CMake 的使用方式以及設定檔撰寫上面。 繼續閱讀
CMake 除了可以用來建立應用程式專案,也可用來建立函式庫專案。藉由 CMake 跨平台的特性,讓函式庫更容易分享出去。 繼續閱讀
當我們要寫應用程式時,很少會只用標準函式庫的功能。這時候,我們需要第三方函式庫來補足標準函式庫不足之處。對於小型任務,還勉勉強強可以自製輪子,但對於 GUI 函式庫或其他大型函式庫,就超出單一開發者的能力了。所以還是要會處理 C 專案的相依性。 繼續閱讀
在許多 C 語言教材中,會提到 C 語言是跨平台語言。然而,基礎教材只會碰觸到語法和標準函式庫的層面,這些層面已經是跨平台的。在越過語法和標準函式庫後,C 語言的跨平台並不是隨手可得的,而要經過一些額外的努力。 繼續閱讀
雖然 C 是跨平台語言,但卻不像 Java 等語言可立即取得跨平台的特性,而要經過一些努力。這是因為不同系統的系統 C API 不會完全相同。本文會介紹一些和撰寫跨平台 C 函式庫相關的議題,供想要撰寫跨平台 C 程式碼的讀者參考。 繼續閱讀
在先前的文章中,我們以概念為主,介紹撰寫跨平台 C 程式相關的議題。在本文中,我們延續這個議題,但會著重實際的工具使用。讀者可以將本文和先前的文章對照著看,對於撰寫跨平台 C 程式會更了解。 繼續閱讀
所謂的優化,就是用各種手法讓程式運行更快速。這是在程式運行正確後,進一步改善程式的方式。在本文中,我們從 C 的觀點在看如何優化程式碼。 繼續閱讀
C 語言沒有物件的概念,但可以用結構及函式模擬。本文透過實例展示如何模擬物件。 在寫 C 程式碼前,先用真正有類別及物件的語言,觀看一下如何操作物件。這裡以 繼續閱讀
若物件有進行封裝,除了透過公開介面外,我們無法更動該物件內部的狀態。C 語言不強調封裝的概念,所以我們要重新思考封裝在程式碼中的意義。封裝的目的是資訊隱藏,也就是說,只提供最少量的必要資訊,其他的部分則不開放給外部程式。 繼續閱讀