C語言中的條件編譯是什麼?
C語言中的條件編譯是什麼?
在C程式語言中,幾個指令控制程式程式碼部分的選擇性編譯。它們如下所示:
- #if
- #else
- #elif
- #endif
#if 的一般形式如下所示:
#if constant_expression statement sequence #endif
#else 的工作方式與 C 關鍵字 else 非常相似。
#elif 表示“else if”,並建立了一個 if else-if 編譯鏈。
除其他外,#if 提供了一種“註釋掉”程式碼的替代方法。
例如,
#if 0
printf("#d", total);
#endif
在這裡,編譯器將忽略 printf("#d", total);
#ifdef 和 #ifndef
#ifdef 表示“如果已定義”,並以 #endif 結尾。
#indef 表示“如果未定義”。
#undef
#undef 刪除先前定義的定義。
#line
#line 更改 __LINE__ 的內容,__LINE__ 包含當前編譯程式碼的行號,以及 __FILE__,它是一個包含正在編譯的原始檔名稱的字串。兩者都是編譯器中的預定義識別符號。
#pragma
#pragma 指令是實現定義的指令,允許向編譯器提供各種指令。
示例
以下是 C 程式演示 #ifdef、#ifndef、#else 和 #endif:
# include <stdio.h>
# define a 10
void main(){
#ifdef a
printf("
Hello I am here..");
#endif
#ifndef a
printf("
Not defined ");
#else
printf("
R u There ");
#endif
}
輸出
執行上述程式時,會產生以下結果:
Hello I am here.. R u There
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP