程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言預處理命令之條件編譯

C語言預處理命令之條件編譯

編輯:關於C語言

在C語言中,

條件編譯指令將決定哪些代碼被編譯,哪些是不被編譯的。可以根據表達式的值或者某個特定的宏是否被定義來確定編譯條件。

下面是部分預處理指令:

指令用途
#  空指令,無任何效果
#include  包含一個源代碼文件
#define  定義宏
#undef  取消已定義的宏
#if  如果給定條件為真,則編譯下面代碼
#ifdef  如果宏已經定義,則編譯下面代碼
#ifndef  如果宏沒有定義,則編譯下面代碼
#elif  如果前面的#if給定條件不為真,當前條件為真,則編譯下面代碼
#endif  結束一個#if……#else條件編譯塊
#error  停止編譯並顯示錯誤信息

1.#if指令

#if 指令檢測跟在後面的常量表達式,如果表達式為真,則編譯後面的代碼,直到出現#else、#elif或#endif為止;否則就不編譯。

2.#endif指令

#endif用於終止#if預處理指令。

#include<stdio.h>
 DEBUG 0
 DEBUG 

如果去掉#define語句,效果是一樣的。

3.#ifdef和#ifndef

#include<stdio.h>
 DEBUG
 

4.#else指令

#else指令用於某個#if指令之後,當前面的#if指令的條件不為真時,就編譯#else後面的代碼。#endif指令將終止上面的條件塊。

#include<stdio.h>
 DEBUG
 

5.#elif指令

#elif預處理指令綜合了#else和#if指令的作用。

#include<stdio.h>
 TWO
 defined TWO
     

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved