C ++与Qt4插件开发

时间:2010-12-01 06:37:36

标签: c++ plugins interface qt4

最近我一直在使用Qt4 Framework提供的插件框架,它运行得很好。但是有一件事我不确定。

在所有示例中,已实现的接口(实际插件)的源代码可用(实现接口的人员可以访问接口源)。这不是问题,但我真正想做的是通过共享库或类似的东西来暴露界面。

我的目标是为第三方开发人员提供一个共享库文件,然后他们可以在其代码中“导入”(原谅Java术语)来为应用程序创建插件。类似于在Java中提供.jar文件,开发人员可以导入该文件。

这背后的原因不是隐藏源代码,因为它是一个开源项目,但为了简单起见。此外,该程序非常依赖于接口保持不变的方式,以便来自不同第三方的插件可以相互通信。如果它们弄乱了实际的接口,它就会崩溃。

我很感激任何正确方向的推动。

谢谢!

1 个答案:

答案 0 :(得分:1)

C ++不允许像Java那样多的内省,因此你不能只发送“二进制文件”并从中推断出界面。在C ++中,您需要接口的文本描述(头文件)。

想要为您的应用程序开发插件的人需要有权访问

  1. 插件界面的头文件
  2. 插件界面中使用的类的所有头文件。
  3. 插件开发人员通常不会弄乱提供的头文件(至少他们不应该这样),因为你在帖子中提供的原因。