程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言宏定義技巧——多次包含頭文件內容不同

C語言宏定義技巧——多次包含頭文件內容不同

編輯:關於C語言

C語言宏定義技巧——多次包含頭文件內容不同


1、 頭文件定義如下:

/* declears in “funcs.h” */

FUNC_1(ID_FUN1_001)

FUNC_1(ID_FUN1_002)

FUNC_2(ID_FUN2_001)

FUNC_2(ID_FUN2_002)

2、 多次包含頭文件

#define FUNC_1(opt) opt,

#define FUNC_2(opt)

enum aaa {

#include “funcs.h”

ID_FUN1_END

};

#undef FUNC_1

#undef FUNC_2

#define FUNC_1(opt)

#define FUNC_2(opt) opt,

enum bbb {

#include “funcs.h”

ID_FUN2_END

};

#undef FUNC_1

#undef FUNC_2

這樣,把宏翻譯之後,我們定義的兩個enum分別如下

enum aaa {

ID_FUN1_001,

ID_FUN1_002,

ID_FUN1_END

};

enum bbb {

ID_FUN2_001,

ID_FUN2_002,

ID_FUN2_END

};

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