将#include指令包装到宏中

Wrapping #include directive into macro

本文关键字:包装 #include 指令      更新时间:2023-10-16

我需要一个特殊的包含文件(本质上是我的代码中间包含的名称列表((我无法将列表作为任何结构的一部分(。它有效,但看起来很丑:

    <code>;
#include <big_list.inc>
    <more-code>;

是否可以定义一些宏来包含此文件,我觉得这看起来更好。

#define BIG_LIST_INC() ...
    <code>;
    BIT_LIST_INC();
    <more_code>;

将您的包含文件的内容更改为:

#define BIG_LIST_INC ...

其中...是文件的当前内容(如果跨越多行,请不要忘记使用结束行(。

然后在源文件顶部包含文件,并且可以使用BIG_LIST_INC插入大列表:

#include "big_list.h"
// <code>
BIG_LIST_INC
// <more_code>

这可能是一个选择,将其替换为3个指令

#include "pre_macro_stuff.h"  
#include <big_list.inc>  
#include "post_macro_stuff.h"

pre_macro_stuff.h和post_macro_stuff.h包含宏。