預編譯if
『壹』 if鍚庨潰鐨勬槸浠涔堟寚浠
c璇璦 鍑虹幇鐨#if 0 鏄棰勭紪璇戞寚浠わ紝琛ㄧず涔嬪悗鐨勪唬鐮佷笉鎵ц屻
C璇璦涓棰勭紪璇戞寚浠#if銆#else鍜#endif鎸囦護涓鑸閰嶅悎浣跨敤銆#if 鍚庨潰鐨勫弬鏁頒負鐪燂紙闈0錛夊垯鎵ц#if 鍚庨潰鐨勬ā鍧椼#if 鍚庨潰鐨勫弬鏁頒負鍋囷紝鍒欎笉鎵ц#if 鍚庨潰鐨勬ā鍧椼
姝ゆ寚浠ゅ氱敤鍦ㄨ皟璇曠殑鏃跺欙紝鏈夋典唬鐮佷笉鎯沖垹闄わ紝鎬曞悗闈㈢敤鍒版墍浠ョ敤 #if 0 鏉ユ殏鏃舵敞閲婃帀錛屽傛灉鎯崇敤鐨勮瘽灝辯敤#if 1 鏉ュ紑鍚錛涗緥濡傦細 #if true 鎵ц #endif #if false 璺寵繃 #endif銆
鎵╁睍璧勬枡錛
甯歌佺殑棰勭紪璇戞寚浠ゆ湁錛
涓銆#include 鎸囦護
璇ユ寚浠ゆ寚紺虹紪璇戝櫒灝唜xx.xxx鏂囦歡鐨勫叏閮ㄥ唴瀹規彃鍏ユゅ勩傝嫢鐢<>鎷璧鋒枃浠跺垯鍦ㄧ郴緇熺殑INCLUDE鐩褰曚腑瀵繪壘鏂囦歡錛岃嫢鐢" "鎷璧鋒枃浠跺垯鍦ㄥ綋鍓嶇洰褰曚腑瀵繪壘鏂囦歡銆備竴鑸鏉ヨ達紝璇ユ枃浠舵槸鍚庣紑鍚嶄負"h"鎴"hpp"鐨勫ご鏂囦歡銆
浜屻#define鎸囦護鏈変笁縐嶇敤娉曪細
1銆佺涓縐嶆槸瀹氫箟鏍囪瘑錛屾爣璇嗘湁鏁堣寖鍥翠負鏈緲昏瘧鍗曞厓鏈鎸囦護涔嬪悗錛屽艦濡#define XXX錛屽父涓#if閰嶅悎浣跨敤錛
2銆佺浜岀嶆槸瀹氫箟甯告暟錛屽#define max 100錛屽垯max浠h〃100錛
3銆佺涓夌嶆槸瀹氫箟"鍑芥暟"錛屽#define get_max(a, b) ((a)>(b)?(a):(b)) 鍒欎互鍚庝嬌鐢╣et_max(x,y)灝卞彲浠ュ緱鍒皒鍜寉涓杈冨ぇ鐨勬暟錛堣繖縐嶆柟娉曞瓨鍦ㄤ竴浜涘紛鐥咃紝瑙佹敞2錛夈
鍙傝冭祫鏂欐潵婧愶細鐧懼害鐧劇-棰勭紪璇
『貳』 C++ if()是不是條件編譯指令
if()屬於判斷語句,不是條件編譯指令。
與if類似的條件編譯指令為#if和#ifdef。
條件編譯指令屬於預編譯語句,即編譯器在執行編譯工作時,會第一步處理預編譯語句,之後再進行剩餘的編譯工作。
在c語言中,所有的預編譯語句都是以#開頭的,如#define, #undef,#if等等。
條件編譯指令包括以下幾項:
1 #if
當後續的參數為真時執行編譯。
2 #ifdef/#ifndef
#ifdef當後續的宏定義被定義時執行編譯。
#ifndef當後續的宏定義沒有被定義時執行編譯。
3 #elif
與C語言語句中的else if類似,與#if或#ifdef連用,當後續參數為真時執行編譯。
4 #endif
用於條件編譯結尾,表示條件編譯結束。
『叄』 請教C語言中if語句和預編譯#if語句的區別以及#if 0的意思
這個是為了編碼的方便,有時候編碼的時候某段代碼需要,就加上個#if 1,如果突然不想要了,就把1改成0。起到了一個注釋的作用而已,就是這樣~
『肆』 c語言 #if 和if的區別
加#的都是編譯預處理語句:
#if 表達式
#endif
表示的意思是如果if後面的表達式不為0的話就編譯#if#endif之間的語句,否則就不編譯。
『伍』 預編譯#if + macro 應該怎麼理解
#if 條件語句 程序段1 //如果條件語句成立,那麼就編譯程序段1 #endif 程序段2//如果條件不語句成立,那麼就編譯程序段2 #ifndef x//先測試x是否被宏定義過 #define 程序段1 //如果x沒有被宏定義過,那麼就編譯程序段1 #endif 程序段2 //如果x已...