【編程基礎】C語言常見宏定義
阿新 • • 發佈:2017-08-09
ifd 轉換成 erro get 程序 運算 efi 宏定義 當前
我們在使用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語言常見宏定義