- 博客(51)
- 收藏
- 关注
转载 gtest的断言
转自:http://www.cnblogs.com/coderzh/archive/2009/04/06/1430364.html一、前言这篇文章主要总结gtest中的所有断言相关的宏。 gtest中,断言的宏可以理解为分为两类,一类是ASSERT系列,一类是EXPECT系列。一个直观的解释就是:1. ASSERT_* 系列的断言,当检查点失败时,退出当前函数(注意
2013-03-26 16:27:39 1998
转载 gtest使用被测试类的非public成员
转自:https://code.google.com/p/googletest/wiki/AdvancedGuide#Private_Class_Members通过将FRIEND_TEST(TestCaseName,TestName);宏放入被测试类,可以让gtest的测试类能访问到被测试类的非public成员:// foo.h#include "gtest/gtest_pr
2013-03-26 08:48:24 6568
转载 gtest的TEST_F与TEST的区别
转自:http://tech.ddvip.com/2009-02/1234225491107952.htmlTEST_F与TEST的区别是,TEST_F提供了一个初始化函数(SetUp)和一个清理函数(TearDown),在TEST_F中使用的变量可以在初始化函数SetUp中初始化,在TearDown中销毁,并且所有的TEST_F是互相独立的,都是在初始化以后的状态开始运行,一
2013-03-25 17:08:21 33983 3
转载 原來 gdb 可以用來展開 C/C++ 的 macro
转自:http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?viewmode=compact&topic_id=17476&forum=12http://www.cnblogs.com/coderzh/archive/2009/04/11/1433744.html关于怎样查看C/C++宏展开后的造型,找到一篇帖子,还没仔细研究
2013-03-25 16:10:23 987
原创 Linux下安装cppunit
cppunit的介绍页面在这里,源码下载在这里下载源码包:从这里选择一个版本的cppunit下载,目前的版本是1.12.1注意:不要在sourceforge-cppunit主页直接下载“cppunit-cvs-repo-archive.tar.bz2”,那个不是我们要的!编译安装:解压,进入解压后的目录./configuremakemake instal
2013-03-25 12:23:57 4572
转载 Makefile引用其它的Makefile
转自:http://wiki.ubuntu.org.cn/%E8%B7%9F%E6%88%91%E4%B8%80%E8%B5%B7%E5%86%99Makefile:MakeFile%E4%BB%8B%E7%BB%8D在Makefile使用include关键字可以把别的Makefile包含进来,这很像C语言的#include,被包含的文件会原模原样的放在当前文件的包含位置。incl
2013-03-25 10:26:36 1130
原创 初试gtest
Build gtest:按照这里介绍的,安装CMake在这里下载googletest源码压缩包,解压,进入解压后的目录mkdir build && cd buildcmake .. // 这之后,build目录下会出现Makefile等文件cmake --build .// 注意不要漏掉最后的点.之后,在build目录下会出现libgtest.a 和libgtest_mai
2013-03-24 20:26:35 1160
转载 Hudson和Jenkins的关系
转自:http://en.wikipedia.org/wiki/Jenkins_(software)Jenkins is an open source continuous integration tool written in Java. The project was forked from Hudson after a dispute with Oracle, which c
2013-03-24 12:34:07 19225 1
转载 玩转Google开源C++单元测试框架Google Test系列(gtest)之八 - 打造自己的单元测试框架
转自:http://www.cnblogs.com/coderzh/archive/2009/04/12/1434155.html一、前言上一篇我们分析了gtest的一些内部实现,总的来说整体的流程并不复杂。本篇我们就尝试编写一个精简版本的C++单元测试框架:nancytest ,通过编写这个简单的测试框架,将有助于我们理解gtest。二、整体设计使用最
2013-03-24 10:12:23 1055
原创 C++ STL set自定义比较函数
C++ STL 容器很多都可以自定义比较函数,给容器调用,对其中的子项做排序。下面是一个小例子:#include #include #include using namespace std;class CTest {public: CTest() { num = 0; str = ""; } CTest(int _num, string _st
2013-03-21 14:38:19 8521
转载 linux top命令查看内存及多核CPU的使用讲述
转自:http://www.lvtao.net/html/2174.html查看多核CPU命令mpstat -P ALL 和 sar -P ALL 说明:sar -P ALL > aaa.txt 重定向输出内容到文件 aaa.txttop命令经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如to
2013-03-21 08:35:00 830
转载 ProtoBuf 常用序列化/反序列化API
转自:http://blog.csdn.net/sealyao/article/details/69402451、C数组的序列化和反序列化API[cpp] view plaincopy//C数组的序列化和序列化API bool ParseFromArray(const void* data, int size);
2013-03-20 13:15:13 1440
原创 给Protobuf中的repeated类型变量添加子项
Protobuf为repeated类型变量生成的自动代码,不提供通常的类似add_item(item)的添加子项的成员函数,Protobuf的做法是:UserDocChangesResp changes;DocChangeInfo change;DocChangeInfo* pChange = changes.add_docchangeinfos();*pChange = chang
2013-03-19 09:29:02 17695
转载 gdb设置条件断点
转自:http://fanqiang.chinaunix.net/program/other/2006-07-14/4834.shtml要想设置一个条件断点,可以利用break if命令,如下所示: (gdb)break line-or-function if expr 例: (gdb) break 46 if testsize==100
2013-03-18 15:36:05 39244
原创 从tesseractmain.cpp中精简出来的代码
从tesseract的 api/tesseractmain.cpp 中挑拣出以下代码,除了屏蔽了一些tesseract的参数选项,基本可以担当 tesseract 可执行程序的功能:int Recognize(const string &tessdata, const string &lang, const string &image, string &text){ tesseract
2013-03-17 18:29:23 1807
原创 cp命令的源前后加引号导致错误
cp "/home/yasi/dir1/*.h" /home/tom/dir2出错:cp: cannot stat `/home/yasi/dir1/*.h': No such file or directory原因:cp的源的前后多了两个双引号改正:去掉源的前后的双引号cp /home/yasi/dir1/*.h /home/tom/dir2
2013-03-17 16:36:50 1172
原创 tinythread++库
引入关于C++的跨平台多线程库,这里列举了一些知名的库:Rogue Wave LibrariesBoost C++ LibrariesIntel Threading Building BlocksIntel Cilk Plusjust::threadOpenMPOpenThreadsPOCO Thread (part of POCO project - http://pocop
2013-03-16 12:47:07 3695 1
转载 Makefile常用函数总结
转自:http://blog.csdn.net/ustc_dylan/article/details/6963248在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具 有智能。make所支持的函数也不算很多,不过已经足够我们的操作了。函数调用后,函 数的返回值可以当做变量来使用。 一、函数的调用语法函数调用,很像变量的
2013-03-16 08:34:45 772
转载 编译gSOAP
转自:http://blog.163.com/wang_ly2442/blog/static/9494340720132241421404/1. 编译gsoap$ ./configure --disable-ssl$ make$ make install成功后会将wsdl2h和soapcpp2 装到系统里。编译gsoap时如果报错:/
2013-03-16 08:31:33 1423
转载 ubuntu下编译libunicomm
转自:http://blog.163.com/wang_ly2442/blog/static/9494340720131273828599/1. 下载boost_1_46_1.tar.bz2,解压到/yasi目录下;下载libsmart-1.01d,也解压到/yasi目录下。注意:unicomm官网例子中用的是boost 1.46.1,经尝试,用目前最新的boost 1.53.
2013-03-16 08:29:58 1107
转载 pthread_detach()函数
转自:http://blog.163.com/niuxiangshan@126/blog/static/170596595201112410940967/创建一个线程默认的状态是joinable, 如果一个线程结束运行但没有被join,则它的状态类似于进程中的Zombie Process,即还有一部分资源没有被回收(退出状态码),所以创建线程者应该调用pthread_join来等待线程
2013-03-15 16:05:58 1168
转载 Linux下查看CPU、内存和硬盘信息命令
转自:http://blog.renhao.org/2010/06/linux-view-cpu-ram-hdd-info/在Linux的桌面版本中,查看这些东西的确很方便,有图形化的工具可以使用。但是在Linux服务器版上,或者远程ssh连接的时候,就没有图形化的界面可以操作了。此时如果我们需要了解这些信息,就只能依靠Linux下的命令了。在这篇文章里,我将介绍一下查
2013-03-15 16:03:39 3739
原创 link 和 runtime-link,搭配shared 和 static
参考:http://bbs.sjtu.edu.cn/bbscon,board,C,file,M.1300328832.A.htmlhttp://noteonx.blogspot.com/2009/04/boost.htmlhttp://www.cnblogs.com/wondering/archive/2009/05/21/boost_setup.htmlC /
2013-03-11 19:20:50 10101 3
转载 Putty保存配置的小技巧
转自:http://blog.csdn.net/tianlesoftware/article/details/5831605用Putty 已经很长时间了,但一直被一个问题困扰,有时候是懒得去弄,反正也不怎么碍事,今天小研究了下,把这个问题解决了,心里也舒服了。 Putty是一个免费小巧的Win32平台下的telnet,rlogin和ssh客户端。 它的主程序不到1M, 是完
2013-03-11 18:43:24 55989 1
转载 C++中const迭代器 和 const_iterator的区别
转自:http://blog.csdn.net/wmn_wmn/article/details/8144151Yasi:const_iterator 相比 iterator,有一个优势,就是它可以用来遍历const 容器,而后者不可以。 话说这两个区别非常大,但是不太好理解啊,而且感觉解释也是各种绕口。说一下我自己的理解吧。 const迭代器,顾
2013-03-11 17:26:18 1005
原创 Protobuf 的 SerializeToString 的输入参数不是string
CCmString aProtocolBuffer; changes.SerializeToString(aProtocolBuffer);changes 是一个protobuf自动生成的类的对象,上面的代码编译会报错,原因在于,SerializeToString的输入参数不是string, 而是string* !改成下面这样就ok了: CCmString aProtocolBu
2013-03-11 17:17:24 29681
原创 ssh终端自动logout或自动退出,以及不能用root直接登录的问题
有时候,终端连接公司的远程Linux机器,这个终端如果闲置一段时间,会自动logout,例如从root用户变成普通用户,或者关闭终端。原因在于,/etc/ssh/sshd_config 中的某些配置在起作用。解决办法:chmod +w /etc/ssh/sshd_configvi /etc/ssh/sshd_config如果没有ClientAliveCountM
2013-03-11 13:24:36 6102
转载 centos 安装C语言帮助手册
CentOS系统有可能默认没有安装C语言帮助手册,man一个函数时会找不到帮助文件,用下面的命令安装:yum install man-pages.noarch
2013-03-11 10:47:51 3289 1
原创 关于/usr/bin/ld: cannot find -lcrypto 的错误
Linux下 build code 时,要做 -lssl, -lcrypto 的链接,出现类似下面的错误:/usr/bin/ld: cannot find -lcrypto/usr/bin/ld: cannot find -lssl原因是没有找到 libssl.soyum info openssl,发现openssl 1.0.0已经安装了ll /usr/lib6
2013-03-11 10:30:34 33619
转载 Linux 新特性--Ext4,Ext3的特點和區別
转自:http://lipingke.blog.hexun.com.tw/43323785_d.htmlLinux kernel 自 2.6.28 開始正式支持新的文件系統 Ext4。 Ext4 是 Ext3 的改進版,修改了 Ext3 中部分重要的數據結構,而不僅僅像 Ext3 對 Ext2 那樣,只是增加了一個日誌功能而已。Ext4 可以提供更佳的性能和可靠性,還有更為
2013-03-11 09:41:18 1937
原创 Build SimpleAmqpClient
参考这里的安装说明就可以了。但是有些地方要注意:在上的说明页面中说的sibiling directory目录中build SimpleAmqpClient之前,要执行下面的命令cmake ../SimpleAmqpClient-master -DBUILD_SHARED_LIBS=OFF (cmake后面的目录视具体情况而定,这里给出的是按照说明页面中配置)即不生成Simp
2013-03-10 19:07:06 2621
原创 CentOS下简单的修改iptables的方法
修改 /etc/sysconfig/iptablesservice iptables restart
2013-03-10 09:38:02 1069
原创 rabbitmq安装Management Plugin
参考:http://www.rabbitmq.com/management.html这个插件实际上已经随rabbitmq一道安装了,要做的是,enable它:rabbitmq-plugins enable rabbitmq_management然后,重启rabbitmq:service rabbitmq-server stopservice rabbitmq-ser
2013-03-10 09:13:25 15582
转载 rabbitmq-service用户手册(翻译)
转自:http://www.verydemo.com/demo_c230_i793.html通过 http://www.rabbitmq.com/manpages.html 可知 RabbitMQ 有5个 General Command :1. rabbitmqctl 2. rabbitmq-plugins 3. rabbitmq-server 4. rabbitm
2013-03-09 20:31:11 2813
转载 使用gdb调试共享库代码
转自:http://hi.baidu.com/lrrl_99/item/9c2dd926fe350098b632631a相信有不少的同志调试过包含共享库代码的程序,这个时候最为头疼的就是不能进行单步跟踪(当然是在你不知道如何解决的情况下^_^),本文根据一个实例来讲述如何来解决这个问题。首先来看我们的程序,包含两个文件:dyn.c, main.c,其中dyn.c被编译成一个共享库lib
2013-03-09 17:25:15 2198
转载 关于AMQP协议的一些疑问
正在学习中,将一些疑问记录下来:queue中的消息,只要sub端订阅了,就能接收?那么本不该接收的人,也能接收,是否有安全隐患?A:有身份认证的,如user:password之类queue中的消息,如果要投递给多个接收端(比如A和B),那么,投递给A之后,那个消息在queue中会被删除吗?如果被删除了,就不能再投递给B了?AMQP对message持久化的处理,是怎么
2013-03-09 08:17:33 2199
转载 Ubuntu 关机指令
关机指令:shutdown常用参数:-h 关机-r 重启语法:shutdown 参数 执行时间Ctrl + C 即可终止关机指令。可以使用 Ctrl + z 将任务放入后台执行。普通用户需要使用 sudo 指令提权到 root 权限才能使用 shutdown 指令。例如:shutdown -h now //立即关机
2013-03-08 20:49:05 1111
原创 修改Ubuntu的root密码
sudo -i输入自己当前用户的密码(这时便以root的身份继续操作)passwd root两次输入root的新密码然后用root login
2013-03-08 20:34:39 520
原创 系统安全备忘录
今天公司的机器彻底不能启动了,原因就不说了……这里记录一些教训:在公司不要用360安全卫士,它的某些升级操作会导致Windows机器不能启动。不要在桌面保存重要文件,可以放在系统盘以外的其他磁盘,然后在桌面创建快捷方式。系统不能启动了,网络重装系统,比把机器搬到IT那里重装系统,方便快捷的多。
2013-03-08 20:04:32 676
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人