Sof*_*Kng 2 c# c++ plugins interop
我想为C++应用程序编写一个插件(DLL),但我想使用C#.这可能吗?我无法访问C++代码,因此无法对其进行修改.
根据我的收集,C++(主机)应用程序只调用不同的函数.
这是一个C++示例插件函数:
void On_Start(HINSTANCE hInstance,HWND hWnd,BOOL bLogSet,int nDLLID,char*szHotKey)
这将如何转换为可以从此C++应用程序加载的C#DLL?
ild*_*arn 5
不是直接的,但你可以在C++/CLI中编写一个shim来导出本机函数,然后将实际的实现委托给C#程序集.
但请记住,这可能是一个坏主意 - 只有一个版本的CLR可能在给定的进程中运行,因此如果其他人为C++应用程序编写托管插件,该插件针对的是不同版本的CLR而不是插件没有,然后会导致致命的运行时错误.
归档时间:
14 年,8 月 前
查看次数:
541 次
最近记录:
14 年,3 月 前