在msdn中有NET如何调用非托管的函数的方法。但如何调用非托管dll的类?到现在没有找到这方面的资料。
举例说明:
非托管C++类的头文件定义:
// 下列 ifdef 块是创建使从 DLL 导出更简单的
//宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 TWIN32DLL_EXPORTS
// 符号编译的。在使用此 DLL 的
//任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将
// TWIN32DLL_API 函数视为是从此 DLL 导入的,而此 DLL 则将用此宏定义的
// 符号视为是被导出的。
#ifdef TWIN32DLL_EXPORTS
#define TWIN32DLL_API __declspec(dllexport)
#else
#define TWIN32DLL_API __declspec(dllimport)
#endif
// 此类是从 TWin32Dll.dll 导出的
class TWIN32DLL_API CTWin32Dll {
public:
CTWin32Dll(void);
// TODO: 在此添加您的方法。
char *ExclusiveOr(char *Dest ,const char *Sour);
};
extern TWIN32DLL_API int nTWin32Dll;
TWIN32DLL_API int fnTWin32Dll(void);
TWIN32DLL_API char *EOr(char *Dest ,const char *Sour);
在Net中,可以这样使用来调用函数fnTWin32Dll ,EOr两个函数,
[DllImport("TWin32Dll.dll")]
public static extern int fnTWin32Dll();
[DllImport("TWin32Dll.dll")]
public static extern string EOr(string d, string s);
但如何调用CTWin32Dll ???
请各位指教下
谢谢了