Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c#调用c++dll

作者:城若幻影   发布日期:2026-01-26   浏览:52

using System;
using System.Runtime.InteropServices;

class Program
{
    // 引用C++ DLL中的函数,需要使用DllImport特性
    [DllImport("MyCppDll.dll", CallingConvention = CallingConvention.Cdecl)]
    public static extern int Add(int a, int b);

    static void Main(string[] args)
    {
        // 调用C++ DLL中的Add函数
        int result = Add(5, 3);
        Console.WriteLine("Result: " + result);
    }
}

解释说明:

  1. DllImport:这是C#中用于引用非托管代码(如C++编写的DLL)的关键字。通过DllImport属性,可以指定要调用的DLL文件名以及调用约定(CallingConvention)。在这个例子中,我们假设C++ DLL名为MyCppDll.dll,并且它导出了一个名为Add的函数。

  2. extern:关键字extern表示该方法是在外部实现的,即不在当前程序集中定义,而是由外部库提供。

  3. CallingConvention.Cdecl:指定了调用约定为cdecl,这通常是C/C++编译器使用的默认调用约定。确保C#和C++之间的调用约定一致非常重要,否则可能会导致堆栈不平衡或其他问题。

  4. 静态方法Add方法被声明为静态方法,因为它是一个外部方法,不需要实例化类即可调用。

  5. Main方法:在Main方法中,我们调用了Add方法,并将结果打印到控制台。

上一篇:c,c++,c#有何区别

下一篇:c c++ c#

大家都在看

c# 二进制

c# datatable group by

c# tcp client

c# type.gettype

c# sqlconnection

c# string.format 小数位数

.net和c#

c#获取系统时间

c#游戏开发

c#网络编程

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站