我已经被委托编写一个新的接口到一个传统的C++ DLL我没有源代码,这是 - 由于我以外的原因 - 访问遗留下的全局类直接应用。从C++ DLL访问C#静态类
从应用程序,它是这样的:
extern Interface *App;
...
Interface App*; // A pointer to our interface class.
然后,从传统的DLL:
if(App->GetStatus()) return false;
接口类应用程序是指是相当琐碎的C#改写,但如何我可以使它相当于extern
,以便传统的C++ DLL可以访问它吗?
谢谢!
你不会得到很远,这个只要你写'接口应用*,理解指针对于获取某个地方非常重要。从C++调用C#代码需要首先加载CLR。有许多方法以错误的方式做到这一点,即以“简单”的方式开始。在C++中使用#import指令是一个正确的方法。教育自己,向你的主管询问你需要的资源。 – 2015-03-30 23:00:04
请记住,海报表示他无法访问C++源代码,因此加载CLR可能会造成问题... – 2015-04-01 13:38:48