美文网首页
C++调用dll C#调用dll

C++调用dll C#调用dll

作者: 七七_qyy | 来源:发表于2019-05-16 11:24 被阅读0次

c++调用dll方法

typedef BSTR(__stdcall *GetEncrypt)(const char* a1, const char* a2);

int main(int argc, char *argv[], char *envp[])
{
    HINSTANCE hDLL = LoadLibrary(("MyDll.dll")); //加载dll文件 
    if (hDLL != NULL)
    {
        GetEncrypt fp1 = GetEncrypt(GetProcAddress(hDLL, (LPCSTR)1)); //得到dll中的第一个函数
        if (fp1 != NULL)
        {
                        // 自定义处理方法
        }
        else
        {
            cout << "Cannot Find Function " << "GetEncrypt" << endl;
        }

        FreeLibrary(hDLL);
    }
    else
    {
        std::cout << "Cannot Find " << "MyDll" << std::endl;
    }
    return 1;
}

如果运行时提示找不到dll,或者加载失败,可以修改程序属性-常规-项目默认值-字符集 改成使用多字节字符集

C# 调用dll 方法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;

namespace DllDemo2
{
    class Program
    {
        [System.Runtime.InteropServices.DllImport("MyDll.dll", CharSet = CharSet.Unicode, SetLastError = true, CallingConvention = CallingConvention.Cdecl, EntryPoint = "GetEncrypt")]
        [return: MarshalAs(UnmanagedType.BStr)]

        static extern string GetEncrypt(IntPtr pwd, IntPtr acc);

        static void Main(string[] args)
        {
            var test = GetEncrypt(Marshal.StringToHGlobalAnsi("111111"), Marshal.StringToHGlobalAnsi(""));
          // 自定义处理方法
        }
    }
}


相关文章

  • C#与C++类型互转

    一、C#调用DLL文件时参数对应表 二、C#调用C++编写的DLL函数, 以及各种类型的参数传递 如果函数只有传入...

  • C#调用OpenCV函数的实现

    C#调用OpenCV函数的实现步骤:1、C++编写调用OpenCV函数的方法,编译成dll;2、C#引用C++生成...

  • C++调用dll C#调用dll

    c++调用dll方法 如果运行时提示找不到dll,或者加载失败,可以修改程序属性-常规-项目默认值-字符集 改成使...

  • c# 调用 C++ dll 传入传出 字符串

    C#调用 非托管C++ dll 传入Stringbuilder、ref string 、 ref char 等都报...

  • Unity3D C#和Lua互相调用

    原理:c#调用lua, 是c# 通过P/Invoke方式调用了lua的dll(一个C库),然后这个dll执行了lu...

  • C#与c++对应的类型

    //C#调用C++的DLL搜集整理的所有数据类型转换方式-转载//c++:HANDLE(void *) ---- ...

  • DLL调用

    使用VS2012生成DLL文件(1)在C++中调用DLL中的函数(2)在C++中调用DLL中的函数(3)在VS20...

  • C#调用C++ dll编写的程序

    title: 'C#调用C++ dll编写的程序'date: 2016-04-10 18:37:16tags: C...

  • C# 制作Com组件:java调用.net DLL的方法

    巧用C#做中间语言 实现Java调用.net DLL. 本文将详细为大家介绍一个java调用.net DLL的方法...

  • GO 调用 DLL 类库

    最近一个项目需要用到Go调用C++的DLL类库 这里记录一下坑 DLL 原型 GO调用DLL 执行结果 坑 一开始...

网友评论

      本文标题:C++调用dll C#调用dll

      本文链接:https://www.haomeiwen.com/subject/opmbaqtx.html