Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Qt Creator';插件的核心是什么?_Qt_Plugins_Architecture_Qt Creator - Fatal编程技术网

为什么Qt Creator';插件的核心是什么?

为什么Qt Creator';插件的核心是什么?,qt,plugins,architecture,qt-creator,Qt,Plugins,Architecture,Qt Creator,你有没有明确的解释,为什么他们选择应用程序的核心是一个插件,就像其他组件一样,而不仅仅是一个基本的共享库? 除了设计的“酷”之外,我看不到任何明显的优势。至于“为什么”,我们只能猜测。在他们看来: Qt Creator可以以多种方式扩展。例如,Qt创建者 架构基于插件加载程序,这意味着 插件加载之外的功能在插件中实现。 但是,您可以扩展和调整Qt Creator的许多部分,而无需 需要在C++中使用编码并实现这样的插件。 因此,从这一点可以推断,这个选择是在考虑可扩展性的情况下做出的。我不确定“

你有没有明确的解释,为什么他们选择应用程序的核心是一个插件,就像其他组件一样,而不仅仅是一个基本的共享库? 除了设计的“酷”之外,我看不到任何明显的优势。

至于“为什么”,我们只能猜测。在他们看来:

Qt Creator可以以多种方式扩展。例如,Qt创建者 架构基于插件加载程序,这意味着 插件加载之外的功能在插件中实现。 但是,您可以扩展和调整Qt Creator的许多部分,而无需 需要在C++中使用编码并实现这样的插件。
因此,从这一点可以推断,这个选择是在考虑可扩展性的情况下做出的。我不确定“为什么核心是插件?”的答案是否比“为什么不是”更重要。如果你正在创建你的应用程序,就像他们说的那样,是一个插件加载器,那么为什么不让它尽可能的“轻”功能,并使核心成为一个插件呢

我从开发者那里得到了一个答案:

QtCreator的目标不是成为一个应用程序框架。“核心”是一个 插件主要有学术上的原因,尽管有一个实际的原因 优点是,通过这种方式,Qt Creator的核心自动 “版本”,并检查插件是否与Qt Creator兼容 与任何其他插件依赖项完全相同。阿尔索 整个启动初始化(包括 其他插件)也是以同样的方式完成的,这导致了相同的概念和功能 要学的东西少了


你在哪里读到它是一个插件?看看代码,它和其他插件一样加载plugin@Laurent例如,文档。