我的程序中需要一个查找表来描述不同类型的大小。现在我明白了:
typedef struct{
APP_InterfaceType_t Type; //This is just an enum
uint8_t Size;
}APP_InterfacesLUT_t;
APP_InterfacesLUT_t MyLUT[] = {...}
现在的问题是,我想从不同的 .h 文件中插入 LUT 的内容(我有我的理由),并且必须在预处理器中完成。
我在单独的 .h 文件中获得了不同的类型,当我在构建中包含这些 .h 文件之一时,类型(在 .h 文件中描述)和大小应该神奇地出现在 LUT 中。
所以我想知道这是否可以通过在 .h 文件中调用某种宏来实现?
例如:
REGISTERTYPE(type, size);
编辑:定义 LUT 的模块对类型一无所知。这个想法是,当我想向程序添加新类型时,我只需要包含一个头文件,而不需要在程序的其余部分编辑任何内容:)