<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>生活周遭 &#187; XP</title>
	<atom:link href="http://blog.leirahua.com/tag/xp/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.leirahua.com</link>
	<description>In My Circle</description>
	<lastBuildDate>Wed, 27 Jan 2010 15:56:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>UnitTest++ 在VC6中编译的patch</title>
		<link>http://blog.leirahua.com/2007/unittest-%e5%9c%a8vc6%e4%b8%ad%e7%bc%96%e8%af%91%e7%9a%84patch/</link>
		<comments>http://blog.leirahua.com/2007/unittest-%e5%9c%a8vc6%e4%b8%ad%e7%bc%96%e8%af%91%e7%9a%84patch/#comments</comments>
		<pubDate>Wed, 08 Aug 2007 13:37:34 +0000</pubDate>
		<dc:creator>leira</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[TestDrivenDevelopment]]></category>
		<category><![CDATA[unittest]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[xunit]]></category>

		<guid isPermaLink="false">http://blog.leirahua.com/articles/unittest-%e5%9c%a8vc6%e4%b8%ad%e7%bc%96%e8%af%91%e7%9a%84patch.html</guid>
		<description><![CDATA[UnitTest++是一个全功能的C++ unit test framework，与老牌的CppUnit相比轻便简单灵活。 但是下载以后发现，不能在VC6下编译。去网上搜搜，看到的大多数都是“throw this junk compiler”的意见，但是公司里用的还是VC6，没有办法换。所以只好自己写了一个patch。 其实问题到也不大，主要有三点： VC6中的strcpy等字符串函数不再std namespace中 VC6臭名昭著的for (int i)中i的作用域问题 VC6不支持template function和non-template function的overloading 其中第三条较麻烦，换了一个traits类来解决，作到了接口不变。所有的166个test都运行通过。 这个patch的修改都用编译开关包了起来，并不会破坏其他编译器的编译，已经在VC2005, gcc 3.4.4(cygwin)和gcc 4.1.2(Ubuntu Feisty)中测试通过了。这个patch原本是针对UnitTest++ 1.3的，不过经测试在最新的svn revision 184上也能正常工作。 patch可以在这儿下到。]]></description>
			<content:encoded><![CDATA[<p><a href="http://unittest-cpp.sourceforge.net/">UnitTest++</a>是一个全功能的C++ unit test framework，与老牌的CppUnit相比轻便简单灵活。<br />
但是下载以后发现，不能在VC6下编译。去网上搜搜，看到的大多数都是“throw this junk compiler”的意见，但是公司里用的还是VC6，没有办法换。所以只好自己写了一个<a href="https://sourceforge.net/tracker/index.php?func=detail&#038;aid=1770021&#038;group_id=158151&#038;atid=806686">patch</a>。<br />
其实问题到也不大，主要有三点：</p>
<ol>
<li>VC6<cstring>中的strcpy等字符串函数不再std namespace中</li>
<li>VC6臭名昭著的for (int i)中i的作用域问题</li>
<li>VC6不支持template function和non-template function的overloading</li>
</ol>
<p>其中第三条较麻烦，换了一个traits类来解决，作到了接口不变。所有的166个test都运行通过。</p>
<p>这个patch的修改都用编译开关包了起来，并不会破坏其他编译器的编译，已经在VC2005, gcc 3.4.4(cygwin)和gcc 4.1.2(Ubuntu Feisty)中测试通过了。这个patch原本是针对UnitTest++ 1.3的，不过经测试在最新的svn revision 184上也能正常工作。</p>
<p>patch可以在<a href="https://sourceforge.net/tracker/index.php?func=detail&#038;aid=1770021&#038;group_id=158151&#038;atid=806686">这儿</a>下到。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leirahua.com/2007/unittest-%e5%9c%a8vc6%e4%b8%ad%e7%bc%96%e8%af%91%e7%9a%84patch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
