从C ++调用C#,反向的P / Invoke,混合模式DLL和C ++ / CLI [英] Calling C# from C++, Reverse P/Invoke, Mixed Mode DLLs and C++/CLI

查看:113
本文介绍了从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:


  1. 创建你管理(C#)类。

  2. 创建一个C ++ / CLI(原托管C ++)类库项目。用它来调用托管C#类(通过参考presumably)。

  3. 通话从本地C ++的C ++ / CLI code。

问题:


  1. 这是正确的?

  2. 是被称为混合模式DLL步骤2中创建DLL?

  3. 的C ++ / CLI完全取代托管C ++就MS而言?

  4. 是COM使用这种方法完全避免?

  5. 在什么时候会被创建的CLR并运行,靠谁?

在此先感谢

推荐答案

下面是答案就我所知的:

Here are the answers to the best of my knowledge:



  1. 是的,它是一种混合模式DLL(事实上,你可以让你的本地C ++项目管理的一个文件,在该文件中创建这个C ++ / CLI类并调用code直接从该文件。你不'吨甚至需要一个单独的DLL来实现这一目标。

  2. C ++ / CLI和托管C ++都重新present同样的事情。唯一的区别是,在旧版本到Visual Studio 2003中,它被称为托管C ++。后来,语法改变了很多,并更名为C ++ / CLI。看看此链接了解详情。


  3. 每当到托管DLL的调用由CLR将被使用。

这篇关于从C ++调用C#,反向的P / Invoke,混合模式DLL和C ++ / CLI的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆