每個原始檔是乙個模組,標頭檔案為使用該模組的介面提供介面。基於裸機的c程式比較特殊,分為兩大部分:main.c檔案和驅動模組程式原始檔。main.c檔案呼叫其他模組中的程式實現預期的功能。
core_board.h包含核心板相關的巨集定義,如引腳別稱,中斷優先順序,及外設相關引數(如串列埠波特率等)
config.h主要用於包含c語言相關的型別定義,如基本型別別稱、c語言關鍵字別稱等
main.h包含hardware.h和其他全域性引數。這些全域性引數主要描述關於主函式需要暴露給其他模組的資料
n_module.h包含外設實現的功能及使用外設過程中需要用到的資料
所有的.c檔案均需包含config.**件和main.**件
【注1】全域性變數的使用原則
1)若全域性變數僅在單個原始檔中訪問,則可將該變數改為該檔案內的靜態全域性變數;
2)若全域性變數僅由單個函式訪問,則可將該變數改為該函式內的靜態區域性變數;
3)盡量不要使用extern宣告全域性變數,最好提供函式訪問這些變數。直接暴露全域性變數是不安全的,外部使用者未必完全理解這些變數的含義。
4)設計和呼叫訪問動態全域性變數、靜態全域性變數、靜態區域性變數的函式時,需要考慮重入問題。
【注2】程式設計技巧:
1.若不確定型別、巨集定義或函式宣告所在標頭檔案具體路徑,可在原始檔中再次定義或宣告,編譯器會以redefined警告或conflicting錯誤給出型別、巨集定義或函式宣告所在標頭檔案路徑
2.對於函式庫(包括標準庫和自定義的公共巨集及介面)的標頭檔案,可將其加入到乙個通用標頭檔案中
《C 語言基礎》實踐參考 程式的多檔案組織
返回 賀老師課程教學鏈結 專案3 程式的多檔案組織 利用多檔案組織,重新實現專案2。其中,整個專案包括3個檔案 注意,將3個set函式和3個get函式設計成內建成員函式,其他函式不作為內建函式。參考解答 1 main.cpp,用於定義main 函式 include include h using n...
《C語言及程式設計》實踐專案 程式的多檔案組織
返回 賀老師課程教學鏈結 專案1 程式的多檔案組織 請將下面的程式中的 分別儲存在兩個檔案中,利用多檔案的方式組織。main.c 也可以是別的名字 include int max int x,int y int min int x,int y int main fun.cpp 也可以是別的名字 檔案...
C語言及程式設計實踐專案 遞迴和多檔案組織
專案1 遞迴求解 1 立方累加和 用遞迴函式求f n 1 3 23 n3 要求先將f n 數學表示式表示成遞迴的形式,然後再程式設計序實現。2 寫出求1 3 n的遞迴式,並編寫出遞迴函式求解。3 程式設計序,用遞迴函式求出兩個數的最大公約數。包括編main函式,呼叫定義的遞迴函式 參考解答 4 爬樓...