您的位置:首页 > 游戏 > 手游 > 公司网站招聘的作用_新闻报道最新消息今天_seo外链是什么意思_百度seo推广怎么收费

公司网站招聘的作用_新闻报道最新消息今天_seo外链是什么意思_百度seo推广怎么收费

2024/9/23 2:25:55 来源:https://blog.csdn.net/qq_40724911/article/details/142327021  浏览:    关键词:公司网站招聘的作用_新闻报道最新消息今天_seo外链是什么意思_百度seo推广怎么收费
公司网站招聘的作用_新闻报道最新消息今天_seo外链是什么意思_百度seo推广怎么收费

文章目录

  • 1. 创建并生成C++的DLL(C++动态链接库)
    • (1)新建项目-->开发语言选定C++,在搜索栏搜索“动态链接库”-->配置项目名称和路径-->添加类,此处命名为My_C_Class
    • (2)实现类的功能,此处只简单实现`a+b`的功能
    • (3)编译,生成.dll和.lib等文件
  • 2. C#类库进一步封装C++,生成C#的DLL(NuGet包)
    • (1)新建C#类库项目,命名为My_CS_DLL,类名命名为My_CS_Class
    • (2)安装fody插件
    • (3) 添加dll到项目,并修改dll的属性
    • (4)添加My_C++\_DLL库的引用,编译
    • (5)发布My_CS_DLL的NuGet包(发布之前建议配置好版本,便于后续分辨)
  • 3. 在WPF应用程序工程中导入C#的NuGet包
    • (1)创建wpf项目
    • (2)导入本地NuGet包
    • (3)测试
  • 4. 更新NuGet包(版本更新)
    • (1)打开发布NuGet包的项目,在项目文件中修改属性Version的值
    • (2)发布,得到新版本的NuGet包
    • (3)拷贝到Package Source路径下
    • (4)更新

将C++源码生成DLL,并在WPF中使用该DLL的步骤:

  1. 创建 C++ 类库项目,添加对应的.cpp和.h文件,生成C++.dll
  2. 创建C#类库项目,添加C++.dll,使用fody将该C#类库项目发布成NuGet包(NuGet包保存在一个指定文件夹中,该文件夹专用于保存本地NuGet包)
  3. 创建WPF应用程序,通过“管理NuGet”包将上述保存的包添加到新建WPF项目中

1. 创建并生成C++的DLL(C++动态链接库)

(1)新建项目–>开发语言选定C++,在搜索栏搜索“动态链接库”–>配置项目名称和路径–>添加类,此处命名为My_C_Class

在这里插入图片描述

(2)实现类的功能,此处只简单实现a+b的功能

.cpp和.h文件内容如下:
在这里插入图片描述

添加预处理符号_EXPORTING的定义:
在这里插入图片描述

(3)编译,生成.dll和.lib等文件

“生成”–>“Build My_C++_DLL”,成功后可以在项目路径中的Debug/文件夹中查看到.dll文件
在这里插入图片描述

2. C#类库进一步封装C++,生成C#的DLL(NuGet包)

(1)新建C#类库项目,命名为My_CS_DLL,类名命名为My_CS_Class

在这里插入图片描述

(2)安装fody插件

右键项目名称–>管理NuGet程序包–>搜索栏搜索“fody”,选择“Costura.Fody”进行安装
在这里插入图片描述

(3) 添加dll到项目,并修改dll的属性

在项目内手动新建文件夹,命名为“Costura64”(代表64位),将第一步生成的My_C++_DLL.dll文件拷贝到该路径下,修改dll的属性,点“生成解决方案”,会生成FodyWeavers.xml文件

在这里插入图片描述

(4)添加My_C++_DLL库的引用,编译

在My_CS_Class.cs中添加My_C++_DLL库的引用,以及在FodyWeavers.xml中添加My_C++_DLL库,编译
在这里插入图片描述

(5)发布My_CS_DLL的NuGet包(发布之前建议配置好版本,便于后续分辨)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

完成上述步骤后,C#封装完成。

3. 在WPF应用程序工程中导入C#的NuGet包

(1)创建wpf项目

在这里插入图片描述

(2)导入本地NuGet包

在这里插入图片描述
在这里插入图片描述

(3)测试

在这里插入图片描述

至此,C++源码封装成类库并在wpf项目中引用的过程已全部实现。

4. 更新NuGet包(版本更新)

(1)打开发布NuGet包的项目,在项目文件中修改属性Version的值

在这里插入图片描述

(2)发布,得到新版本的NuGet包

在这里插入图片描述

(3)拷贝到Package Source路径下

在这里插入图片描述

(4)更新

在这里插入图片描述
附件:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com