栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++调用C#类库

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++调用C#类库

C++调用 .NET framework dll
  • 一、生成.NET framework dll
  • 二、创建C++程序并引用dll
  • 三、相关设置
    • 1. 启用 公共语言运行时支持
    • 2. 将符合模式设置为否


由于日常交叉使用C++和C#,因此个人在这两种语言下编译了一定数量的类库,为极大程度地使用这些类库,尝试了一种混合调用方式


一、生成.NET framework dll

首先创建一个C#类库(选择所需版本的框架)
在类库中定义项目所需的类
将生成的dll以及相应的pdb文件保存备用
以上过程没有需要特别注意的地方


二、创建C++程序并引用dll

以控制台应用为例

在需要调用C# dll的cpp文件中加入如下代码

// 引入C# dll
#using "..x64DebugCSharpDll.dll" // 此处可采用绝对路径 但不建议
// 启用托管
#pragma managed
// 引用命名空间
using namespace dllnamespace;
// 在函数中调用
int main(){
	// 实例化类class
	dllnamespace::ClassName^ class = gcnew dllnamespace::ClassName();
	class->attribute;  // 类的属性
	class->func();     // 类的方法
	...
}
  • 注1:其中相对路径为相对cpp的路径
  • 注2:class是一个指针
三、相关设置

上述代码并不能直接使用,在使用之前需对C++程序做相应地配置

1. 启用 公共语言运行时支持

2. 将符合模式设置为否

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/330483.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号