将托管类对象传递给 c++ dll

  • 本文关键字:c++ dll 对象 c++ managed
  • 更新时间 :
  • 英文 :


>我有一个dll,其中我有一些托管类。我需要从.exe设置托管类的属性值并将其传递给 dll。但是 dllexport 函数不接受托管类作为参数。还有其他方法可以做到吗?

如果.dll是"纯"dll(不是某个 COM 类或 .NET 程序集),则无法公开类。但是,您可以公开类似的东西

void* CreateInstance(int param1, const char* param2);
int DoSomeMegaWork(void* instance, const int* paramZ);

实施将是 void* CreateInstance(param1, param2) { YourClass* 实例 = new YourClass(param1); 好吧,每当 实例。DoSomeWork(param2); 返回实例; }

int DoSomeMegaWork(void* _instance, const int* paramZ)
{
    YoutClass* instance = (YourClass*) _instance;
    return instance.DoSomeMegaWork(paramZ);
}

不要忘记销毁同一.dll中的实例

相关内容

  • 没有找到相关文章

最新更新