日期:2014-05-17  浏览次数:20842 次

以下C++代码在C#中如何调用
// 下列 ifdef 块是创建使从 DLL 导出更简单的
// 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 DYNAMICPWDCREATOR_EXPORTS
// 符号编译的。在使用此 DLL 的
// 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将
// DYNAMICPWDCREATOR_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的
// 符号视为是被导出的。
#ifdef DYNAMICPWDCREATOR_EXPORTS
#define DYNAMICPWDCREATOR_API __declspec(dllexport)
#else
#define DYNAMICPWDCREATOR_API __declspec(dllimport)
#endif
#include <string>

class DYNAMICPWDCREATOR_API CDynamicPwdCreator {
public:
CDynamicPwdCreator(void);
// TODO: 在此添加您的方法。
    ~CDynamicPwdCreator();
    // 检测口令码
    bool CheckPwd(char* szPwd);
    // 获得口令码
    std::string GetPwd(void);
private:
    // 生成口令码
    bool CreatePwd(void);
private:
    std::string m_strPsw;
};

------解决方案--------------------
C#不能直接调用原生C++的对象,你得在C++/CLI中做一个包装。