#define宏定義的用法遇到的問題

#define 這種宏定義的方法有許多中,用起來也極大的方便了用戶對程序的理解,在***.h文件中需要通過#ifndef **** #define *** *** #endif的方式來避免重複編譯的問題,這是在頭文件定義的時候所碰到的問題;

在文件中也會遇到#ifndef *** #define *** 在這之後有時候會加一個數字,例如下面的語句

#ifndef LWIP_TCP_KEEPALIVE
#define LWIP_TCP_KEEPALIVE       0
#endif
通常這個時候就會疑問,爲什麼需要在後面添加一個零,這個零的具體作用又是什麼呢?

通常宏定義是#define 宏名(形參表) 字符串,有時候定義時僅僅定義一個宏名稱,像下面這樣;

#ifndef LWIP_TCP_KEEPALIVE
#define LWIP_TCP_KEEPALIVE  
#endif
這樣也是可以的,而在後面添加數字,如果僅僅是用在這裏是沒有意義的,但是這樣定義是會在其他判斷語句中起作用,比如說這裏有一個條件判斷語句,
#if LWIP_TCP_KEEPSLIVE
這個時候定義後面的數字就會起作用了,這也是宏定義的一個應用,在應用時應該細心觀察,

另外宏定義還有許多複雜的功能,在今後的應用中可以多多留意,在後面學習中逐漸添加修改,

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章