• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C#调用C++动态库(dll)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1.先创建一个C++空的动态库

  

2.修改2个属性

  (1)设置公共语言运行时支持,目的是将C++代码编译成为中间语言(clr),

    

  (2)

    

3. main.h中:

  #pragma once
  #include <string>

  //在被导出的函数前面一定要添加额extern “C来指明导出函数的时候使用C语言方式编译和链接的,这样保证函数定义的名字相同,否则如果默认按C++方式导出,那个函数名字就会         //变得乱七八糟,我们的程序就无法找到入口点了

       //__declspec(dllexport)”意思是将后面修饰的内容定义为DLL中要导出的内容

  _EXTERN_C     __declspec(dllexport) int FuncAdd(int a, int b);                            

  };

4.main.cpp中:

  #include "main.h"

  __declspec(dllexport)  int  FuncAdd(int a, int b)
  {
    return a + b;
  }

5. 创建C#工程,去调用dll

  public class Program
  {
    [DllImport(@"ConsoleApplication1.dll", EntryPoint = "FuncAdd", CallingConvention = CallingConvention.Cdecl)]
    public extern static int FuncAdd(int a,int b);
    static void Main()
    {
      int temp = FuncAdd(1, 2);
      Console.WriteLine(temp);

    }

       }

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[引]C#WinFormDirectShow视频采集及图片抓取实例DxSnap发布时间:2022-07-10
下一篇:
C#字符串类型发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap