我正在寻找一种自动生成头文件的方法。这个文件是库的公共接口,我想在编译之前“填充”一些结构和内容。
例如,在私有头文件中,我有一个带有有用字段的结构体:
当我更改私有头文件中的结构体时,我希望在创建构建系统时由CMake自动生成此内容,以避免在公共接口中出现错误大小的结构体。
例如,在私有头文件中,我有一个带有有用字段的结构体:
typedef struct mystuff_attr_t {
int _detachstate;
mystuff_scope_t _scope;
cpu_set_t _cpuset;
size_t _stacksize;
void* _stackaddr;
} mystuff_attr_t;
我希望在公共头部中有这个结构,但不包含字段,且大小相同(目前需要手动完成),如下:
typedef struct mystuff_attr_t {
char _opaque[ 20 ];
} mystuff_attr_t;
当我更改私有头文件中的结构体时,我希望在创建构建系统时由CMake自动生成此内容,以避免在公共接口中出现错误大小的结构体。