首页 新闻 会员 周边 捐助

如何在NET调用非托管dll的类

0
悬赏园豆:20 [已关闭问题] 关闭于 2008-10-31 14:23

 在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 ???

请各位指教下

谢谢了

西就东城的主页 西就东城 | 初学一级 | 园豆:180
提问于:2008-10-20 11:36
< >
分享
所有回答(2)
0

我的理解是不行的,调用COM倒可以,要不你些个COM包装一下

octoberfirst | 园豆:275 (菜鸟二级) | 2008-10-20 19:04
0

调用COM

RicoRui | 园豆:3663 (老鸟四级) | 2008-10-20 20:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册