在编译时自定义/覆盖符号名称

Chr*_*art 3 c c++ gcc

我对覆盖编译器符号名称感兴趣,通常使用损坏的字符串自动生成,如下所示:

modules::ModuleAPI::ModuleAPI()变成_ZN7modules9ModuleAPIC2Ev

我知道有一个别名属性:

void name1() __attribute__((alias ("name2")));

我更愿意做同样的事情,除了不使用别名,而是完全覆盖它。

这可能吗?