微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

基于插件架构的c / c ++应用程序

我需要知道如何开始编写基于插件体系结构的应用程序。 我的意思是如何编写基本代码,并让其他人通过添加他们编写的插件来开发应用程序。 我知道在c ++中这样做有一些问题。 大多数人使用Python等其他语言来将插件添加到他们的c ++应用程序中。

我想,这不是你所期望的答案,但是你可以试着检查一下Rainmeter的来源。 它是用C ++编写的(在我看来,有些地方可以做的更好,但总的来说没关系),整个应用程序就这样完成了,所以它只是处理插件

即使是简单的API也是通过插件完成的,也有一些插件的例子,我的意思是,由别人写的(我也是这样做的,有一天)。

我想你可以通过查看其他应用程序来研究基于插件的开发中的许多新技巧。

另外,另一个很好的例子是Miranda IM 。

编辑:另外,如果我有同样的任务,我会实际上添加一些python (或类似的东西)后端到我的应用程序,并将其用作SDK的语言(例如,使用boost::python )。

你应该 :

定义一个接口

加载你的插件,并给它这个接口

您的插件将能够通过此接口与主机应用程序通信。 这意味着,你必须仔细考虑你想要什么插件

如果您的主机应用程序发生更改并添加功能,则可能需要支持各种版本的界面。

你可以在你的应用程序中定义外部应用程序可以与之通信的接入点吗?

假设您定义了一些命名管道机制或TCP / IP套接字,其中外部应用程序将调用此API来操作您的应用程序?

因为您需要在核心应用程序中注册这些插件才允许他们使用您的应用程序。 你甚至可以添加公共的私人证书来验证这个插件的来源(也就是用一个私钥对插件签名,你的应用程序的实例将根据公钥进行验证)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐