c#调用一个C++ DLL。本来该DLL是提供多个函数,来进行SOCKET通信操作。现在因为通信对象为多个,且可能为不定数目。所以在C++ DLL中将方法封装到一个类中。然后DLL提供返回该类指针的函数。想法是通过C#调用DLL中该方法返回的实例来对不同通信对象操作。
现在碰到的问题是不知道C#如何调用C++DLL类。c++自己调用的话只要导入TACClass.h即可,但C#不知道如何导入该类头文件。所以求高手帮忙,谢谢~
static TACClass * NewTACClass();//返回TACCLASS类实例

解决方案 »

  1.   

    既然是一个静态指针,为什么不直接导出相关功能,而要自找麻烦地包在一个类里面呢?
    C#理解不了你C++类的布局的,C#可以保存一个该类的指针,传回C++,但不能直接调用它的成员函数。
      

  2.   

     将dll引入项目
     [DllImport("动态库名称", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]static extern int 方法();  //加载识别核心
    然后调用