C++如何生成dll文件&C#如何调用dll文件?

C++如何生成dll文件?

什么是DLL文件?它的应用场景?它为什么存在?
参考资料:Unity与 DLL文件 ☀️| 什么是DLL✨?

创建动态链接库工程&导出

  1. 创建工程
    开发工具:Visual Studio 2017
    参考步骤
  2. 创建头文件&源文件
#pragma once  // 只允许include一次
extern "C" __declspec(dllexport) int add(int a, int b); 

#pragma once的作用?参考:#pragma once的作用是什么?
为什么需要extern “C”?参考:C++动态加载dll与extern "C"解析
__declspec(dllexport)含义,参考: __declspec(dllexport)含义

#include "test.h"
int add(int a, int  b) 
{
	return a + b;
}

#include<>和#include""的区别,参考:#include<>和#include""的区别

  1. 导出
    设置工程属性,如下图所示
    图1
    图2
    点击运行,即可获取dll文件(F:\Projects\C++\Dll_Test\Debug\Dll_Test.dll)
    图3

C#如何调用dll文件?

创建C#工程及调用

  1. 创建工程
    开发工具:Visual Studio 2017
    图1
  2. 编写脚本文件
    首先,将Dll_Test.dll文件添加到路径(F:\Projects\C#\DllMake\DllMake\bin\Debug)中。
namespace DllMake
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(dllMake.add(5, 5));
            Console.ReadKey();
        }

        public class dllMake
        {
            [DllImport("Dll_Test")] // 导入dll文件
            public static extern int add(int a, int b);
            // public不是必要的。static必须,因为随类一起加载,而不是实例化时。extern必须,这说明是调用外部函数,而不是在指定的命名空间中。
        }
    }
}
  1. 点击运行,即可看到结果
    图2
    至此,恭喜你已经学会简单使用C++工程生成dll文件并且在C#工程中调用该dll文件了!!!
  • 3
    点赞
  • 15
    收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页
评论 1

打赏作者

Mr丶D0ng

你的鼓励就是我最大的动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值