boost库

摘要: boost库boost::split() 按照给定的谓词切割字符串,并且把切割后的值放入到给定的容器中string str1("hello world!");string str2;std::vector result;split(result, str1, SplitNotThisChar('l')); // result = [4]("he","","o wor","d!")remove_if()将所有应该移除的元素都移动到了容器尾部并返回一个分界的迭代器. 移除的所有元素仍 阅读全文
posted @ 2014-03-11 23:35 DaMengZhang 阅读(108) 评论(0) 推荐(0) 编辑

串口通信

摘要: 串口通信波特率:每秒发送的比特位很少用串口传送文件,因为速度太慢了,主要完成控制和检测添加ActiveX控件Microsoft Communitions Control串口通信和网络通信一样,需要一直监听是否有数据来了程序采用一个通用的多串口多线程类CSerialPortEx来处理底层串口通信细节按照自定义串口通信协议SPCP建立连接,实现数据的传输功能串行端口的本质功能是作为CPU和串行设备间的编码转换器vs中删除资源应在基类的OnDestroy之前,否则可能会出错error LNK2001: 无法解析的外部符号 "public: virtual struct CRuntimeCl 阅读全文
posted @ 2014-03-11 23:34 DaMengZhang 阅读(569) 评论(0) 推荐(0) 编辑

mfc---拖曳文件

摘要: 拖曳文件:文件拖曳会触发OnDropFiles(HDROP hDropInfo)消息:int count = DragQueryFile(hDropInfo,0xFFFFFFFF,NULL,_MAX_PATH)得到拖曳的文件总数DragQueryFile(hDropInfo,i,pszFilePath,_MAX_PATH)得到所拖曳的第i个文件名存入pszFilePath中DragFinish(hDropInfo) 阅读全文
posted @ 2014-03-11 23:33 DaMengZhang 阅读(154) 评论(0) 推荐(0) 编辑

mfc---单文档工程添加消息响应

摘要: 写消息映射:.h中些函数头文件afx_mag ….cpp中写函数体.cpp中写消息映射给toolbar添加消息:.h中添加头文件afx_msg …..cpp中添加函数体,消息映射ON_COMMAND(,)给toolbar中添加的资源ID在resource.h中 阅读全文
posted @ 2014-03-11 23:32 DaMengZhang 阅读(199) 评论(0) 推荐(0) 编辑

进程间通信

摘要: 进程间通信剪切板:是系统维护管理的一块内存区域,当在一个进程中复制数据时,是将这个数据放到该内存区域中,当在另一个进程中粘贴数据时,是从该内存区域中取出数据,然后显示在窗口上Bool OpenClipboard(): 打开剪切板Bool EmptyClipboard():清空剪切板,只有清空剪切板后,打开剪切板的窗口才拥有剪切板HGLOBAL GlobalAlloc(UINT uFlags , SIZE_T dwBytes):从堆上分配指定数目的字节数LPVOID GlobalLock(HANDLE hMem): 返回该内存块指针,对全局内存对象进行加锁Bool GlobalUnlock(HA 阅读全文
posted @ 2014-03-11 23:30 DaMengZhang 阅读(189) 评论(0) 推荐(0) 编辑

线程同步与异步套接字编程

摘要: 线程同步与异步套接字编程事件对象:属于内核对象,可以实现线程同步事件对象的组成:使用计数标记是自动重置还是人工重置的布尔值标记处于通知状态还是未通知状态HANDLE CreateEvent(LPSECURITY_ATTRIBUTES lpEventAttributes,BOOL bManualReset,//人工还是自动重置,true人工,false自动BOOL bInitialState,//事件初始状态,true有信号,false没信号LPCTRSTR lpName//事件对象的名称)关闭事件对象:CloseHandle(HANDLE hHandle)设置事件对象为有信号状态:SetEve 阅读全文
posted @ 2014-03-11 23:29 DaMengZhang 阅读(712) 评论(0) 推荐(0) 编辑

网络编程

摘要: 网络编程:AfxSocketInit函数内部调用WSAStartup函数加载套接字库,不需要为工程链接ws2_32.lib库文件,还可以确保应用程序在终止之前,调用WSACleanup函数终止对套接字库的使用AfxSocketInit需要包含Afxsock..h,stdafx,h中包含了Afxsock.h可以将接收数据的操作1.放置在一个单独的线程中完成,并给这个线程传递两个参数,创建的套接字,和对话框控件的的句柄2.创建一个套接字的派生类,重写OnAccept消息,OnListen,OnReceive等消息 阅读全文
posted @ 2014-03-11 23:27 DaMengZhang 阅读(128) 评论(0) 推荐(0) 编辑

多线程

摘要: 多线程进程和程序进程:正在运行的程序的实例,是一个程序在其自身的地址空间中的一次执行活动程序:计算机指令的集合,它以文件的形式存储在磁盘上一个程序可以对应多个进程进程是资源申请,调度和独立运行的单位程序不能申请系统资源,不能被系统调度,也不能作为独立运行的单位进程的组成 内核对象:操作系统内部分配的一个内存块,用来存放关于进程的统计信息的地方,负责维护该对象的各种信息地址空间:包含所有可执行程序模块或DLL模块的代码和数据,还包含动态内存分配的空间内核对象的数据结构只能被内核访问使用,应用程序只能通过Windows提供的一些函数来对内核对象进行操作真正完成代码执行的是线程,进程只是线程的容器. 阅读全文
posted @ 2014-03-11 23:26 DaMengZhang 阅读(239) 评论(0) 推荐(0) 编辑

mfc---右键蹦出菜单

摘要: WM_CONTEXTMENUCMenu menu;menu.LoadMenu(IDR_MENU_POPUP);menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGH|TPM_LEFTBUTTON|TPM_RHGHTBUTTON,point.x,point.y,this); 阅读全文
posted @ 2014-03-11 23:11 DaMengZhang 阅读(150) 评论(0) 推荐(0) 编辑

mfc---手动给toolbar按钮添加消息View中

摘要: 手动给toolbar按钮添加消息View中:.h: afx_msg void OnButtonBG();.cpp: ON_COMMAND(ID_BUTTON_BG,OnButtonBG).cpp: void OnButton() 阅读全文
posted @ 2014-03-11 23:09 DaMengZhang 阅读(271) 评论(0) 推荐(0) 编辑