1. 程式人生 > >【編程基礎】C語言常見宏定義

【編程基礎】C語言常見宏定義

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語言常見宏定義