class __declspec(dllexport) ClockTime
{
private:
int hour;
int second;
int minute;
public:
ClockTime(void);
  ClockTime(int aa);
ClockTime(int _hour,int _second,int _mintue);
~ClockTime();
void setHour(int _hour);
int getHour();
};extern "C" __declspec(dllexport)void* Clock_Init(void **clk)
{
  ClockTime *myClock = new ClockTime();
  *clk = myClock;
  return clk;
}不知道C#中要如何调用Clock_Init

解决方案 »

  1.   

    http://blog.csdn.net/sunboyljp/article/details/5110639
      

  2.   

    [DllImport("c++的.dll")]
    public static extern IntPtr Clock_Init(IntPtr clk);
      

  3.   

    c#没办法调用c++的类。intptr Clock_Init(intptr clk);
      

  4.   

    无法直接调用实例方法。可以把实例方法封装成静态方法后,给C#调用[DllImport("MyDll.dll")]
    public static extern IntPtr Clock_Init(ref IntPtr clk);IntPtr ptr = new IntPtr();
    IntPtr ptrRtn = Clock_Init(ref ptr);
    Assert(ptr == ptrRtn);