我一直在尝试在C中开发一个可以在应用程序中运行时加载的动态库.我终于搞定了,但它有点难看.我有一个函数,它将一个指向C类的指针作为参数,如下所示:
bool registerGrindPlugin( Grind::PluginManager* mgr );
但当然它被导出为:
_Z19registerGrindPluginPN5Grind13PluginManagerE
我尝试了一个带有简单函数的.c文件,并将其导出为“registerGrindPlugin”,但当然我不能将C类作为参数传递.
所以…我的问题是,有没有办法解码或别名导出的符号,以便我不必在我的dlsym调用中使用像Z19registerGrindPluginPN5Grind13PluginManagerE这样的怪物?
我确实看到-alias_list作为链接器选项,但我还没弄清楚如何在XCode中使用它.如果这是解决方案,有人可以提供更多有关如何使用它的详细信息吗?