随笔分类 -  c++

摘要:1.VC编译选项多线程(/MT)多线程调试(/MTd)多线程 DLL (/MD)多线程调试 DLL (/MDd)2. C 运行时库 库文件Single thread(static link) MLlibc.libDebug single thread(static link) MLd libcd.libMultiThread(static link) MT libcmt.libDebug multiThread(static link) MTd libcmtd.libMultiThread(dynamic link) MD msvert.libDebug multiThread(dynamic 阅读全文
posted @ 2013-11-20 10:00 springbarley 阅读(503) 评论(0) 推荐(0)
摘要:转载自:https://www.byvoid.com/en/blog/linux-c-1编程学习笔记 (1)进程控制入门This post is written in Chinese. If you have trouble to read it, please useGoogle Translate想进行Linux系统开发已经很久了,一直没有付诸实践。今日终于开始学习Linux下的C语言编程,研究一天,终于大概弄明白了Linux系统进程管理的一些基本概念和编程方法,总结下来以方便大家学习和自己实践。进程系统Linux是个多任务多用户的操作系统,系统直接管理的每个任务的最小单位,就是进程(pr 阅读全文
posted @ 2013-11-03 01:04 springbarley 阅读(332) 评论(0) 推荐(0)
摘要:UML类图几种关系的总结在UML类图中,常见的有以下几种关系:泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)1.泛化(Generalization)【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。【箭头指向】:带三角箭头的实线,箭头指向父类2.实现(Realization)【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现.【箭头指 阅读全文
posted @ 2013-10-27 23:32 springbarley 阅读(247) 评论(0) 推荐(0)
摘要:Boost.Signals用法详解当你面对需要用多段代码来处理一个事件的情况时,典型的解决方案有:用函数指针进行回调,或者直接对产生事件的子系统与处理事件的子系统之间的依赖性进行编码。这种设计常常会导致循环的依赖性。通过使用 Boost.Signals, 你将获得灵活性和解耦。要开始使用这个库,首先要包含头文件 "boost/signals.hpp". [2] Boost.Signals 库和 Boost.Regex 库是本书所讨论的库中仅有的需要编译和链接才能使用的库。编译的过程很简单,在线文档中已有详尽的描述,这里我不再复述。以下例子示范了 signals 和插槽(sl 阅读全文
posted @ 2013-10-24 18:49 springbarley
摘要:c++模板类分类:C++2012-08-20 21:287108人阅读评论(2)收藏举报c++编译器instantiationiostreamlinker编程c++模板类分类:数据结构2010-04-02 11:40152人阅读评论(0)收藏举报理解编译器的编译模板过程如何组织编写模板程序前言常遇到询问使用模板到底是否容易的问题,我的回答是:“模板的使用是容易的,但组织编写却不容易”。看看我们几乎每天都能遇到的模板类吧,如STL, ATL, WTL, 以及Boost的模板类,都能体会到这样的滋味:接口简单,操作复杂。我在5年前开始使用模板,那时我看到了MFC的容器类。直到去年我还没有必要自己编 阅读全文
posted @ 2013-10-12 14:17 springbarley
摘要:分类: Windows 2008-12-23 10:01 987人阅读 评论(0) 收藏 举报ciostreammfclibrary多线程import最近做项目碰到了一个关于在动态库中使用MFC以及在静态库中使用MFC的问题,我的工程在DEBUG编译链接时都没有问题,可是到了RELEASE编译时在链接的时候就出现如下的错误:nafxcw.lib(array_s.obj) : error LNK2005: "public: __thiscall CStringArray::CStringArray(void)" (??0CStringArray@@QAE@XZ) alread 阅读全文
posted @ 2013-10-11 14:01 springbarley 阅读(812) 评论(0) 推荐(0)
摘要:一、前言本篇将介绍一些gtest的基本使用,包括下载,安装,编译,建立我们第一个测试Demo工程,以及编写一个最简单的测试案例。二、下载如果不记得网址, 直接在google里搜gtest,第一个就是。目前gtest的最新版本为1.3.0,从下列地址可以下载到该最新版本:http://googletest.googlecode.com/files/gtest-1.3.0.ziphttp://googletest.googlecode.com/files/gtest-1.3.0.tar.gzhttp://googletest.googlecode.com/files/gtest-1.3.0.tar 阅读全文
posted @ 2013-10-11 11:35 springbarley 阅读(753) 评论(0) 推荐(0)
摘要:抽象工厂[编辑]维基百科,自由的百科全书跳转至: 导航、 搜索以统一塑模语言中的类型图来表示抽象工厂抽象工厂模式(英语:Abstract factory pattern)是一种软件开发设计模式。抽象工厂模式提供了一种方式,可以将一组具有同一主题的单独的工厂封装起来。在正常使用中,客户端程序需要创建抽象工厂的具体实现,然后使用抽象工厂作为接口来创建这一主题的具体对象。客户端程序不需要知道(或关心)它从这些内部的工厂方法中获得对象的具体类型,因为客户端程序仅使用这些对象的通用接口。抽象工厂模式将一组对象的实现细节与他们的一般使用分离开来。举个例子来说,比如一个抽象工厂类叫做DocumentCrea 阅读全文
posted @ 2013-10-10 16:09 springbarley
摘要:install解释:TARGETS版本的install命令 install(TARGETS targets... [EXPORT ] [[ARCHIVE|LIBRARY|RUNTIME|FRAMEWORK|BUNDLE| PRIVATE_HEADER|PUBLIC_HEADER|RESOURCE] [DESTINATION ] [PERMISSIONS permissions...] [CONFIGURATIONS [Debug|Release|...]] [COMPONE... 阅读全文
posted @ 2013-10-09 17:18 springbarley
摘要:1.http://www.linuxidc.com/Linux/2012-04/58985.htm2.http://ihower.tw/blog/archives/26203.http://hi.baidu.com/lettoo/blog/item/e2e7f30fec72bdf6ab645789.html正文学习使用git,可以参考文献3,但是在操作的最后一步,也就是想将代码上传到git中去的时候,出现如下错误:Pushing to git@github.com:xwdreamer/FirstRepo_xuwei.gitTo git@github.com:xwdreamer/FirstRep 阅读全文
posted @ 2013-04-11 16:24 springbarley 阅读(233) 评论(0) 推荐(0)
摘要:首先来看看从服务器上取下项目的一个小问题吧:[root@localhost repository]# git clone root@74.207.254.10:/usr/local/system/repository/blogInitialized empty Git repository in /root/repository/blog/.git/bash: git-upload-pack: command not found #竟然报这么个错误,这是怎么回事呢?fatal: The remote end hung up unexpectedly通过google得知,git-upload-p 阅读全文
posted @ 2013-04-09 23:39 springbarley 阅读(1044) 评论(0) 推荐(0)
摘要:转载地址:http://live.aulddays.com/tech/10/double-float-ind-nan-inf/进行浮点数编程时,如果没有注意,常常会出现输出类似1.#IND,1.#INF或者nan,inf之类奇怪的输出。这通常隐含了浮点数操作的异常。特殊浮点数的含义1.#INF/inf:这个值表示“无穷大 (infinity 的缩写)”,即超出了计算机可以表示的浮点数的最大范围(或者说超过了double类型的最大值)。例如,当用 0 除一个整数时便会得到一个1.#INF/inf值;相应的,如果用 0 除一个负整数也会得到-1.#INF/-inf值。-1.#IND/nan:这个的 阅读全文
posted @ 2013-04-09 23:20 springbarley 阅读(1356) 评论(0) 推荐(0)
摘要:变量按定义的位置分为局部变量(复合语句中定义)和全局变量(函数外部定义); 程序是由一些程序实体的定义组成,这里的程序实体包括:变量,常量,函数,类,对象以及语句标号等; c++根据程序的结构和标示符的定义位置,为每一个定义了的标示符规定了一个作用域。这个作用域(scope)是指一个标示符在程序文本中的有效范围,即该标示符所标识的程序实体能被访问的程序段;c++的把标示符的作用域分成几类: 1.局部作用域:(在函数定义或复合语句中,从标示符定义点到函数定义或复合语句结束之间的程序段)(局部常量名,局部变量名/对象名,函数形参名) 2.全局作用域: (c++程序的所有源文件内可用)(具有... 阅读全文
posted @ 2012-03-11 15:59 springbarley 阅读(1178) 评论(0) 推荐(2)