Techniques 技巧
注:这是本人的翻译,可能不准确,可能有错误,但是基本上可以理解,希望能对大家有所帮助!(转载须注明出处:本文来自learnhard的博客:http://www.codelast.com/ & http://blog.csdn.net/learnhard/)
先说说cxxtest这个测试框架:用cxxtest来编写测试用例时,我们需要写的只是一个.h文件,在这个文件里include你要测试的类或函数所在的头文件,然后写各种测试函数。与该.h文件对应的.cpp文件是用cxxtest自带的一个脚本cxxtestgen.pl来生成的(脚本调用方法请看cxxtest手册),然后我们就得到了一个.h文件和一个.cpp文件,用gcc/g++编译,得到一个可执行文件,运行此文件,就执行了你所编写的测试用例。
本文基于gmock版本:1.5.0,本文内容不保证对后续版本一定正确。
下载gmock:http://code.google.com/p/googlemock/downloads/list
安装:将下载的压缩包解压出来,到解压目录下执行:
./configure
然后执行:
make
注意,这个make不会编译Google Mock自己的测试用例。要编译它们,需要到解压目录下的“make”子目录下,执行:
make gmock_test
(1)判断一个字符串是不是全为数字
#!/bin/sh # 该变量就是要判断的变量 VAR="1234908" RET=`expr match $VAR "[0-9]*$"` if [ ${RET} -gt 0 ]; then echo "It is a Number!" else echo "Not a Number!" fi
另外要注意:用这种方式来判断负数的时候,也认为不是全为数字的,因为负数中带了一个负号,就不是数字。
比较:
方法一: if [ ${A} -lt ${B} ]; then …
这是最基本的比较方法,使用lt(小于),gt(大于),le(小于等于),ge(大于等于),优点:还没发现;缺点:只能比较整数,使用lt,gt等不直观
方法二: if ((${A} < ${B})) then …
众所周知Windows下的文件删除之后是有可能恢复的,对重要文件,为了增加恢复的难度,我们可以用文件粉碎工具进行文件粉碎。我最常用的是集成到资源管理器中的Eraser。那么在Linux下有没有类似的软件呢?我在一台只有Ubuntu系统的主机上,安装了一个文件粉碎工具wipe,有些想法,记下来。
安装:apt-get install wipe
wipe有没有GUI我不知道,命令行也不难用:
如果你用emacs打开一个文件,却编辑不了它(提示该buffer是read-only的),那么用Ctrl-x,Ctrl-q就可以解除锁定。
文章来源:https://www.codelast.com/
➤➤ 版权声明 ➤➤
转载需注明出处:codelast.com
感谢关注我的微信公众号(微信扫一扫):
注意:
这里说的只是用Visual Studio 2005打开Visual Studio 2008创建的C++工程,并不是说可以通过编译。
有时候我们只是想有结构地看看VC 2008的项目代码,并不想为此再安装一个VS 2008,所以只想让VS 2005能打开VS 2008的工程就可以了。
要修改的有两个文件:
本文很杂,主要是记录自己配置Ubuntu的过程中遇到的问题及网上搜到的解决方法。部分内容是网上搜来的,部分内容是自己写的。
本文在逐渐添加内容,期间经历了多次Ubuntu版本的升级,因此,下面的每一个条目不一定适用于每一个Ubuntu版本。
(1)Linux下MySQL开放root的远程访问权限
环境:RHEL 5.3
安装了MySQL之后,MySQL的root用户默认是不开放远程访问权限的。为了开放它,只需要两步:
用Linux系统的root用户登录系统,然后:
①开放3306端口的远程连接权限:
调试Linux程序的时候,出现Segmentation Fault是最郁闷的事情了,程序代码量很大的时候,可能花很多时间都找不到出错原因。
这里介绍一种对你调试Segmentation Fault很有帮助的方法,可能能迅速帮助你找到出错的代码行。