【问题标题】:Plugin framework,parameter passing,c++,dll,gdi+插件框架,参数传递,c++,dll,gdi+
【发布时间】:2014-01-17 22:28:24
【问题描述】:

我正在创建教程enter link description here中提到的插件框架

这里的 PluginInterface 类看起来像

class PluginInterface
{
   public:
      PluginInterface(){}
      virtual ~PluginInterface(){}

      virtual int Activate()=0;
      virtual int Execute()=0;
      virtual int Destroy()=0;
};

相反,我希望我的插件类如下所示:

class PluginInterface
{
   public:
      PluginInterface(){}
      virtual ~PluginInterface(){}

      virtual int Process(Image *)=0;

};

是否有可能我可以将 Image* 从我的应用程序传递到插件并且插件可以对其进行一些处理??

图像是 gdiplus 对象。我的想法是插件 dll 将被加载到与 applicaiton 相同的内存空间中,所以如果我的应用程序为 Image 对象分配内存,那么它也应该可用于插件并且插件可以对该 Image 执行操作。

如果这是可能的,那么我需要使用 gdiplus.lib 静态链接插件吗

#pragma comment(lib, "gdiplus.lib")

由于我的应用程序已经与 gdiplus 静态链接,我不确定插件是否再次需要它。

【问题讨论】:

    标签: c++ windows plugins dll gdi+


    【解决方案1】:

    如果您要从您的插件中调用任何 gdiplus.dll 函数并独立于其宿主应用程序编译插件,这将是必需的。

    老实说,这称为隐式动态链接,而不是静态链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-29
      • 2011-06-12
      • 1970-01-01
      • 2014-05-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多