按API前缀从代码生成API头文件

问题描述

我有一个大型项目,其中包含许多类,数据类型和其他内容
我想从该项目中生成(仅从h文件生成,而不从声明生成),仅使用部分类和结构的头文件,并使用诸如API_PREFIX之类的前缀关键字包含在另一个项目中。
如果有人知道是否有可能以及我可以使用的任何工具,我会很高兴的。

我需要的例子: 假设我在old.h文件中有下一个代码

#define API_PREFIX
struct ahci_cmd_hdr {
    __le32          opts;
    __le32          status;
    __le32          tbl_addr;
    __le32          tbl_addr_hi;
    __le32          reserved[4];
};

struct ahci_sg {
    __le32          addr;
    __le32          addr_hi;
    __le32          reserved;
    __le32          flags_size;
};

API_PREFIX struct ahci_em_priv {
        enum sw_activity blink_policy;
        struct timer_list timer;
        unsigned long saved_activity;
        unsigned long activity;
        unsigned long led_state;
        struct ata_link *link;
    };

我想导出带有已定义API_PREFIX前缀的new.h文件并接收:

new.h
struct ahci_em_priv {
        enum sw_activity blink_policy;
        struct timer_list timer;
        unsigned long saved_activity;
        unsigned long activity;
        unsigned long led_state;
        struct ata_link *link;
    };

P.S版权说明:以上代码取自Linux Kernel存储库,仅用于问题和结果解释。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)