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
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr丶D0ng

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值