編譯預處理是指在進行編譯的第一遍掃瞄(詞法掃瞄和語法分析)之前所做的工作。它由編譯預處理程式負責完成。
一、巨集定義
巨集是用乙個識別符號即巨集名(通常為大寫)來表示乙個字串。
1、不帶引數的巨集定義
以下**利用不帶引數的巨集定義計算平方
注意:
a、巨集定義一般寫在函式之外,其作用域為巨集定義命令起到源程式結束。如果要提前終止其作用,可使用#undef命令。
b、巨集名在源程式中若用雙引號括起來,則編譯預處理程式不對其作巨集代換。
c、巨集定義允許巢狀
2、帶引數的巨集定義
以下**利用帶引數的巨集定義計算兩數之和
#include "stdio.h"
#define m(a,b) (a+b)
int main()
二、條件編譯條件編譯也可以用條件語句來實現。但是用條件語句將會對整個源程式進行編譯,生成的目標**程式很長;而採用條件編譯,則根據條件只編譯其中的code1或者code2,生成的目標程式較短。因此,如果條件選擇的程式很長,採用條件編譯的方法十分必要。
條件編譯三種形式之一的示例**
模組化程式設計
將乙個5元素陣列,右移n位,n從鍵盤輸入,首尾相接 例如 陣列中的元素為 那麼 n 3 的結果如下 資料是向右邊移三位,那麼,我轉化成先移一位的情況。因為當移一位的問題解決了,移動n位只需要將此過程迴圈n次即可 1.把a 1 放到臨時空間t t a 1 2.依次把前面元素的值放到後面的空間裡面.從後...
模組化編譯方式
編譯工具提供依賴分析模式和普通編譯模式兩種編譯模式 在依賴分析編譯模式下正確的模組引用方式 require util a.js b.js中引用a.js require a.js 從當前目錄到專案根目錄下遞迴尋找node modules資料夾中是否存在a.js,沒有則報錯 require a.js 普...
模組化程式設計小結
模組化程式設計,可以讓程式變得容易理解,結構更加清晰,下面小結一下如何進行模組化程式設計 本文以keil軟體進行舉例 1 將所需要的程式分為 c 和 h 兩類,其中 c 中用來實現程式,h 則用來宣告程式 2 在 c 的檔案中,包含所需的標頭檔案,如 include reg52.h 3 在宣告函式的...