複製鏈接
請複製以下鏈接發送給好友

#if

鎖定
#if和#endif是一組同時使用的,叫做條件編譯指令。#if與#define、#include等指令一樣是由預處理器這個強大的工具處理的,預處理器可以在編譯前處理c程序
中文名
#if
釋    義
一種條件編譯指令
出    處
C語言
指令簡介
使用條件編譯指令,如果滿足#if後面的條件,就編譯#if和#endif之間的程序段,否則不編譯。
例如:
#define LEN_MAX 3
#define LenMax 6
#if LEN_MAX <LenMax
#undef LEN_MAX
#define LEN_MAX LenMax
#endif
定義了LEN_MAX 和LenMax,如果LEN_MAX <LenMax成立為真,則取消LEN_MAX的定義,重新定義LEN_MAX,也就是説LEN_MAX等於6。這時預處理器會保留中間程序(#if與#endif行會消失),讓編譯器編譯中間行。
如果LEN_MAX <LenMax不成立,預處理器會將刪除#if到#endif中的程序(包括#if與#endif行),則編譯器會看不到中間的程序。
這樣的處理不會在目標代碼佔用空間,減少程序運行時間。它可以用於程序調試使用。