栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

C++如何生成dll文件?

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

创建动态链接库工程&导出
    创建工程
    开发工具:Visual Studio 2017
    创建头文件&源文件
#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""的区别

    导出
    设置工程属性,如下图所示


    点击运行,即可获取dll文件(F:ProjectsC++Dll_TestDebugDll_Test.dll)
C#如何调用dll文件? 创建C#工程及调用
    创建工程
    开发工具:Visual Studio 2017
    编写脚本文件
    首先,将Dll_Test.dll文件添加到路径(F:ProjectsC#DllMakeDllMakebinDebug)中。
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必须,这说明是调用外部函数,而不是在指定的命名空间中。
        }
    }
}
    点击运行,即可看到结果

    至此,恭喜你已经学会简单使用C++工程生成dll文件并且在C#工程中调用该dll文件了!!!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/779122.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号