Levi 的个人资料Nothing :: Maybe Future日志列表留言簿更多 工具 帮助

日志


7月11日

CppUnit在Window下的安装与使用

素材均来自网络,请遵守各相关软件的协议。本文转帖请注明作者或出处。

环境

WinXP sp2、VC6 + VisualAssist X、SlickEdit 12、doxygen + graphviz

下载

CppUnit 1.12.1 下载 744.92KB

编译

解压缩

解压缩下载到的cppunit-1.12.1.tar.gz文件得到一个名为cppunit-1.12.1的文件夹,其下有(关键文件和目录):

  • [examples]
  • [include]
  • [lib]
  • INSTALL
  • INSTALL-WIN32.txt
  • README

记此目录 X:\the\path\cppunit-1.12.1 为 <U> 。

环境配置

如确定 VC6 已经有 unicode 库支持。此步可跳过。

进入控制面板→添加/删除程序,配置 VC 安装组件。检查 VC 中 unicode 是否支持。

如果没有安装 unicode 支持,若安装盘在,可以插入光盘,再此选中并一路确定,将之安装上即可。

若安装盘不在,可下载此文件后,将其中的 lib 文件放到 VC 安装目录下的 VC98\MFC\LIB 目录。

编译库文件

打开 <U>\src\CppUnitLibraries.dsw 。Build→Batch Build→全部选中后Build。

打开 <U>\examples\examples.dsw 。同上,全部Build。

安装

给VC6中注册插件

Tools
→ Customize
→ Add-ins and macro files
→ Browse
→ 选择或输入 <U>\lib\TestRunnerDSPlugIn.dll
→ 确定

VC6

Tools
→ Options
→ Directories
→ Show directories for:

  • Include files 中,添加 <U>\include
  • Library files 中,添加 <U>\lib
  • Executable files 中,添加 <U>\lib

VisualAssist X

Visual Assist X Options
→ Project
→ C/C++ Directories
→ Platform: Custom
→ Show Directories: Stable include files
→ 添加 <U>\include

SlickEdit12

Tools
→ Tag Files
→ "C/C++" Tag Files
→ Add Tag File
→ C/C++
→ 选中Generate References
→ OK
→ 输入名称:CppUnit.vtg
→ 打开
→ 选择路径 <U>\include
→ OK
→ Done

使用

测试使用例子:CppUnit测试框架入门

一个简单的构造过程:编写GUI类型的CppUnit单元测试框架及用例

基本框架推荐模型:CppUnit 快速使用指南

1月20日

JavaForge 的免费 SVN 服务器

    找到了一个免费 SVN 服务器提供者。注册后即时可用。
    网站地址:http://www.javaforge.com
 
    当前工程:
        Haskell, Haskell
        My Program's Setting, MyProg
1月17日

SVN 的分支与合并

    最近用 SVN ,又重新温习了一下分支和合并。用之前已经完全忘记了怎么回事的东西,用以后发现就是这样清楚的一个逻辑。在此简单记录一下。
    假设代码在版本历史中顺序经历了 A、B、C、D ,这时因为发现了之前的 bug ,需要在 B 版本的基础上修改,于是从 B 开始分支,产生版本 F、G 。而另一方面,D 的升级也在继续,从而得到了 E 。
    这时,B 的 bug 在 G 得到了解决。进而,需要把 B-G 的变更合并到 E 中。这样才得到我们的工作版本。
    在操作时,需要明确 SVN 作为版本控制的工具,一次版本标记代表的只是此次更新所做的改动。这样,我们需要合并的是两个分支的修改。也就是要合并的是 B-G 的改动和 B-E 的改动,而合并的结果作为 E 的后续版本。
    于是,如果把这个产生了分支并需要合并的工程所在的目录叫做活动目录的话,可以描述我们的 SVN 操作步骤如下:
    ⒈ 在活动目录取出版本 B ;
    ⒉ 在活动目录进行合并操作,此时指定从 F 版本到 G 版本,正常情况下应该没有冲突,如果有,那手动解决一下吧;
    ⒊ 在活动目录进行合并操作,此时指定从 C 版本到 E 版本,这时出现冲突的可能性较大,手动解决吧;
    ⒋ 在活动目录提交完成合并的新版本 H 。
    仔细分析这里进行的操作。首先取出 B ,因为它在主干上而且是分支的根,所以可以从此得到直到 G 的修改;合并了到 G 的修改以后,当前版本是变化的 B ,内容是与 G 相同,但由于在主干上,它是有了不少变动的;然后合并到 E 的修改,是在 G 的代码, B 的版本记录之上进行的;解决冲突以后,代码是从 B 处直接修改到了 H 。
    配合“一个版本标记代表此次更新做的改动”的思路(毕竟我没实现 SVN ,而只是推测它的机制),在数据库里,H 是在主干上,应该是和主版本 E 作比较,得到了这次改动,入库。这样,才能以相同的机制对 E-H 进行处理。
7月17日

欢迎SVN

  又用上了SVN,第一次用TortoiseSVN,还可以,整合到了资源管理器里,消耗还不算大,虽然偶尔图标显示不够同步,好在只是在目录树里有这情况,可以接受。
  工作路径里建了几个工程,需要共享文件,通过外部连接的方式搞定了。SVN功能是很不错的,就是用起来需要学习+小心。好多功能提供了还从来没有用到过,有机会自己尝试一下。
  一句话,多看文档。
  PS.需要的时候。 :)