我們在使用c語言編寫程式的時候,常常會使用到巨集定義以及巨集編譯指令,有的可能比較常用,有的可能並不是很常用,是不是所有的c語言巨集定義以及巨集指令你都清楚呢?
指令 用途
詳細介紹
# 空指令,無任何效果
#include 包含另外乙個檔案
#define 定義巨集
#undef 取消已定義的巨集
#if 如果給定條件為真,則編譯下面**
#ifdef 如果巨集已經定義,則編譯下面**
#ifndef 如果巨集沒有定義,則編譯下面**
#elif 如果前面的#if給定條件不為真,當前條件為真,則編譯下面**,其實就是else if的簡寫
#endif 結束乙個#if……#else條件編譯塊
#error 停止編譯並顯示錯誤資訊
#warning 顯示警告資訊但不停止編譯,往往在以後必須注意的地方加入,可以隨時提醒。
#運算子 出現在巨集定義中的#運算子把跟在其後的引數轉換成乙個字串。
##運算子 用於把引數連線到一起。預處理程式把出現在##兩側的引數合併成乙個符號。
__file__ 包含當前程式檔名的字串__line__ 表示當前行號的整數
__date__ 包含當前日期的字串
__stdc__ 如果編譯器遵循ansi c標準,它就是個非零值
__time__ 包含當前時間的字串
另外在gcc下面,還有如下的巨集定義:
__function__ 表示當前的函式名
__va_args__ 表示可變引數輸入
這裡有更多的關於c語言的知識
C語言程式設計 學習筆記 巨集定義
編譯預處理指令 開頭的是編譯預處理指令 它們不是c語言的成分,但是c語言程式離不開它們 define用來定義乙個巨集 如 define pi 3.14159這樣pi這個東西就是3.14159的值 在編譯過程中,計算機會把 中出現的pi全部換成3.14159 也可以有如下定義 define forma...
巨集定義 C語言基礎學習筆記
define include ifndef define maxszie 10000帶引數的巨集 define add x,y x y define plus x,y add x,y define add x,y x y 呼叫 plus plus a,b c 呼叫結果 就是按照順序巢狀 最終 c b...
C語言巨集定義
c語言有很多預處理命令,如包含命令 include,巨集定義命令 define。預處理命令在程式編譯之前被編譯器處理,而巨集定義也在此時被替換。或c 語言源程式中允許用乙個識別符號來表示乙個字串,稱為 巨集 被定義為 巨集 的識別符號稱為 巨集名 在編譯預處理時,對程式中所有出現的 巨集名 都用巨集...