要寫好C語言,漂亮的宏定義是非常重要的。宏定義可以幫助我們防止出錯,提高代碼的可移植性和可讀性等。 在軟件開發過程中,經常有一些常用或者通用的功能或者代碼段,這些功能既可以寫成函數,也可以封裝成為宏定義。那么究竟是用函數好,還是宏定義好?這就要求我們對二者進行合理的取舍。 我們來看一個 ...
要寫好C語言,漂亮的宏定義是非常重要的。宏定義可以幫助我們防止出錯,提高代碼的可移植性和可讀性等。 在軟件開發過程中,經常有一些常用或者通用的功能或者代碼段,這些功能既可以寫成函數,也可以封裝成為宏定義。那么究竟是用函數好,還是宏定義好?這就要求我們對二者進行合理的取舍。 我們來看一個 ...
忘了啥時候記的筆記了 @ 目錄 宏定義 1.不帶參數的宏定義: 2.帶參數的宏定義: C語言宏定義技巧(常用宏定義) 1,防止一個頭文件被重復包含 ...
...
1. 利用define來定義 數值宏常量 #define 宏定義是個演技非常高超的替身演員,但也會經常耍大牌的,所以我們用它要慎之又慎。它可以出現在代碼的任何地方,從本行宏定義開始,以后的代碼就就都認識這個宏了;也可以把任何東西定義成宏。因為編譯器會在預編譯的時候用真身替換替身,而在 ...
注意區分宏定義函數和普通函數定義的區別: 宏定義中表達式的參數要加括號,否則可能會出錯(運算的優先級): 同理計算的優先級問題還可以出現的main()函數中表達式中: 所以一般是不建議利用宏定義來表示太多的計算表達式,很可能會出現表達式計算錯誤。 ...
寫好C語言,漂亮的宏定義很重要,使用宏定義可以防止出錯,提高可移植性,可讀性,方便性等等。 下面列舉一些成熟軟件中常用的宏定義: —————————————— 1、防止一個頭文件被重復包含 —————————————— 2、重新定義一些類型,防止由於各種平台和編譯器 ...
下面列舉了一些常見的宏寫法: 我們使用#把宏參數變為一個字符串,用##把兩個宏參數貼合在一起。 當宏參數是另一個宏的時候需要注意的是凡宏定義里有用''#''或''##''的地方宏參數是不會再展開。 Linux內核中的一些宏定義(前面 ...
以前一直以為宏的定義挺簡單的,沒有寫過長的宏函數,最常用的是MAX()的定義,今天寫一個宏函數的時候,相對於MAX()來說,稍微有點長,然后踩了一個小坑。 一開始將宏函數定義的時候,為了書寫方便,將一個函數寫成了幾行,但是沒有用連接符號連接起來,類似於下面 GCC總是提示ret ...