【发布时间】:2011-11-26 06:36:12
【问题描述】:
我想编写一个可以用插件扩展的本机应用程序,最好以动态库的形式。我知道该怎么做,但我想要一些想法,尤其是关于该做什么和不该做什么的最佳实践提示。我在 java 和 php 上使用过类似的东西,所以我希望我不会给我的 C++ 带来任何坏习惯。
我正在考虑允许开发人员实现某些功能,例如“on_recieve_data(App* app, void* data)”,我的应用程序将加载所有插件并使用指向自身的指针调用它们的 on_recieve_data 函数(dlsym?)。
【问题讨论】:
-
既然你在使用C++,为什么不拥有一个抽象基类,并且在每个模块中都有一个函数返回一个指向该类实例的指针呢?我的意思不是使用普通函数。