最近我一直在使用Qt4 Framework提供的插件框架,它运行得很好。但是有一件事我不确定。
在所有示例中,已实现的接口(实际插件)的源代码可用(实现接口的人员可以访问接口源)。这不是问题,但我真正想做的是通过共享库或类似的东西来暴露界面。
我的目标是为第三方开发人员提供一个共享库文件,然后他们可以在其代码中“导入”(原谅Java术语)来为应用程序创建插件。类似于在Java中提供.jar
文件,开发人员可以导入该文件。
这背后的原因不是隐藏源代码,因为它是一个开源项目,但为了简单起见。此外,该程序非常依赖于接口保持不变的方式,以便来自不同第三方的插件可以相互通信。如果它们弄乱了实际的接口,它就会崩溃。
我很感激任何正确方向的推动。
谢谢!
答案 0 :(得分:1)
C ++不允许像Java那样多的内省,因此你不能只发送“二进制文件”并从中推断出界面。在C ++中,您需要接口的文本描述(头文件)。
想要为您的应用程序开发插件的人需要有权访问
插件开发人员通常不会弄乱提供的头文件(至少他们不应该这样),因为你在帖子中提供的原因。