千家信息网

C#如何调用C++Dll

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章将为大家详细讲解有关C#如何调用C++Dll,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1,闲着的使用做的一个测试,原因:上家公司Unity3D使用C++
千家信息网最后更新 2025年01月23日C#如何调用C++Dll

这篇文章将为大家详细讲解有关C#如何调用C++Dll,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1,闲着的使用做的一个测试,原因:上家公司Unity3D使用C++封装的Socket用C#来调用.这是一个例子,事实上,如果一些运算量大的功能用C++来写,然后使用C#调用的话,一来可以优化性能(你懂的),而来可以隐藏(保护)代码.不多说了,上测试

C++代码:

// CSharpMInvoke.cpp : 定义 DLL 应用程序的导出函数。//#include "stdafx.h"extern "C" __declspec(dllexport) int Add( int x , int y ){        return x + y;}

C#代码:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CSharpDll{    public class CPPDll    {        [System.Runtime.InteropServices.DllImport("CSharpMInvoke.dll",  CallingConvention=System.Runtime.InteropServices.CallingConvention.Cdecl)]        public static extern int Add(int x, int y);    }}

注意:将C++生成的dll文件(Bin文件夹中)复制到C#项目Bin/Debug中

这里是:CSharpMInvoke.dll

源文件:

关于"C#如何调用C++Dll"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0