发新帖

[C#/ASP.NET] [C/VC/C++] [QT] 调用非托管的dll文件里有多个类对象

零下一度 2022-11-22 735

我通过查看源代码发现,似乎在一个.dll文件中,有多个类(如Class1.cpp和Class2.cpp)。例如,我想使用Class1(puts)中的函数和Class2(puts)中的函数,应该如何构建DLLImport?喜欢这个?

解决方法

public class LibWrap 
{ 
    /* 
    class PINVOKELIB_API CTestClass 
    { 
     public: 
      CTestClass(void); 
      int DoSomething(int i); 
     private: 
      int m_member; 
    }; 
    */ 
    [ DllImport("..\\LIB\\PinvokeLib.dll",  EntryPoint="[email protected]@@[email protected]",  CallingConvention=CallingConvention.ThisCall)] 
    public static extern int TestThisCalling(IntPtr ths, int i); 
    // CTestClass* CreateTestClass(); 
    [DllImport("..\\LIB\\PinvokeLib.dll")] 
    public static extern IntPtr CreateTestClass(); 
    // void DeleteTestClass(CTestClass* instance) 
    [ DllImport("..\\LIB\\PinvokeLib.dll")] 
    public static extern void DeleteTestClass(IntPtr instance); 
}


@VoidCC



最新回复 (0)
返回
零下一度
主题数
928
帖子数
0
注册排名
1