自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

转载 boost::condition

1.简介condition是一个简单的同步对象,用于使一个线程等待一个特定的条件成立(比如资源可用)。一个condition对象总是和一个mutex对象配合使用。mutex在交给condition对象的wait系列函数时,必须已经通过lock对象加上了锁。当线程陷入等待时,condtion对象将释放mutex上的锁,当wait返回时,mutex上的锁会重新加上,这一unlock/l

2015-04-08 17:38:15 618

转载 C++ Regex正则表达式

不会用C++的Regex是硬伤,下面的内容参考《C++程序设计原理与实践》~~~****************************************************************************************************正则表达式语法     正则表达式的特性分成很多种类,下面的内容是perl类型的Regex。======

2015-03-20 18:18:40 693

原创 大牛级博客

清风小阁 :http://blog.csdn.net/huang_xw/article/category/1209379胡健:http://www.cnblogs.com/hujian/天方:http://www.cnblogs.com/TianFang/category/78019.html

2015-01-14 18:18:30 390

原创 C++11 简单并发

#include int Print(string str){ cout << str << endl; return 100;}int main(){// future fu = async(Print,"ni hao");// future fu = async(bind(Print,"ni hao")); auto fu = async(Print,"ni hao");

2015-01-13 15:17:17 430

原创 std::ref

std::ref 用于包装按引用传递的值。std::cref 用于包装按const 引用传递的值。void f(int &n1,int &n2,const int& n3){ cout << "In : " << n1 << " " << n2 << " " << n3 << " " << endl; n1++; n2++;}int main(){ int n1 =

2015-01-13 15:09:13 717

原创 C++11 遍历容器

void Print(string str){ cout << str << endl;}void Print2(string str,const char* pre){ cout << pre << str << endl;}int main(){ //遍历vector vector vTmp; vTmp.push_back("abc"); vTmp.push_back

2015-01-13 13:14:12 422

转载 C++11 Lambda 表达式

转自:http://www.cnblogs.com/hujian/archive/2012/02/14/2350306.htmlclass CTest{public: CTest() : m_nData(20) { NULL; } void TestLambda() { vector vctTemp; vctTemp.push_back(1); vctTemp.p

2015-01-13 11:01:20 355

转载 C++11右值引用

转自: http://www.cnblogs.com/hujian/archive/2012/02/13/2348621.html

2015-01-08 16:28:10 370

原创 char* 比较运算

意外:char* 可以使用比较运算符直接进行比较。代码:char* data = "123";const char* data_c = "123";if(data == "123"){printf("data\n");}if(data_c {printf("data_c\n");}if(data == data_c){printf("==\n

2015-01-06 16:25:05 852

原创 boost::asio 相关

1、boost::asio::async_read 用于读取指定长度的数据,读完或出错才返回;socket.async_read_some读取到数据或出错就返回,不一定读完了整个包。如:boost::array g_buf;void handle_read(const boost::system::error_code &err,std::size_t bytes_transfer

2014-12-29 10:45:44 411

转载 C++11 std::move

std::move是一个用于提示优化的函数,过去的c++98中,由于无法将作为右值的临时变量从左值当中区别出来,所以程序运行时有大量临时变量白白的创建后又立刻销毁,其中又尤其是返回字符串std::string的函数存在最大的浪费。C++0x中加入了右值引用,和move函数。右值引用出现之前我们只能用const引用来关联临时对象(右值)(造孽的VS可以用非const引用关联临时对象,请忽略V

2014-12-26 11:34:30 513

转载 C++11 比较好的语法(三)

转自:http://www.cnblogs.com/TianFang/p/3306231.html随着Vsisual Studio 2013 RC版的放出,之前承诺的对C++ 11语法支持已经全部完成,本文是C++ 11中我喜欢的语法系列的最后一部分(一),(二)。非静态成员直接初始化在C++ 03的时候,非静态成员变量只能在对象的构造函数里初始化,例如: 

2014-12-25 17:42:26 301

转载 C++11 中STL库新增内容

转自:http://www.cnblogs.com/TianFang/archive/2013/01/25/2876400.htmlC++ 11一个比较显著的变化是以前boost库中的一些函数被正式标准化合入到STL中了,本文就简单的介绍一下。引用包装器(Reference Wrapper)当模板函数参数为泛型类型的时候,无法推导出是传值还是传引用,默认情况下会使用传值

2014-12-25 17:39:58 434

转载 C++11 比较好的语法(二)

转自:http://www.cnblogs.com/TianFang/p/3163229.html之前在文章C++ 11中几个我比较喜欢的语法中介绍了几个我比较喜欢的C++语法,其中有些语法由于VC 11还不支持,无法跨平台,所以没有介绍。前几天VS 2013 Preview发布后,对C++ 11又有了一些支持,因此这里继续完成一下C++ 11语法系列:原生字符串(raw st

2014-12-25 17:22:01 361

转载 C++11 比较好的语法(一)

转自:http://www.cnblogs.com/TianFang/archive/2013/01/25/2876099.htmlC++11的标准已经确定,除了增加了不少库函数外,在语法方便也得到了许多增强。其中如下几个语法就是我比较喜欢的:自动类型推导auto现在c++终于在编译器级别支持类似C#的var关键字了,在c++里的关键字是auto,基本用法如下:

2014-12-25 17:15:30 310

转载 boost 字符串处理

转自:http://www.cnblogs.com/TianFang/archive/2013/02/04/2891538.htmlc++在stl库中提供了一个string类用以代替c语言的char*来实现字符串功能,不过stl的string只提供了一个连接字符串和查找的功能,其它的常用函数几乎一律没有,就连字符串替换都得自己来实现,和c#的字符串函数比起来简直弱爆了。bo

2014-12-25 16:25:06 491

转载 boost 时间格式化

利用boost来获取当前时间又方便快捷,还不用考虑跨平台的问题。1. 输出YYYYMMDD[cpp] view plaincopy#include   #define BOOST_DATE_TIME_SOURCE    std::string strTime = boost::gregorian::to_iso_strin

2014-12-23 15:35:24 379

转载 boost::shared_ptr

转自:http://blog.csdn.net/mmzsyx/article/details/80865291、shared_ptr介绍【1】是用于管理new动态分配对象的智能指针,可以被安全共享。【2】重载了 * 和 -> 操作符以模仿原始指针的行为,提供隐式bool类型转换以判断指针的有效性,get()可以得到原始指针,并且没有提供指针算术操作。【3】. 点操作符是对s

2014-12-22 18:37:02 866

原创 boost::signal

1、slot:函数(1)slot:void helloworld() { std::cout << "Hello, World!" << std::endl;}(2)使用:{ boost::signalsig; sig.connect(&helloworld); sig(); //发送信号,激活槽}2、slot:自定义

2014-12-16 14:46:25 397

转载 boost::format

boost::format重载了'%'操作符,通过多次调用'%'操作符就能将参数非常方便格式化成字符串,并实现了ATL::CString和C#中的string两者的格式化字符串功能。一、boost::format工作的方式    基本的语法,boost::format( format-string ) % arg1 % arg2 % ... % argN    下面的例

2014-12-15 18:52:42 500

原创 VC动态库

1、VS命令提示工具查看库:dumpbin -imports calldll.exe查看它的输入信息,可以看到它加载了***.dll dumpbin -exports dlltest.dll,列出导出函数 dumpbin /all XXX.lib > a.txt ,导出lib的函数到a.txt2、静态库与动态库区别(1)静态库(.lib):包含函数代码本身,在编译时

2014-12-15 15:33:05 460

原创 Win32多线程编程注意事项

1、线程退出(1)使用布尔型变量,如:volatile BOOL  g_bThreadRun = TRUE;while(g_bThreadRun){    //处理逻辑}隐藏问题: 如果线程执行的时间较长,如循环中Sleep(1000);  这样会导致,执行 g_bThreadRun=FALSE; 后立即执行后面的函数,而不会等待线程结束。(2)设置布尔型变量为FA

2014-12-15 15:21:36 446

原创 Win7开发的VC2012程序在XP上无法运行

1、问题描述:Win7上使用VS2012编译的C++程序,在XP上无法运行,提示缺少msvcr110.dll等库。2、解决办法:安装VS2012 Update1包,更改项目属性:(1)配置属性--常规--平台工具集:Visual Studio 2012 - Windows XP (v110_xp)。(2)链接器--系统--子系统:控制台或窗口,所需的最低版本5.01(3

2014-12-15 11:40:51 1449

原创 VC_EXTRALEAN和WIN32_LEAN_AND_MEAN

1、为加速生成过程,VC++提供了VC_EXTRALEAN和WIN32_LEAN_AND_MEAN宏,通过排除一些不常用的API,减少Win32头文件的大小。注意,VC_EXTRALEAN只能用于MFC项目,而WIN32_LEAN_AND_MEAN可用于任何项目。2、socket系列API重定义

2014-12-15 11:35:59 1004

转载 boost库生成

1、boost库命名规则以 libboost_regex-vc71-mt-d-1_34.lib 为例:lib 前缀:除了Microsoft Windows之外,每一个Boost库的名字都以此字符串开始。在Windows上,只有普通的静态库使用lib前缀;导入库和DLL不使用。boost_regex 库名称:所有boost库名文件以boost_开头。-vc71 Tools

2014-12-15 10:30:36 849

原创 makefile简单用例

注:在makefile文件中,"#"后的内容是注释。========================================================1、最简单的例子# 目标文件名 : 此目标文件依赖的文件#     命令序列--------------------------------------------------------# 在这个例子里,其命令

2014-12-12 18:24:18 415

原创 nmake.exe

Microsoft Program Maintenance Utility,外号NMAKE,顾名思义,是用来管理程序的工具。其实说白了,就是一个解释程序。它处理一种叫做makefile的文件(以mak为后缀),解释里面的语句并执行相应的指令。

2014-12-12 17:55:05 729

原创 VC默认链接库冲突

在同一个项目中,所有的源文件必须链接相同的C运行时库。如果某一文件用了Multithreaded DLL版本,而其他文件用了Single-Threaded或者Multithreaded版本的库,也就是说用了不同的库,就会导致这个警告的出现。 总之,一句话,lib之间有冲突。需要删除导入的一些libs。    版 本类 型使用的library

2014-12-12 17:38:23 658

转载 link.exe(VC链接程序)常用参数

ALIGN(节对齐)    /ALIGN[:number]    其中:number(对齐值)。    /ALIGN 选项指定程序线性地址空间中每一节的对齐方式。number 参数以字节为单位,并且必须是 2 的幂。默认值是 4K (4096)。如果对齐方式产生无效的图像,则链接器发出警告。    除非正在编写诸如设备驱动程序的应用程序,否则应不需要修改对齐方式。

2014-12-12 16:41:42 2116

转载 cl.exe(VC编译程序)参数大全

CL.exe 是控制 Microsoft C 和 C++ 编译器与链接器的 32 位工具。编译器产生通用对象文件格式 (COFF) 对象 (.obj) 文件。链接器产生可执行文件 (.exe) 或动态链接库文件 (DLL)。注意,所有编译器选项都区分大小写。若要编译但不链接,请使用 /c。使用 NMAKE 生成输出文件。使用 BSCMAKE 支持类浏览。 以下是一个

2014-12-12 16:29:58 1262

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除