2005
1-7...1-21
MFC动态链接库框架的建立,创建功能类, 要求导出vector<class T>类型数据。
解决方案:在DLL中供vector模板使用的类(struct)需要重载< 和 == 运算符
使用自定义的宏:
#ifdef DLL_EXPORTS
#define DLL_API __declspec(dllexport)
#define EXPIMP_TEMPLATE
#else
#define DLL_API __declspec(dllimport)
#define EXPIMP_TEMPLATE extern
#endif
测试程序框架的建立,要求以DLL为支持正常工作。
error Link 2001: 需要某些LIB文件支持;
error Link 2005: 需要StdAfx.h, 或者在project->setting中取消precompile
为DLL添加modem拨号连接功能(AT命令集的使用),添加串口类(自定义)并更改优化,
添加对集中器操作的功能,(集中器协议的使用), 更改DLL中的功能类;
1-22
关于pchVct类导出并生成对象问题的解决:
在project->setting->c/c++->Preprocessor definitons中加入宏定义DLL_EXPORTS(project: LIB)
1-23
关于读取数据不稳定问题的解决:
在每一个ReadByte()函数调用之前,延时一秒等待串口的读操作设置连接超时60秒
1-24
测试程序:
关于pchVct类数据显示问题的解决:
string.data(); 将string类数据转换为CString, char* 等
sprintf(char *, CString); 将CString转换为char *
界面,使用ComboBox设置串口参数, 应用模式对话框
DLL:
按要求完成各项功能函数
1-25
代码优化:模块化,增加辅助功能函数;增加数据成员,减少重复操作,以空间换时间
软件开发完成, 有待进一步测试, 并提供相应的技术文档.