c# 联合 c++ 编程 DllExport

两种方式 安装:

① NuGet 直接 安装DllExport (此方法 我安装的时候异常,一直装不上,应该是参数设置问题)

② GitHub 下载源码安装 (https://github.com/3F/DllExport),解压找到 DllExport.bat,打开,配置如下

c# Export示例

  [DllExport("Hello", CallingConvention = CallingConvention.StdCall)]
  public static int Hello()
  {
      try
      {
          return 42;
      }
      catch (Exception)
      {

          return 0;
      }
     
  }

c++ 调用示例

  HMODULE hDll = LoadLibraryA("C:\\Users\\Admin\\source\\repos\\bin\\x64\\Debug\\x64\\你生成的DLL.dll");
  if (!hDll)
  {
      MessageBoxA(NULL, "无法加载 ScannerClassLibrary.dll", "错误", MB_OK);
      return -1;
  } 

typedef int(__stdcall* HelloFunc)();
 HelloFunc hello = (HelloFunc)GetProcAddress(hDll, "Hello");

 if (!hello) MessageBoxA(NULL, "找不到 Hello 函数", "错误", MB_OK);
 else MessageBoxA(NULL, ("Hello 返回: " + std::to_string(hello())).c_str(), "测试", MB_OK);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值