04 2015 档案
摘要:每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动模式描述为:在一定环境中解决某一问题的方案,包括三个基本元素--问题,解决方案和环境。阅读类图和对象图请先学习UML创建模式 结构模式 行为模式创建模式:对类的实例化过程的...
阅读全文
摘要:状态模式定义:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。实用性:1、 一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为。2、 一个操作中含有庞大的多分支条件语句,且这些分支依赖于该对象的状态。优点:1、 将与特定状态相关的行为局部化,并且将不同状态...
阅读全文
摘要:namespace{//strand提供串行执行,能够保证线程安全,同时被post或dispatch的方法,不会被并发的执行.//io_service不能保证线程安全boost::asio::io_servicem_service;boost::asio::strandm_strand(m_serv...
阅读全文
摘要:This tutorial demonstrates the use of the boost::asio::strand class to synchronise callback handlers in a multithreaded program.The previous four tuto...
阅读全文
摘要:In this tutorial we will see how to use a class member function as a callback handler. The program should execute identically to the tutorial program ...
阅读全文
摘要:In this tutorial we will modify the program from tutorial Timer.2 so that the timer fires once a second. This will show how to pass additional paramet...
阅读全文
摘要:在程序中我们经常要使用定时刷新的功能,典型的应用是在信息管理系统中表单要跟着数据库中的数据变动。MFC提供了定时器来完成这个功能。=========================================================================在MFC中和定时器相关的...
阅读全文
摘要:同步Timerasio中提供的timer名为deadline_timer,它提供了超时计时的功能。首先以一个最简单的同步Timer为例来演示如何使用它。#include#includeintmain(){boost::asio::io_serviceio;boost::asio::deadline_...
阅读全文
摘要:#include#includeintmain(){boost::asio::io_serviceio;boost::asio::deadline_timertimer(io,boost::posix_time::seconds(3));timer.wait();std::coutexpires_a...
阅读全文
摘要:[cpp]view plaincopystaticconstcharS_FILL[]="cycle_queue_fill_";staticconstcharS_EMPTY[]="cycle_queue_empty_";templateclassCycleQueueT{private:CycleQue...
阅读全文
摘要:前些天为了实现Linux自动登陆的方法,在网上查了很多资料,发现有不少方法,但网上有些方法的讲解不是特别清楚,或者已经过时。因此,特意整理了一下Linux自动登陆的设置方法。本文的测试环境为Centos 5.5。1、设置GDMGDM是GNOME显示管理器,通过设置其配置文件/etc/gdm/cust...
阅读全文
摘要:对无锁队列的最初兴趣来自梁斌同志的一个英雄帖:http://coderpk.com/。第一次看到这个题目的时候还不知道CAS,FAA等所谓的“原子操作”,但直觉上感觉,通过对读写操作的性能优化来达到大幅提高队列性能的方法是行不通的,就算读写操作全用汇编来写,也不会和正常的read及write有数量级...
阅读全文
摘要:一哥们翻译的boost的无锁队列的官方文档原文地址:http://blog.csdn.net/great3779/article/details/8765103Boost_1_53_0终于迎来了久违的Boost.Lockfree模块,本着学习的心态,将其翻译如下。(原文地址:http://www.b...
阅读全文
摘要:转自:http://blog.csdn.net/zhuky/archive/2010/03/10/5364574.aspxBoost.Asio是一个跨平台的网络及底层IO的C++编程库,它使用现代C++手法实现了统一的异步调用模型。头文件#include 名空间using namespace boo...
阅读全文
摘要:获取按钮消息响应函数:voidCTest17GetTimeDlg::OnGetTime(){//TODO:在此添加控件通知处理程序代码//UpdateData(true);CTimem_time;m_time=CTime::GetCurrentTime();//获取当前时间日期m_strDate=m...
阅读全文
摘要:利用boost来获取当前时间又方便快捷,还不用考虑跨平台的问题。1. 输出YYYYMMDD[cpp]view plaincopy#include#defineBOOST_DATE_TIME_SOURCEstd::stringstrTime=boost::gregorian::to_iso_strin...
阅读全文
摘要:问题是在更新嵌入的清单文件时发生的,由于FAT32的原因而未能更新嵌入的清单文件,于是我们有如下两种解决方法:(1)不启用增量链接。在项目的“属性|配置属性|链接器|常规”中的“启用增量链接”选择“否”。此方法阻断了问题产生的源头,其每次生成exe文件时都直接嵌入清单文件,而不是默认的根据时戳而决定...
阅读全文
摘要:前面创建的UDP服务器和客户端,都是同步的方式,也就是说当接收数据时,不能参与别的事情执行的。如果在一个只有界面线程的程序里,又不想创建多线程,导致复杂程度的增加,在这种情况之下,我们还有一个方案可以选择,就是创建一个异步的UDP服务器或客户端,这样既有单线程的简单性,也可以让客户随便操作界面的快速...
阅读全文
摘要:Christopher KohlhoffCopyright © 2003-2012 Christopher M. Kohlhoff以Boost1.0的软件授权进行发布(见附带的LICENSE_1_0.txt文件或从http://www.boost.org/LICENSE_1_0.txt)Boost....
阅读全文
摘要:初始化临界区(win)InitializeCriticalSection(RTL_CRITICAL_SECTION &rtl_critial_section) (linux)pthread_mutexattr_init(&(mutex)->attr);pthread_mutexattr_sett...
阅读全文
摘要:/*Andyisgoingtoholdaconcertwhilethetimeisnotdecided.EricisafansofAndywhodoesn'twanttomissthisconcert.Andydoesn'tknowEric.HowcanEricgetsthenewswhenAndy...
阅读全文
摘要:1) 观察者模式定义略,各种设计模式的书上都有定义。2) 观察者模式一般实现观察者模式一般实现,都是“被观察者”保存一个“观察者”的列表,循环这个列表来通知“观察者”。代码,其中使用了boost的智能指针shared_ptr:[cpp]view plaincopy#include#include#i...
阅读全文
摘要:http://blog.csdn.net/iamnieo/article/details/29086212008-09-10 12:489202人阅读评论(3)收藏举报thread多线程listlibrary存储io目录(?)[+] C++多线程开发是一个复杂的事情,mfc下提供了CWinThre...
阅读全文
摘要:本文假设读者已经基本了解boost线程库的使用方法。boost是个开源工程,线程这一块也在不断完善之中,到现在这个阶段,boost::thread仅仅实现了一个完美的技术框架,但是读者在实际使用中会发现一些新的技术问题:1.boost::thread::join开启一个线程以后,怎样主动结束子线程?...
阅读全文
摘要://controlled_module_ex.hpp:controlled_module类的扩展//增强线程之间消息通讯//增加线程安全启动和安全关闭功能//增加定时器功能#pragmaonce#include#include#include"controlled_module.hpp"struct...
阅读全文
摘要:扩展threadtimermoduleexceptionsocket什么叫事务线程举个例子:我们写一个IM客户端的登录子线程,则该子线程会有这么几个事务要处理No.1 TCP Socket物理连接No.2 逻辑登录No.3 好友在线查询No.4 状态更新我们通常的代码写法是voidThreadLog...
阅读全文
摘要:modulethread扩展多线程破解通讯全文介绍了3个boost::thread的扩展类,希望能给大家书写多线程代码带来便捷。 thread -> controlled_module_ex ->controlled_module 那么我们具体在什么情况下选用不同的扩展类呢?1.如果你只想创建一个生...
阅读全文
摘要:一、创建一个线程创建线程 boost::thread myThread(threadFun); 需要注意的是:参数可以是函数对象或者函数指针。并且这个函数无参数,并返回void类型。 当一个thread执行完成时,这个子线程就会消失。注意这个线程对象不会消失,它仍然是一个还处在它的生存期的C++对象...
阅读全文
摘要:1 需要include 2 背景知识请参考《boost程序库完全开发指南》第12章3 编绎:g++ -o mthread mthread.cpp -lboost_thread -L/usr/local/lib标签:Boost代码片段(1)[全屏查看所有代码]1.[代码][C/C++]代码?12345...
阅读全文
摘要:简言之:AfxBeginThread是MFC的全局函数,是对CreateThread的封装。 CreateThread是Win32 API函数,前者最终要调到后者。1>.具体说来,CreateThread这个 函数是windows提供给用户的 API函数,是SDK的标准形式,在使用的过程中要考虑到进...
阅读全文
摘要:AfxBeginThread 用户界面线程和工作者线程都是由AfxBeginThread创建的。现在,考察该函数:MFC提供了两个重载版的AfxBeginThread,一个用于用户界面线程,另一个用于工作者线程,分别有如下的原型和过程:用户界面线程的AfxBeginThread用户界面线程的AfxB...
阅读全文
摘要:1,boost下载 如果不想自己编译,可下载http://boostpro.com/download/boost_1_47_setup.exe,安装后,程序会提供选项供下载已经编译好的库文件,基于vs2008的所有库大概有1.3G。 下载boost最新版本:http://cdnetworks-kr-...
阅读全文
摘要:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。http://co63oc.blog.51cto.com/904636/504469windows下用vs2008和boost结合编译程序vc6.0和boost结合出现很多错误使用asio子库中一个h...
阅读全文
摘要:CRC16是单片机程序中常用的一种校验算法。依据所采用多项式的不同,得到的结果也不相同。常用的多项式有CRC-16/IBM和CRC-16/CCITT等。本文代码采用的多项式为CRC-16/IBM: X16+X15+X2+1。闲言少叙,下面是查表法计算CRC16的代码:/***************...
阅读全文
摘要:voidCFileTextDoc::OnIniread() {// TODO: Add your command handler code hereCString strStudName; intnStudAge; GetPrivateProfileString("Info","Name","默认姓...
阅读全文
摘要:Ctrl+B,C:清除全部标签Ctrl+I:渐进式搜索Ctrl+Shift+I:反向渐进式搜索Ctrl+F:查找Ctrl+Shift+F:在文件中查找F3:查找下一个Shift+F3:查找上一个Ctrl+H:替换Ctrl+Shift+H:在文件中替换Alt+F12:查找符号(列出所有查找结果)Ctr...
阅读全文
摘要:targerver.h文件的作用:定义程序运行的环境,如限制程序只能在XP下运行,限制程序在只能在Vin7下运行或限制程序只能在XP以上系统运行,或限制程序只能在Server2003以上系统运行...用法:#ifndef WINVER //程序中没有定义WINVER宏时#define WINVER...
阅读全文
摘要:http://www.gkong.com/products/pro_content.asp?products_id=1028226
阅读全文
摘要:OLE DB(OLEDB)是微软的战略性的通向不同的数据源的低级应用程序接口。OLE DB不仅包括微软资助的标准数据接口开放数据库连通性(ODBC)的结构化查询语言(SQL)能力,还具有面向其他非SQL数据类型的通路。 作为微软的组件对象模型(COM)的一种设计,OLE DB是一组读写数据的方法(在...
阅读全文
摘要:一、ODBCODBC的由来1992年Microsoft和Sybase、Digital共同制定了ODBC标准接口,以单一的ODBC API来存取各种不同的数据库。随后ODBC便获得了许多数据库厂商和Third-Party的支持而逐渐成为标准的数据存取技术。ODBC以当时的业界标准规范X/OpenCal...
阅读全文
摘要:1.连数据库是ODBC好还是OLEDB好?2。是不是只有微软的数据库才可以用OLEDB?3.要切换这两种连接,是不是只需要修改连接字符串?谢谢大家了,小弟对这三个问题不解分享到:2009-03-09 15:25知识大富翁,挑战赢iPhone!提问者采纳1 ODBC开放性好一些,但是性能差一些2 不是...
阅读全文
摘要:加载一位图,可以使用LoadImage:HANDLE LoadImage(HINSTANCE hinst,LPCTSTR lpszName,UINT uType,int cxDesired,int CyDesired,UINT fuLoad);LoadImage可以用来加载位图,图标和光标加载时可以...
阅读全文
摘要:1.概述QCustomPlot 是一个超强超小巧的qt绘图类,非常漂亮,非常易用,只需要加入一个qcustomplot.h和qcustomplot.cpp文件即可使用,远比qwt方便和漂亮,可以自己使用两个源文件也可以自己编译成库文件,非常方便。官方网站:http://www.qcustomplot...
阅读全文
摘要:(1) _stdcall调用 _stdcall是Pascal程序的缺省调用方式,参数采用从右到左的压栈方式,被调函数自身在返回前清空堆栈。 WIN32 Api都采用_stdcall调用方式,这样的宏定义说明了问题: #define WINAPI _stdcall 按C编译方式,_stdcal...
阅读全文
摘要:在加密,解密中,异或运算应该时比较简单的一种。下面的代码,采用异或运算进行加密,解密:点击(此处)折叠或打开#include#include#include#includeQString getXorEncryptDecrypt(constQString&,constchar&);QString ...
阅读全文
摘要:2014年11月13日,微软发布了VisualStudio 2015 Preview,但是VisualStudio 2015的msdn该如何安装呢?下面脚本之家就为大家分享一篇visual studio 2015离线版msdn下载和安装图文教程,一起来看看吧!百度云链接:http://pan.bai...
阅读全文
摘要:CodeIssues26Pull requests2PulseGraphsHTTPSclone URLYou can clone withHTTPSorSubversion.Clone in DesktopDownload ZIP.xlsx file reader and writer for Qt...
阅读全文
摘要:粗陋regExp.setPattern("^""([0-9]{4}-""((0([1-9]{1}))|(1[1|2]))-""(([0-2]([1-9]{1}))|(3[0|1]))""\\s""(([0-1]{1}[0-9]{1}|[2]{1}[0-4]{1}):([0-5]{1}[0-9]{1}...
阅读全文
摘要:labview基础到高级官方超全完整视频教程包括数据采集,其他模块的部分教程,废话不多说。免费下载地址在结尾。LabVIEW 本事编程(低级)培训LabVIEW作为前辈的图形化编程言语斥地环境,以其直不雅观而快速的图形化编程方法、与硬件的无缝集成、面向各规模 专有的斥地器材、集成多种言语的开放式 编...
阅读全文
摘要:labview2014是目前labview软件的最新版本,新版本增加了多个VI服务器对象,增加了多个vi脚本对象,增加了labview第三方许可和激活工具包,同时针对程序框图、编辑环境、应用程序生成器、web服务、触摸面板功能、前面板等进行了改进和优化,让用户可以更好的随时随地快速采集、分析和可视化...
阅读全文
摘要:虽然NI LabVIEW软件长期以来一直帮助工程师和科学家们快速开发功能测量和控制应用,但不是所有的新用户都会遵循LabVIEW编程的最佳方法。 LabVIEW图形化编程比较独特,因为只需看一眼用户的应用程序,就马上可以发现用户是否遵循编码的最佳方法。有些用户会犯这些错误是因为他们没有真正理解Lab...
阅读全文