21xrx.com
2024-09-19 09:15:19 Thursday
登录
文章检索 我的文章 写文章
C#调用C++的DLL
2023-07-04 11:17:36 深夜i     --     --
C# C++ DLL 调用 Interop

动态链接库(DLL)是Windows操作系统中常用的一种动态库文件形式,它可以提供可重用代码和资源库以供程序使用。在编写某些程序时,需要调用外部DLL文件的函数来实现一些功能。本文就介绍了如何在C#程序中调用C++的DLL。

一、C++ DLL编写

在Visual Studio中新建一个C++(Win32)动态链接库项目,编写一个简单的DLL函数sum,其代码如下:


#include "pch.h"

extern "C" __declspec(dllexport) int sum(int a, int b)

{

  return a + b;

}

其中,`__declspec(dllexport)`声明该函数可以被其他程序调用。编译生成后将生成的.dll文件复制到C#项目的Debug目录下。

二、C#中调用C++ DLL

在C#项目中,通过DLLImport方式调用C++的DLL。代码如下:

#

using System;

using System.Runtime.InteropServices;

class Program

{

  [DllImport("Test.dll", EntryPoint = "sum")]

  static extern int sum(int a, int b);

  static void Main(string[] args)

  {

    int a = 10, b = 20;

    int result = sum(a, b);

    Console.WriteLine($"{a}+{b}={result}");

  }

}

其中,`DllImport`指定将要调用的dll文件名字和入口点名字,这里的入口点名字是C++中的函数名。在C#中使用DllImport方式调用C++的DLL后面还可以添加其他参数,如CallingConvention、CharSet等等。

总结:

本文简单介绍了如何在C#程序中调用C++的DLL。需要注意C++的DLL编写和C#的DLLImport方式的使用。更多详细信息可以查看具体的API文档。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复