求救!!
要用C#写一个调用C++类的类库,下面是发行库的头文件#ifndef _PUB___#define _PUB___#define SN_SIZE 8 /* 序列号长度 */
#define MAC_SIZE 6 /* mac地址长度 */
#define IPADDR_SIZE 15 /* ip地址长度 */
/* 返回结果 */typedef enum result
{
SUCC = 0, /* 成功 */
FAIL = 2000, /* 失败 */
ERROR_PARAM, /* 参数错误 */
ERROR_BUTT /* 无效的结果值 */

}RESULT_E;/* 通知事件结构体 */
typedef struct notify
{
int iResult; /* 结果 */
unsigned char aucSn[SN_SIZE]; /* 唯一序列号 */
unsigned char aucMac[MAC_SIZE]; /* MAC地址 */
unsigned char aucIpAddr[IPADDR_SIZE]; /* ip地址 */

}NOTIFY_S;/* 发行结果 通知事件函数 */typedef unsigned int (*NOTIFY)(NOTIFY_S *pstNotify);/*初始化结构体 */typedef struct init
{
NOTIFY pfuncNotify; /* 结果 通知事件函数 */

}INIT_S;/* 返回加密芯片发行库的版本号字符串 */unsigned char *version(void);/* 设置debug调试信息开关 true 打开, false关闭 */
void debug_set(bool bl);/* 设置错误调试信息开关 true 打开, false关闭 */
void error_set(bool bl);/* 初始化 */int init(INIT_S *pstInit);#endif /* 发布*/
软件 = 主程序 + 发行库.使用发行库时, 主程序只要调用发行库初始化函数int init(INIT_S *pstInit);主程序要写一个notify通知函数, 初始化发行库时, 主程序把notify通知函数的地址通过初始化参数传递给发行库.  当发行库发行完一台单机版设备后, 发行库会调用这个notify通知函数, 返回给主程序发行信息实在不会,请教坛子里的高人!!

解决方案 »

  1.   

    C++部分要包装成dll,才可以被C#调用哦。
      

  2.   

    可是现在就只有个头文件,要我写...
    假设已经有了dll  ,按文件来写要怎么写呢?
      

  3.   

    用Windows SDK工具中的depend.exe看看,dll的导出函数都有哪些。
      

  4.   

    这。我是真的没有dll   只有头文件
      

  5.   

    调用这个库,然后她会返回什么消息还是了解的,就是我需要先初始化它再写个notify让它回调...可是不会做
      

  6.   

    你现在不是没有库吗,只有头文件,一个文本文件而已。你看看有没有.lib文件,如果有的话,新建一个C程序,引用.lib文件,include头文件,包装成dll。要是没有dll没有lib,那等于什么也没有。
      

  7.   


    要是“头文件”那么好使,那还有谁去写.cpp实现文件啊。
      

  8.   

    dll给了,但是现在要求我直接用C++开发了.....怎么办啊mfc?alt?win32?  vs2005不给力啊  还是用C++ building?  凌乱啊
      

  9.   

    都给了dll了。头文件你也有了。你还搞墨迹啊。
      

  10.   

    c++开发窗体?不懂你不是在c#里面调用c++的dll实现功能吗。你c#里面没窗体吗?