通过C++/CLI将C++与C#进行联合编程

 官网.NET programming with C++/CLI | Microsoft Learn
可以使用C++/CLI在C++和.Net之间联合编程,C++/CLI是一个两栖模块,它具有如下特点

1.既可以访问.Net类库,也可以访问C++原生类库
2.既可以被.Net程序引用,也可以被C++原生程序引用


使用C++/CLI,可以使用C++编写算法,用C#编写界面

C++/CLI(Common Language Infrastructure,通用语言框架)可以简单的认为就是.NET运行的托管C++

C#可以调用Native C++类,也可以调用C++/CLI类,但是区别非常大。

1.C#可以调用Native C++类类型,无论使用Pinvoke还是其他方法,Native类类型作为参数都很难处理
2.C#可以直接调用ref类,和.net类库内其他类一样
        1.ref类的变量(字段)不能使Native C++类类型,可以是指向Native C++类类型对象的指针
        2.ref类内部可以直接使用N

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
如果你想在 Visual Studio 中使用 C++/CLI C++ 项目,并且引用 C# 中的 System::Collections,可以按照以下步骤进行: 1. 创建一个 C++ 项目 首先,你需要在 Visual Studio 中创建一个 C++ 项目。可以选择 Windows 桌面向导中的“空项目”模板,或者选择“Windows 桌面向导”模板,并在下一步中取消选中“预先配置的组件”。 2. 添加对 C# 程序集的引用 右键单击项目,选择“属性”,在“常规”选项卡中,找到“引用”选项卡。在这里,你可以添加对 C# 程序集的引用。 如果你需要引用的是 .NET Framework 中的程序集,可以点击“添加新引用”按钮,然后选择“程序集”选项卡,找到你需要引用的程序集并添加它。 如果你需要引用的是自己编C# 类库,可以点击“添加新引用”按钮,然后选择“浏览”选项卡,找到你的类库并添加它。 3. 在 C++/CLI 代码中使用 C# 类型 现在,你可以在 C++/CLI 代码中使用 C# 类型了。例如,如果你想使用 C# 中的 List<T> 类,可以按照以下步骤进行: - 在 C++/CLI 代码中添加以下代码: ```cpp #using <mscorlib.dll> using namespace System::Collections::Generic; ``` - 在代码中创建一个 List 对象,并使用 Add 方法向其中添加元素: ```cpp List<int>^ myList = gcnew List<int>(); myList->Add(10); myList->Add(20); myList->Add(30); ``` - 使用 for each 循环遍历 List 中的元素: ```cpp for each (int i in myList) { Console::WriteLine(i); } ``` 需要注意的是,由于 C++/CLI 是一种混合语言,因此它可以同时使用 C++C# 语言特性。因此,在 C++/CLI 代码中可以直接使用 C# 类型,并且不需要使用 COM 或 P/Invoke 技术。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最强玩者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值