我是菜鸟,不知道问题说得对不对,麻烦各位一下:vc++编译的dll 在 c# 里边可以直接使用吗?需不需要其它操作?

解决方案 »

  1.   

    可以。
    例如:
    先在VC里创建了一个DLL,
    CPP文件是这样的:
    int _stdcall Add(int a, int b)
    {
    return a+b;
    }int _stdcall Sub(int a, int b)
    {
    return a-b;
    }def文件是这样的:
    EXPORTSAdd @1
    Sub @2在C#中:
    using System.Runtime.InteropServices;
    [DllImport("testDll.dll")]public static extern int Add(int a, int b);
    public int add(int a, int b)
    {
    return Add(a,b);
    }
    [DllImport("testDll.dll")]
    public static extern int Sub(int a, int b);
    public int sub(int a, int b)
    {
    return Sub(a,b);
    }
      

  2.   

    vc++编译的dll 在 c# 里边可以直接使用吗?需不需要其它操作?
    -------------------------------------------------------------
    这要看你编译的dll 是Win32 DLL还是MFC DLL 还是托管代码DLL了, 他们使用的方法都有区别