求救 求救!根据一个C++的头文件写调用的类库 求救!!要用C#写一个调用C++类的类库,下面是发行库的头文件#if
求救 求救!根据一个C++的头文件写调用的类库
求救!!
要用C#写一个调用C++类的类库,下面是发行库的头文件
#ifndef _PUB___
#define _PUB___
#define SN_SIZE8/* 序列号长度 */
#define MAC_SIZE6/* mac地址长度 */
#define IPADDR_SIZE15/* 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
{
NOTIFYpfuncNotify;/* 结果 通知事件函数 */
}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通知函数, 返回给主程序发行信息
实在不会,请教坛子里的高人!!
[最优解释]C++部分要包装成dll,才可以被C#调用哦。
[其他解释]可是现在就只有个头文件,要我写...
假设已经有了dll ,按文件来写要怎么写呢?
[其他解释]用Windows SDK工具中的depend.exe看看,dll的导出函数都有哪些。
[其他解释]这。。。。我是真的没有dll 只有头文件
[其他解释]那怎么调用?就好比我给你本电视的说明书,不给你电视机,你怎么看电视?
[其他解释]所以我就来求救了,而且看起来这个头文件还是很清晰的
------其他解决方案--------------------
调用这个库,然后她会返回什么消息还是了解的,就是我需要先初始化它再写个notify让它回调...可是不会做
[其他解释]你现在不是没有库吗,只有头文件,一个文本文件而已。
你看看有没有.lib文件,如果有的话,新建一个C程序,引用.lib文件,include头文件,包装成dll。要是没有dll没有lib,那等于什么也没有。
[其他解释]也是啊 就只有那些参数。。。。
[其他解释]要是“头文件”那么好使,那还有谁去写.cpp实现文件啊。
[其他解释]dll给了,但是现在要求我直接用C++开发了.....怎么办啊mfc?alt?win32? vs2005不给力啊 还是用C++ building? 凌乱啊
[其他解释]都给了dll了。头文件你也有了。你还搞墨迹啊。。。。。。。。。。
[其他解释]我C#的 现在要我C++开发窗体。。。。。。