C++/CLI调用Net类库

背景

本文主要讲解,如何通过C++/CLI的方式调用Net类库。如果想要了解其它C++调用Net类库的方式,欢迎查看我的概述

环境准备

正常安装的Visual Studio 2019 C++ 开发环境默认没有包含C++/CLI的开发环境,所以需要按照如下方式准备。

启动Visual Studio Installer

工作负载

选择安装如下的组件

组件选择1

组件选择2

安装上述的组件,可以在vs选择创建项目的时候直接生成CLI模板,而不需要自己从新搭建项目文件,对新人可以更加友好(再次大赞VS宇宙第一IDE)

安装好后建议重启下电脑,然后选择创建C++/CLI项目,如下图所示,为了方便演示,选用了Net Framwork的控制台,目前,C++还不支持Core的控制台CLI,不过类库是可以的。

项目创建

项目创建2

下面创建Net Framwork类库,注意选择和C++的一样的4.7.2

项目创建3

项目创建后,我把默认的Class1.cs修改为Test.cs了,在C++的项目中,像日常操作Net项目一样,在引用上面右键,选择添加引用,来自项目,选中NetLibrary项目

类库引用

在Net类库中,我只写了如下两个方法

  • string GetInfo()
  • string SetInfo(string msg)

Net类库编写

这个我想对Net开发来说,是再简单不过的了,不再做另外赘述。下面开始展示C++部分的代码。

这里面有如下几个问题需要提前注意下

  • C++/CLI 语法不同于C++ C# 是一种新的语法形式 具体可以看文末的参考 .NET Programming with C++/CLI
  • Net中的数据结构不同于C++中的数据结构,哪怕是String字符串这样看起来是一样的,都涉及到了默认的字节大小、编码等,文中的代码例子只是一个简单的转换demo

Cplu运行结果

至此,通过C++/CLI方式调用Net类库就到此为止,更多的案例可以参考附件中的代码例子。

附件

代码例子

参考

.NET Programming with C++/CLI

posted @ 2019-12-17 15:13  tonyctp  阅读(1220)  评论(0编辑  收藏  举报