【发布时间】:2017-08-12 12:42:11
【问题描述】:
见下图。插件实现了核心库的交互。 (QtPlugin) 导出具体的插件类。插件应该能够从核心检索具体的插件类实例并调用其方法。如果我想实现这种交互插件,我是否必须将插件相互链接?
我不知道当符号被解析时会发生什么。据我想象,该过程存储已解析的符号。因此,一旦核心库解析了符号,插件就可以接收其他插件类的对象并在其上调用方法,如果它们具有标头的话。这是真的吗(适用于所有平台)?
关于符号的存储位置以及谁可以访问它的一些通用信息也会很好。
【问题讨论】:
-
“我不知道当符号被解析时会发生什么” - 你可以在那里阅读..
-
那些隐式链接没有任何意义
-
你的插件是在运行时动态加载的,还是在编译时由链接器静态加载的?从你的问题看不清楚。
-
显式链接是关于什么的。在运行时链接。 VTT 为什么这些隐式链接没有意义?插件从核心库接收对象,需要知道类型。
-
@JesperJuhl 不幸的是它非常复杂,我找不到任何好的资源。
标签: c++ dll linker shared-libraries header-files