从C ++调用C#,反向的P / Invoke,混合模式DLL和C ++ / CLI [英] Calling C# from C++, Reverse P/Invoke, Mixed Mode DLLs and C++/CLI
本文介绍了从C ++调用C#,反向的P / Invoke,混合模式DLL和C ++ / CLI的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
据我了解,我可以使用反向的P / Invoke从C调用C ++#。反向的P / Invoke是一个简单的情况:
As I understand it I can use reverse P/Invoke to call C# from C++. Reverse P/Invoke is simply a case of:
- 创建你管理(C#)类。
- 创建一个C ++ / CLI(原托管C ++)类库项目。用它来调用托管C#类(通过参考presumably)。
- 通话从本地C ++的C ++ / CLI code。
问题:
- 这是正确的?
- 是被称为混合模式DLL步骤2中创建DLL?
- 的C ++ / CLI完全取代托管C ++就MS而言?
- 是COM使用这种方法完全避免?
- 在什么时候会被创建的CLR并运行,靠谁?
在此先感谢
推荐答案
下面是答案就我所知的:
Here are the answers to the best of my knowledge:
- 是
- 是的,它是一种混合模式DLL(事实上,你可以让你的本地C ++项目管理的一个文件,在该文件中创建这个C ++ / CLI类并调用code直接从该文件。你不'吨甚至需要一个单独的DLL来实现这一目标。
- C ++ / CLI和托管C ++都重新present同样的事情。唯一的区别是,在旧版本到Visual Studio 2003中,它被称为托管C ++。后来,语法改变了很多,并更名为C ++ / CLI。看看此链接了解详情。
- 是
- 每当到托管DLL的调用由CLR将被使用。
这篇关于从C ++调用C#,反向的P / Invoke,混合模式DLL和C ++ / CLI的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文