﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-中国勇士-X-随笔分类-其它</title><link>http://www.cppblog.com/zgysx/category/3350.html</link><description>抒写快乐心情</description><language>zh-cn</language><lastBuildDate>Sat, 13 Jun 2009 09:35:17 GMT</lastBuildDate><pubDate>Sat, 13 Jun 2009 09:35:17 GMT</pubDate><ttl>60</ttl><item><title>[转]UML类图关系大全</title><link>http://www.cppblog.com/zgysx/archive/2009/06/13/87587.html</link><dc:creator>warrior</dc:creator><author>warrior</author><pubDate>Sat, 13 Jun 2009 08:01:00 GMT</pubDate><guid>http://www.cppblog.com/zgysx/archive/2009/06/13/87587.html</guid><wfw:comment>http://www.cppblog.com/zgysx/comments/87587.html</wfw:comment><comments>http://www.cppblog.com/zgysx/archive/2009/06/13/87587.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zgysx/comments/commentRss/87587.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zgysx/services/trackbacks/87587.html</trackback:ping><description><![CDATA[<span  style="color: rgb(75, 75, 75); font-family: Verdana; font-size: 13px; line-height: 19px; "><div class="postTitle" style="font-size: 14.7px; font-weight: bold; margin-bottom: 10px; "><a id="AjaxHolder_ctl01_TitleUrl" class="postTitle2" href="http://www.cnblogs.com/riky/archive/2007/04/07/704298.html" style="text-decoration: none; color: rgb(26, 139, 200); ">UML类图关系大全</a></div><span style="line-height: 19px; font-size: 10pt; ">1、关联<br><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/dylgsy/doubleAssoc.JPG" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><br>双向关联：<br>C1-C2：指双方都知道对方的存在，都可以调用对方的公共属性和方法。<br><br>在GOF的设计模式书上是这样描述的：虽然在分析阶段这种关系是适用的，但我们觉得它对于描述设计模式内的类关系来说显得太抽象了，因为在设计阶段关联关系必须被映射为对象引用或指针。对象引用本身就是有向的，更适合表达我们所讨论的那种关系。所以这种关系在设计的时候比较少用到，关联一般都是有向的。<br><br>使用ROSE 生成的代码是这样的：</span><div style="font-size: 10pt; "><div style="font-size: 10pt; "><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">class&nbsp;C1&nbsp;<br><img id="_10_33_Open_Image" onclick="this.style.display='none'; document.getElementById('_10_33_Open_Text').style.display='none'; document.getElementById('_10_33_Closed_Image').style.display='inline'; document.getElementById('_10_33_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><img id="_10_33_Closed_Image" onclick="this.style.display='none'; document.getElementById('_10_33_Closed_Text').style.display='none'; document.getElementById('_10_33_Open_Image').style.display='inline'; document.getElementById('_10_33_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">...{<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">public:<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">&nbsp;&nbsp;&nbsp;&nbsp;C2*&nbsp;theC2;<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">};<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">class&nbsp;C2&nbsp;<br><img id="_47_70_Open_Image" onclick="this.style.display='none'; document.getElementById('_47_70_Open_Text').style.display='none'; document.getElementById('_47_70_Closed_Image').style.display='inline'; document.getElementById('_47_70_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><img id="_47_70_Closed_Image" onclick="this.style.display='none'; document.getElementById('_47_70_Closed_Text').style.display='none'; document.getElementById('_47_70_Open_Image').style.display='inline'; document.getElementById('_47_70_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">...{<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">public:<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">&nbsp;&nbsp;&nbsp;&nbsp;C1*&nbsp;theC1;<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">};</div></div><p style="line-height: 19px; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; font-size: 10pt; ">双向关联在代码的表现为双方都拥有对方的一个指针，当然也可以是引用或者是值。<br><br><br><br><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/dylgsy/uniAssoc.JPG" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><br>单向关联:<br>C3-&gt;C4：表示相识关系，指C3知道C4，C3可以调用C4的公共属性和方法。没有生命期的依赖。一般是表示为一种引用。<br><br>生成代码如下：</p><div style="font-size: 10pt; "><div style="font-size: 10pt; "><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">class&nbsp;C3&nbsp;<br><img id="_10_33_Open_Image" onclick="this.style.display='none'; document.getElementById('_10_33_Open_Text').style.display='none'; document.getElementById('_10_33_Closed_Image').style.display='inline'; document.getElementById('_10_33_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><img id="_10_33_Closed_Image" onclick="this.style.display='none'; document.getElementById('_10_33_Closed_Text').style.display='none'; document.getElementById('_10_33_Open_Image').style.display='inline'; document.getElementById('_10_33_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">...{<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">public:<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">&nbsp;&nbsp;&nbsp;&nbsp;C4*&nbsp;theC4;<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">};<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">class&nbsp;C4&nbsp;<br><img id="_47_50_Open_Image" onclick="this.style.display='none'; document.getElementById('_47_50_Open_Text').style.display='none'; document.getElementById('_47_50_Closed_Image').style.display='inline'; document.getElementById('_47_50_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><img id="_47_50_Closed_Image" onclick="this.style.display='none'; document.getElementById('_47_50_Closed_Text').style.display='none'; document.getElementById('_47_50_Open_Image').style.display='inline'; document.getElementById('_47_50_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">...{<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">};</div></div><p style="line-height: 19px; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; font-size: 10pt; ">单向关联的代码就表现为C3有C4的指针，而C4对C3一无所知。<br><br><br></p><p style="line-height: 19px; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; font-size: 10pt; "><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/dylgsy/selfAssoc.JPG" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><br>自身关联（反身关联）：<br>自己引用自己，带着一个自己的引用。<br><br>代码如下：</p><div style="font-size: 10pt; "><div style="font-size: 10pt; "><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">class&nbsp;C14&nbsp;<br><img id="_11_36_Open_Image" onclick="this.style.display='none'; document.getElementById('_11_36_Open_Text').style.display='none'; document.getElementById('_11_36_Closed_Image').style.display='inline'; document.getElementById('_11_36_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><img id="_11_36_Closed_Image" onclick="this.style.display='none'; document.getElementById('_11_36_Closed_Text').style.display='none'; document.getElementById('_11_36_Open_Image').style.display='inline'; document.getElementById('_11_36_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">...{<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">public:<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">&nbsp;&nbsp;&nbsp;&nbsp;C14*&nbsp;theC14;<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">};</div></div><p style="line-height: 19px; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; font-size: 10pt; ">就是在自己的内部有着一个自身的引用。<br><br>2、聚合/组合<br><br>当类之间有整体-部分关系的时候，我们就可以使用组合或者聚合。<br><br><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/dylgsy/Aggregation.JPG" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><br>聚合：表示C9聚合C10，但是C10可以离开C9而独立存在（独立存在的意思是在某个应用的问题域中这个类的存在有意义。这句话怎么解，请看下面组合里的解释）。<br><br>代码如下：</p><div style="font-size: 10pt; "><div style="font-size: 10pt; "><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">class&nbsp;C9&nbsp;<br><img id="_10_34_Open_Image" onclick="this.style.display='none'; document.getElementById('_10_34_Open_Text').style.display='none'; document.getElementById('_10_34_Closed_Image').style.display='inline'; document.getElementById('_10_34_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><img id="_10_34_Closed_Image" onclick="this.style.display='none'; document.getElementById('_10_34_Closed_Text').style.display='none'; document.getElementById('_10_34_Open_Image').style.display='inline'; document.getElementById('_10_34_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">...{<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">public:<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">&nbsp;&nbsp;&nbsp;&nbsp;C10&nbsp;theC10;<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">};<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">class&nbsp;C10&nbsp;<br><img id="_49_52_Open_Image" onclick="this.style.display='none'; document.getElementById('_49_52_Open_Text').style.display='none'; document.getElementById('_49_52_Closed_Image').style.display='inline'; document.getElementById('_49_52_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><img id="_49_52_Closed_Image" onclick="this.style.display='none'; document.getElementById('_49_52_Closed_Text').style.display='none'; document.getElementById('_49_52_Open_Image').style.display='inline'; document.getElementById('_49_52_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">...{<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">};<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "></div></div><p style="line-height: 19px; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; font-size: 10pt; ">&nbsp;</p><p style="line-height: 19px; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; font-size: 10pt; "><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/dylgsy/Composition.JPG" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><br>组合（也有人称为包容）：一般是实心菱形加实线箭头表示，如上图所示，表示的是C8被C7包容，而且C8不能离开C7而独立存在。但这是视问题域而定的，例如在关心汽车的领域里，轮胎是一定要组合在汽车类中的，因为它离开了汽车就没有意义了。但是在卖轮胎的店铺业务里，就算轮胎离开了汽车，它也是有意义的，这就可以用聚合了。在《敏捷开发》中还说到，A组合B，则A需要知道B的生存周期，即可能A负责生成或者释放B，或者A通过某种途径知道B的生成和释放。<br><br>他们的代码如下：</p><div style="font-size: 10pt; "><div style="font-size: 10pt; "><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">class&nbsp;C7&nbsp;<br><img id="_10_32_Open_Image" onclick="this.style.display='none'; document.getElementById('_10_32_Open_Text').style.display='none'; document.getElementById('_10_32_Closed_Image').style.display='inline'; document.getElementById('_10_32_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><img id="_10_32_Closed_Image" onclick="this.style.display='none'; document.getElementById('_10_32_Closed_Text').style.display='none'; document.getElementById('_10_32_Open_Image').style.display='inline'; document.getElementById('_10_32_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">...{<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">public:<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">&nbsp;&nbsp;&nbsp;&nbsp;C8&nbsp;theC8;<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">};<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">class&nbsp;C8&nbsp;<br><img id="_46_48_Open_Image" onclick="this.style.display='none'; document.getElementById('_46_48_Open_Text').style.display='none'; document.getElementById('_46_48_Closed_Image').style.display='inline'; document.getElementById('_46_48_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><img id="_46_48_Closed_Image" onclick="this.style.display='none'; document.getElementById('_46_48_Closed_Text').style.display='none'; document.getElementById('_46_48_Open_Image').style.display='inline'; document.getElementById('_46_48_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">...{<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">};</div></div><p style="line-height: 19px; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; font-size: 10pt; ">可以看到，代码和聚合是一样的。具体如何区别，可能就只能用语义来区分了。<br><br>3、依赖<br><br><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/dylgsy/Dependancy.JPG" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><br>依赖:<br>指C5可能要用到C6的一些方法，也可以这样说，要完成C5里的所有功能，一定要有C6的方法协助才行。C5依赖于C6的定义，一般是在C5类的头文件中包含了C6的头文件。ROSE对依赖关系不产生属性。<br><br>注意，要避免双向依赖。一般来说，不应该存在双向依赖。<br><br>ROSE生成的代码如下：<br></p><div style="font-size: 10pt; "><div style="font-size: 10pt; "><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">//&nbsp;C5.h<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">#include&nbsp;"C6.h"<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">class&nbsp;C5&nbsp;<br><img id="_35_38_Open_Image" onclick="this.style.display='none'; document.getElementById('_35_38_Open_Text').style.display='none'; document.getElementById('_35_38_Closed_Image').style.display='inline'; document.getElementById('_35_38_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><img id="_35_38_Closed_Image" onclick="this.style.display='none'; document.getElementById('_35_38_Closed_Text').style.display='none'; document.getElementById('_35_38_Open_Image').style.display='inline'; document.getElementById('_35_38_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">...{<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">};<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">//&nbsp;C6.h<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">#include&nbsp;"C5.h"<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">class&nbsp;C6<br><img id="_76_79_Open_Image" onclick="this.style.display='none'; document.getElementById('_76_79_Open_Text').style.display='none'; document.getElementById('_76_79_Closed_Image').style.display='inline'; document.getElementById('_76_79_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><img id="_76_79_Closed_Image" onclick="this.style.display='none'; document.getElementById('_76_79_Closed_Text').style.display='none'; document.getElementById('_76_79_Open_Image').style.display='inline'; document.getElementById('_76_79_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">...{<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">};<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "></div></div><p style="line-height: 19px; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; font-size: 10pt; ">虽然ROSE不生成属性，但在形式上一般是A中的某个方法把B的对象作为参数使用(假设A依赖于B)。如下：</p><div style="font-size: 10pt; "><div style="font-size: 10pt; "><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">#include&nbsp;"B.h"<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">class&nbsp;A<br><img id="_23_52_Open_Image" onclick="this.style.display='none'; document.getElementById('_23_52_Open_Text').style.display='none'; document.getElementById('_23_52_Closed_Image').style.display='inline'; document.getElementById('_23_52_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><img id="_23_52_Closed_Image" onclick="this.style.display='none'; document.getElementById('_23_52_Closed_Text').style.display='none'; document.getElementById('_23_52_Open_Image').style.display='inline'; document.getElementById('_23_52_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">...{<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;Func(B&nbsp;&amp;b);<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">}</div></div><p style="line-height: 19px; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; font-size: 10pt; ">那依赖和聚合\组合、关联等有什么不同呢？<br><br>关联是类之间的一种关系，例如老师教学生，老公和老婆，水壶装水等就是一种关系。这种关系是非常明显的，在问题领域中通过分析直接就能得出。<br><br>依赖是一种弱关联，只要一个类用到另一个类，但是和另一个类的关系不是太明显的时候（可以说是&#8220;uses&#8221;了那个类），就可以把这种关系看成是依赖，依赖也可说是一种偶然的关系，而不是必然的关系，就是&#8220;我在某个方法中偶然用到了它，但在现实中我和它并没多大关系&#8221;。例如我和锤子，我和锤子本来是没关系的，但在有一次要钉钉子的时候，我用到了它，这就是一种依赖，依赖锤子完成钉钉子这件事情。</p><p style="line-height: 19px; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; font-size: 10pt; ">组合是一种整体-部分的关系，在问题域中这种关系很明显，直接分析就可以得出的。例如轮胎是车的一部分，树叶是树的一部分，手脚是身体的一部分这种的关系，非常明显的整体-部分关系。<br><br>上述的几种关系（关联、聚合/组合、依赖）在代码中可能以指针、引用、值等的方式在另一个类中出现，不拘于形式，但在逻辑上他们就有以上的区别。<br><br>这里还要说明一下，所谓的这些关系只是在某个问题域才有效，离开了这个问题域，可能这些关系就不成立了，例如可能在某个问题域中，我是一个木匠，需要拿着锤子去干活，可能整个问题的描述就是我拿着锤子怎么钉桌子，钉椅子，钉柜子；既然整个问题就是描述这个，我和锤子就不仅是偶然的依赖关系了，我和锤子的关系变得非常的紧密，可能就上升为组合关系（让我突然想起武侠小说的剑不离身，剑亡人亡...）。这个例子可能有点荒谬，但也是为了说明一个道理，就是关系和类一样，它们都是在一个问题领域中才成立的，离开了这个问题域，他们可能就不复存在了。<br><br><br>4、泛化（继承）<br><br><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/dylgsy/inheri.jpg" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><br>泛化关系：如果两个类存在泛化的关系时就使用，例如父和子，动物和老虎，植物和花等。<br>ROSE生成的代码很简单，如下：</p><div style="font-size: 10pt; "><div style="font-size: 10pt; "><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">#include&nbsp;"C11.h"<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">class&nbsp;C12&nbsp;:&nbsp;public&nbsp;C11<br><img id="_41_43_Open_Image" onclick="this.style.display='none'; document.getElementById('_41_43_Open_Text').style.display='none'; document.getElementById('_41_43_Closed_Image').style.display='inline'; document.getElementById('_41_43_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><img id="_41_43_Closed_Image" onclick="this.style.display='none'; document.getElementById('_41_43_Closed_Text').style.display='none'; document.getElementById('_41_43_Open_Image').style.display='inline'; document.getElementById('_41_43_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">...{<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">};</div></div><p style="line-height: 19px; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; font-size: 10pt; "><br>5、这里顺便提一下模板<br><br><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/dylgsy/Template.jpg" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><br><br>上面的图对应的代码如下：</p><div style="font-size: 10pt; "><div style="font-size: 10pt; "><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">template&lt;int&gt;<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">class&nbsp;C13&nbsp;<br><img id="_25_27_Open_Image" onclick="this.style.display='none'; document.getElementById('_25_27_Open_Text').style.display='none'; document.getElementById('_25_27_Closed_Image').style.display='inline'; document.getElementById('_25_27_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "><img id="_25_27_Closed_Image" onclick="this.style.display='none'; document.getElementById('_25_27_Closed_Text').style.display='none'; document.getElementById('_25_27_Open_Image').style.display='inline'; document.getElementById('_25_27_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">...{<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">};<br><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; "></div></div><p style="line-height: 19px; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-indent: 0px; font-size: 10pt; ">这里再说一下重复度，其实看完了上面的描述之后，我们应该清楚了各个关系间的关系以及具体对应到代码是怎么样的，所谓的重复度，也只不过是上面的扩展，例如A和B有着&#8220;1对多&#8221;的重复度，那在A中就有一个列表，保存着B对象的N个引用，就是这样而已。<br><br>好了，到这里，已经把上面的类图关系说完了，希望你能有所收获了，我也费了不少工夫啊（画图、生成代码、截图、写到BLOG上，唉，一头大汗）。不过如果能让你彻底理解UML类图的这些关系，也值得了。:)<br><br><br></p></span>
<img src ="http://www.cppblog.com/zgysx/aggbug/87587.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zgysx/" target="_blank">warrior</a> 2009-06-13 16:01 <a href="http://www.cppblog.com/zgysx/archive/2009/06/13/87587.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>有关图像方面的就业方向</title><link>http://www.cppblog.com/zgysx/archive/2008/03/12/44278.html</link><dc:creator>warrior</dc:creator><author>warrior</author><pubDate>Wed, 12 Mar 2008 07:36:00 GMT</pubDate><guid>http://www.cppblog.com/zgysx/archive/2008/03/12/44278.html</guid><wfw:comment>http://www.cppblog.com/zgysx/comments/44278.html</wfw:comment><comments>http://www.cppblog.com/zgysx/archive/2008/03/12/44278.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zgysx/comments/commentRss/44278.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zgysx/services/trackbacks/44278.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 就我看来，个人觉得图像处理的就业还是不错的。首先可以把图像看成二维、三维或者更高维的信号，从这个意义上来说，图像处理是整个信号处理里面就业形势最好的，因为你不仅要掌握（一维）信号处理的基本知识，也要掌握图像处理（二维或者高维信号处理）的知识。其次，图像处理是计算机视觉和视频处理的基础，掌握好了图像处理的基本知识，就业时就可以向这些方向发展。目前的模式识别，大部分也都是图像模式识别。在实际应用场合，采集的信息很多都是图像信息，比如指纹、条码、人脸、虹膜、车辆等等。说到应用场合，千万不能忘了医学图像这一块，如果有医学图像处理的背景，去一些医疗器械公司或者医疗软件公司也是不错的选择。图像处理对编程的要求比较高，如果编程很厉害，当然就业也多了一个选择方向，并不一定要局限在图像方向。</p>
<p>下面谈谈我所知道的一些公司信息，不全，仅仅是我所了解到的或者我所感兴趣的，实际远远不止这么多。</p>
<p>搜索方向<br>基于内容的图像或视频搜索是很多搜索公司研究的热点。要想进入这个领域，必须有很强的编程能力，很好的图像处理和模式识别的背景。要求高待遇自然就不错，目前这方面的代表公司有微软、google、yahoo和百度，个个鼎鼎大名。</p>
<p>医学图像方向<br>目前在医疗器械方向主要是几个大企业在竞争，来头都不小，其中包括Simens、GE、飞利浦和柯达，主要生产CT和MRI等医疗器材。由于医疗器械的主要功能是成像，必然涉及到对图像的处理，做图像处理的很有机会进入这些公司。它们在国内都设有研发中心，simens的在上海和深圳，GE和柯达都在上海，飞利浦的在沈阳。由于医疗市场是一个没有完全开发的市场，而一套医疗设备的价格是非常昂贵的，所以在这些地方的待遇都还可以，前景也看好。国内也有一些这样的企业比如深圳安科和迈瑞</p>
<p>计算机视觉和模式识别方向<br>我没去调研过有哪些公司在做，但肯定不少，比如指纹识别、人脸识别、虹膜识别。还有一个很大的方向是车牌识别，这个我倒是知道有一个公司高德威智能交通似乎做的很不错的样子。目前视频监控是一个热点问题，做跟踪和识别的可以在这个方向找到一席之地。<br>上海法视特位于上海张江高科技园区，在视觉和识别方面做的不错。北京的我也知道两个公司：大恒和凌云，都是以图像作为研发的主体。</p>
<p>视频方向<br>一般的高校或者研究所侧重在标准的制定和修改以及技术创新方面，而公司则侧重在编码解码的硬件实现方面。一般这些公司要求是熟悉或者精通MPEG、H.264或者AVS，选择了这个方向，只要做的还不错，基本就不愁饭碗。由于这不是我所感兴趣的方向，所以这方面的公司的信息我没有收集，但平常在各个bbs或者各种招聘网站经常看到。<br>我所知道的两个公司：诺基亚和pixelworks</p>
<p>其他<br>其实一般来说，只要涉及到成像或者图像的基本都要图像处理方面的人。比方说一个成像设备，在输出图像之前需要对原始图像进行增强或者去噪处理，存储时需要对图像进行压缩，成像之后需要对图像内容进行自动分析，这些内容都是图像处理的范畴。下面列举一些与图像有关或者招聘时明确说明需要图像处理方面人才的公司：<br>上海豪威集成电路有限公司（<a href="http://www.ovt.com.cn/" target=_blank>www.ovt.com.cn</a>）<br>中芯微<br>摩托罗拉上海研究院<br>威盛（VIA）<br>松下<br>索尼<br>清华同方<br>三星<br>所有与图像（静止或者运动图像）有关的公司都是一种选择。比如数码相机、显微镜成像、超声成像、工业机器人控制、显示器、电视、遥感等等，都可以作为求职方向。</p>
<p>要求：<br>1、外语。如果进外企，外语的重要性不言而喻。一般外企的第一轮面试都是英语口语面试。<br>2、编程。这方面尤以C＋＋为重，很多公司的笔试都是考c＋＋知识。<br>3、专业水平。如果要找专业相关的工作，研究生期间的研究经历和发表的论文就显的比较重要。<br>4、知识面的宽度。我觉得在研究生期间，除了做好自己的研究方向之外，扩宽一下知识面也有很大的帮助，当然这个知识面指的是图像处理、计算机视觉和模式识别，知识面越宽，就业时的选择就会越多。</p>
<p>图像处理方向毕业的就业面非常广，而且待遇在应届生应该是中上等。其实还是一句话，能力决定一切。只要研究生三年没有白</p>
<img src ="http://www.cppblog.com/zgysx/aggbug/44278.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zgysx/" target="_blank">warrior</a> 2008-03-12 15:36 <a href="http://www.cppblog.com/zgysx/archive/2008/03/12/44278.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]无痛苦的软件维护——被遗忘的需求(软件工程方面)</title><link>http://www.cppblog.com/zgysx/archive/2007/01/19/17790.html</link><dc:creator>warrior</dc:creator><author>warrior</author><pubDate>Fri, 19 Jan 2007 08:58:00 GMT</pubDate><guid>http://www.cppblog.com/zgysx/archive/2007/01/19/17790.html</guid><wfw:comment>http://www.cppblog.com/zgysx/comments/17790.html</wfw:comment><comments>http://www.cppblog.com/zgysx/archive/2007/01/19/17790.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zgysx/comments/commentRss/17790.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zgysx/services/trackbacks/17790.html</trackback:ping><description><![CDATA[先说一个小笑话。有一个生产队队长，他对专家说：“现在我们生产队的地越来越多，牛越来越忙不过来了。我想要这么一种牛，他吃的草和普通牛一样多，但是干的活是普通牛的十倍。”专家说：“这种牛是可以造出来的，现在有基因工程。”队长说：“好吧，你给这造几头这样的牛。”于是专家找到了生物实验室，让生物实验室的人搞一个基因工程，把牛造出来。于是工程浩大，投资无法保证，合作多半是不愉快的收场。 <br /><br />现实世界里很多人分析需求的过程就类似于这位专家，他们把注意力放在用户提出的功能点上，而对用户的实际需求没有兴趣。有不少软件公司和程序员，其实都在做类似的基因工程。如果这个专家把注意力放在生产队长的业务需求上，而不是太在乎他提出的功能点，他会说：“我认识一个卖拖拉机的，可以带你去看看。”<br /><br />软件的维护为什么这么痛苦，一个很重要的原因在于：需求已经被遗忘了。<br /><br />需求是对用户具有直接商业价值的活动，而不应该牵涉到任何的功能实现方式。实现同一个需求可以使用多个方案，每个方案有自己的功能方式，在某个方案中至关重要的功能点，也许在另一个方案中根本无关紧要。<br /><br />瀑布式的开发过程，首先是由一批懂得用户业务的专家去调查用户的需求，分析出这个系统应该具有哪些功能，形成一个非常重要的文件——《xxx系统需求规格说明书》。客户认可了这个《说明书》，在上面签字盖章，加入合同附件，到时候项目验收就以此为准。这时候，需求就已经分解成了一个个功能点，从这时候开始，需求本身就渐渐被人们遗忘。设计人员围绕着这些功能点进行工作，考虑用什么样的技术手段把功能点制造出来。功能点的制作细节形成了另外一份重要的文件—— 《xxx项目设计规格说明书》。这个《设计规格说明书》交给程序员去进行编码。<br /><br />这样的做法在开发中已经形成了很大的问题。<br /><br />首先，面对这样的《需求规格说明书》，设计人员已经无法知道最初的需求是什么。假如这个《需求规格说明书》中的功能点没有出现互相矛盾的情况，而他们串起来却和用户的需求不同，设计人员没办法发现这样的情况，编码人员也无法发现。假如测试也是根据这个《需求规格说明书》来做的，测试人员也发现不了。直到最后客户看见这个程序展现在他们面前。需求的分析需要在随后的过程中不断得到反馈，传统的过程不是没有反馈，而是反馈的时间太长了。<br /><br />其次，由于设计人员已经无法知道基本的需求是什么，也就无法对业务进行建模。这样的需求分析是以开发人员的需要为核心的，可是结果恰恰妨碍了开发人员对需求的理解。如果开发人员对用户的业务过程不甚了解，他们只有一种选择：不要试图去了解需求了，直接按照这些功能点做吧。于是，他们建立的对象模型就不是以需求为核心的，而是以功能、界面为核心的。我见到过很多这样的系统，开发者确实有很高的抽象思维水平，程序中设计了非常巧妙的控制器和界面，可以很方便的进行开发和变更。唯独业务层的对象非常简陋，一旦发生实际业务的变更，仍然十分辛苦。<br /><br />更大的困难发生在维护程序的时候。<br /><br />假设有一个移动通信公司需要制造一个系统，用来解决手机用户入网的问题。这个需求有下面几个要素：<br /><br />　1：用户付钱，得到一个SIM卡和一个号码，把这个SIM卡装到手机里就可以通话。<br />　　2：营业员收的钱要记录下来，提供给稽核人员，现金和帐目必须是平的。<br />　　3：用户付的话费要划入他自己的帐户，可以打印票据。<br />　　4：用户要在入网合同上签字，然后营业员把合同归档。<br /><br /><br />这几个要素都是和通信公司的商业利益直接相关的，没有牵涉到任何系统实现方式。如果不考虑通信公司内部的业务规范，实现方案可以有几十种，下面列举两种： <br />1：SIM卡发给营业员，用户入网的时候，选择一个号码，然后付钱。营业员把SIM卡号码和电话号码输入系统，在交换网络上进行注册，这个SIM卡就可以通话了。然后各种费用记入各人帐户，合同归档。<br /><br />2：SIM卡在下发给营业员之前，先在交换网络上和注册，并且已经预先设置了一定的话费。用户选择了这个号码，付钱之后直接SIM卡拿走就可以打电话了。营业员事后再输入用户的合同资料，费用计入各人帐户，合同归档。<br /><br />这两种方案在实现过程上是不同的，因此具有不同的功能点。比如第二种方案中的SIM卡在出售之前是可以进行通话的，所以必须对这样的号码的通话费用进行监控，这个功能在第一种方案中是根本不需要的。并且两种方案在帐目的核对方式上区别也是比较大的。这两种方案是不同的功能点的集合，他们完成的是同一个业务需求。<br /><br />系统在开发阶段如果没有保留用户的业务需求情况，而是只留下一个功能点的列表，会给维护人员带来成很大的困难。维护人员无法从这样一堆功能点中发现最初的需求是什么样子。各位可以试试，假设我们忘记上面的四个需求要素，只看下面的某个实现方案，从这个复杂的实现过程中，我们很难知道用户现在的需求到底是什么。一旦需求发生了变化，这些功能点就会出错，或者是功能点的时序发生意料不到的错误，也许帐目核对不上了，也许是用户拿走的 SIM卡不能打电话了。<br /><br />看不见需求在哪里，不知道手里这段代码会触动需求的哪根神经。维护人员的痛苦大部分来源于此。<br /><br />“不要紧，客户记得自己的需求。”但是客户通常不懂技术，即使他们懂技术，他们也不知道系统是如何实现的。如果开发人员依靠客户提出新需求的解决方案，结果就是让软件工程变成“生物工程”。到最后是钱基本花光，人基本累死，甲乙双方感情基本破裂。<br /><br />软件开发必须划分成几个过程，但是各个步骤应该有一个统一的核心——业务需求。<br /><br />在需求调查阶段要搞清楚用户的业务需求，为了达到这个目的，可以提问回答，可以对用户进行跟踪采访，或者做一个demo给用户看看，最终的目的是为了搞清楚用户在做什么事，遇到了什么问题，程序应该去解决什么问题，这就是这一阶段的工作。<br /><br />然后开始进行设计，设计系统的逻辑结构和物理结构，逻辑结构要符合需求的概念，各个对象互相调用要能够实现需求中的业务过程，同时物理结构划分合理，符合实际的分布状况，可以达到要求的的性能，业务过程的物理运行方式合理高效。这一阶段仍然是以业务需求为核心。<br /><br />接下来是编码。首先是编写一些基础设施，比如网络通信、数据库、文件的读写、分布式计算，这些基础设施和业务需求没有什么关系，有很多现成的框架，借助这些框架我们可以尽快度过这个黑暗的阶段。然后编写业务对象，这时候业务需求中的一些概念逐步出现在代码中，比如上面说的那个例子，“用户”、“号码”、“合同”、“入网”、“SIM卡资源”这样的业务要素逐渐出现，这些对象所拥有的属性、可以运行的行为也和现实的需求一样。接着这些业务对象串接起来，实现业务过程，现在业务需求又回到了人们的视野当中。业务需求是什么，如何实现，在这里一目了然。最后将这些过程在UI或者接口中调用，将功能提供给用户或者别的系统。<br /><br />测试更是要围绕着业务需求来进行，正常的业务流程应该产生正常的结果，如果缺少某个资源，或者输入了不合适的数据，应该出现业务含义明确的异常。并且系统的业务对象是处在一个独立的层次上，与UI和基础设施没有很大的关联，这样可以方便的采用自动化的测试方法。<br /><br />这样的系统维护起来一定少很多痛苦。<img src ="http://www.cppblog.com/zgysx/aggbug/17790.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zgysx/" target="_blank">warrior</a> 2007-01-19 16:58 <a href="http://www.cppblog.com/zgysx/archive/2007/01/19/17790.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Big endian 和 Little endian</title><link>http://www.cppblog.com/zgysx/archive/2007/01/10/17503.html</link><dc:creator>warrior</dc:creator><author>warrior</author><pubDate>Wed, 10 Jan 2007 09:04:00 GMT</pubDate><guid>http://www.cppblog.com/zgysx/archive/2007/01/10/17503.html</guid><wfw:comment>http://www.cppblog.com/zgysx/comments/17503.html</wfw:comment><comments>http://www.cppblog.com/zgysx/archive/2007/01/10/17503.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zgysx/comments/commentRss/17503.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zgysx/services/trackbacks/17503.html</trackback:ping><description><![CDATA[一个int型的数的地址是0x100,它的值是0x01234567 , 那么它在内存中的存放顺序是:<br /><br />Big  endian <br />                 0x100        0x101        0x102      0x103<br />-----------------------------------------------------------------------------------<br />   ....       |      01     |     23        |      45      |      67    |      ...<br />-----------------------------------------------------------------------------------<br /><br /><br />Little endian<br />                 0x100        0x101        0x102      0x103<br />-----------------------------------------------------------------------------------<br />   ....       |      67     |     45        |      23      |      01    |      ...<br />-----------------------------------------------------------------------------------<br /><br />大多数的处理器是采用Big endian 规则的，比如 Intel 、Motorola、IBM。但是也有一些是采用Little endian的，比如Alpha 、和 Motorola 的PowerPC<img src ="http://www.cppblog.com/zgysx/aggbug/17503.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zgysx/" target="_blank">warrior</a> 2007-01-10 17:04 <a href="http://www.cppblog.com/zgysx/archive/2007/01/10/17503.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]电子书下载网址大全</title><link>http://www.cppblog.com/zgysx/archive/2006/12/29/16990.html</link><dc:creator>warrior</dc:creator><author>warrior</author><pubDate>Fri, 29 Dec 2006 09:22:00 GMT</pubDate><guid>http://www.cppblog.com/zgysx/archive/2006/12/29/16990.html</guid><wfw:comment>http://www.cppblog.com/zgysx/comments/16990.html</wfw:comment><comments>http://www.cppblog.com/zgysx/archive/2006/12/29/16990.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/zgysx/comments/commentRss/16990.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zgysx/services/trackbacks/16990.html</trackback:ping><description><![CDATA[http://asp2.6to23.com/blueshand/default.asp <br />http://www.mycnknow.com/srindex.htm <br />http://pcbook.godcn.net/ <br />http://www.helpwork.net/ <br />http://www.chinathink.net/edown/default.asp <br />http://www.ebook007.com/ <br />http://www.bbook.net/gb/books/booksdefault.asp <br />http://www.hlepwork.net/ <br />http://www.mycnknow.com/srindex.htm <br />http://www.pcbookcn.com/ <br />http://www.ebooksou.com/ <br />http://bingle.pku.edu.cn/ <br />ftp://dlking:good_guy@coolwoo.dlking.com/ <br />http://www.xiaomai.org/ <br />http://www.pcbookcn.com/ <br />http://www.epubcn.com/ <br />http://www.id163.com/ <br />http://www.vvsoft.net/vvbksd/index.asp <br />http://free.21cn.com/lobby/zls/indexxux.htm <br />http://www.marcocantu.com/ <br />http://www.taishen.net/ebook/ <br />http://wlbookwl.myrice.com/c2book.htm <br />http://www.readease.com/ <br />http://wenxue.lycos.com.cn/ <br />http://www.taishen.net/ebook/ <br />http://www.helpwork.com/ <br />http://extend.hk.hi.cn/~kehubu/VBbooks.htm <br />http://ojava.uhome.net/ <br />http://www.mycnknow.com/ <br />http://www.pcbookcn.com/ <br />http://www.epubcn.com/ <br />http://free.21cn.com/lobby/zls/indexxux.htm <br />http://www.ebook007.com/ <br />http://www.ebooksou.com/ <br />http://www.hao123.com/book.htm <br />ftp://166.111.164.147/ <br />http://www.helpwork.com/ <br />http://www.epubcn.com/ <br />http://www.yuyux.com/ <br />http://www.oklink.net/ <br />http://home.eshunet.com/ <br />http://www.ebook007.com/ <br />http://www.shuku.net:8080/ <br />http://www.eshunet.com/ <br />http://www.epubcn.com/ <br />http://www.jetdown.com/ <br />http://www.winmag.com.cn/forum/ <br />http://pcbook.godcn.net/帝华咨讯网 <br />http://www.vckbase.com/VC知识库 <br />http://www.helpwork.net/博士网 <br />http://www.dev-club.com/ <br />http://www.aspxcn.com/.NET中华网 <br />http://www.51itworld.com/无忧IT世界 <br />http://www.netsquare.com/netbook/电脑书籍 <br />http://www.5566.org/prog-.htm【程 ?序】 <br />http://www.tinydust.com/微尘程序员网站 <br />http://www.comjoe.com/中国程序员网 <br />http://www.ccidnet.com/赛迪网 <br />http://www.programmersheaven.com/Programmers Heaven <br />http://www.huachu.com.cn/华储网 <br />http://yuyu.6to23.com/非常书城 <br />http://www.china-pub.com/也可以买书 <br />http://pcbook.51soft.com/无忧书库,网页字体效果极棒！ <br />http://www.dingbing.com/book/ <br />http://www.eshunet.come/书时空 <br />http://zjfeng.topcool.net/song.htm电脑书籍 <br />http://www.eng.stu.edu.cn/ebook/电脑书籍 <br />http://www.godcn.net/school/ <br />http://gshulkin.hypermart.net/books/FreeVBBook.html <br />http://www.monumental.com/boat/computerbooks.html <br />http://www.rokinc.cjb.net/电脑书籍 <br />http://www.pcbookcn.com/中华电脑书库 <br />http://www.cnforyou.com/上海网上书店 <br />http://ebook.0451.net/html/js139/11/book1.htmWINDOWS 95/98操作系统编程实例详解 <br />http://www.umlchina.com/ <br />202.192.154.5/ebook/index.asp <br />China: ://www.ibm.com/developerWorks/cn/download/mirror/bruceeckel/ <br />China: <a href="http://biubiu.at.china.com/download/book/eckel" target="_blank"><font color="#000000">http://biubiu.at.china.com/download/book/eckel </font></a><br />China: <a href="http://javachina.yeah.net/design" target="_blank"><font color="#000000">http://javachina.yeah.net/design </font></a><br />China: <a href="http://louisxiv.home.chinaren.com/" target="_blank"><font color="#000000">http://louisxiv.home.chinaren.com/ </font></a><br />China: <a href="http://proxy.iini.com/eckel/" target="_blank"><font color="#000000">http://proxy.iini.com/eckel/ </font></a><br />China: <a href="http://www.jiangnan.edu.cn/" target="_blank"><font color="#000000">http://www.jiangnan.edu.cn/ </font></a><br />China: <a href="http://www.lelf.net/lelf/download/tij/" target="_blank"><font color="#000000">http://www.lelf.net/lelf/download/tij/ </font></a><br />ftp.gargoylewiz.dynip.com <br />ftp.gargoylewiz.dynip.com <br />ftp.gargoylewiz.dynip.com <br />ftp://128.32.208.109/.NWNK-FxP/_vti_pvt/_vti_pub <br />ftp://141.133.239.239/.%20scanned%2...oaded/by%20blue <br />ftp://166.111.132.3 /<br />ftp://166.111.160.4 /<br />ftp://166.111.164.147/ <br />ftp://166.111.174.33 /<br />ftp://203.198.80.44/test/ilifebacku...%20by%20p/Bookz <br />ftp://209.196.62.156/_vti_pvt/.pmbd <br />ftp://209.204.119.253/temp/damoak/ <br />ftp://216.0.51.50/~tmp/.%20for/%7...;%20TutorialZ=- <br />ftp://216.149.46.228/scan/by/damoak/ <br />ftp://216.167.56.173/tmp/damoak/cisco/ <br />ftp://216.233.144.210/~/~tagged%20by%20fietsbeller/ <br />ftp://61.156.23.10/2/.EM/m2w/study/ <br />ftp://cicd.hfut.edu.cn/ <br />ftp://dl3.51soft.com:8384/c_c021.zip《C++高级参考手册》 <br />ftp://ftp.bj.software.chinese.com/s...m/book/1a35.zip <br />ftp://ftp.bupt.edu.cn/pub1/e-book/computer/ <br />ftp://ftp.pim.tsinghua.edu.cn /<br />ftp://ftp.sjtu.edu.cn/document <br />ftp://ftp.tsinghua.edu.cn/pub/ <br />ftp://ftp.tup.tsinghua.edu.cn/C++/ 钱能《c++程序设计教程》那本书的书后习题源码 <br />ftp://ftp.xjtu.edu.cn/pub/document <br />ftp://ftp.xjtu.edu.cn/pub/document <br />ftp://keygen:exam@24.92.14.2:21 /<br />ftp://maestro.den.disa.mil /<br />ftp://win2k:abc123@63.236.67.26/ <br />ftp://win2k:win2000@63.236.67.49/ <br />ftp://wlbookwl:2531382@ftp.diy.myri...book/dosint.zip <br />ftp://wlbookwl:2531382@ftp.diy.myri...k/qianC/001.zip 《钱能C++程序设计》(1) <br />ftp://wlbookwl:2531382@ftp.diy.myri...k/qianC/002.zip 《钱能C++程序设计》(2) <br />target=_blank&gt;<a href="ftp://wlbookwl:2531382@ftp.diy.myri...%e8%9b%8f%e6%9d%93%e5%89%96%e7%ac%9b%e6%a9%b9%e5%82%85%e8%82%8c/?/a%3E" target="_blank"><font color="#000000">ftp://wlbookwl:2531382@ftp.diy.myri...蛏杓剖笛橹傅肌/?/a&gt; </font></a><br />http://202.101.232.120/book/default.asp <br />http://202.103.176.81/erun/sealife/ （主力站点） <br />http://202.96.70.228/cakk/delphi/Wi...喑碳际跄谀?rar <br />http://202.96.70.229/cakk/delphi/delphibbs/dfw.chm <br />http://202.96.70.229/cakk/delphi/do...02000%203rd.chm <br />http://202.96.70.229/cakk/delphi/doc/vc++技术内幕IV(潘爱民).rar <br />http://books.gnaritas.net/Books/Exams/ <br />http://books.zone.ru/ <br />http://cheminf.nankai.edu.cn/DynaDocBooks/ <br />http://computerbooks.address.com/ <br />http://cpp.chinaccd.net/ebook <br />http://cpp.chinaccd.net/ebook/c++byAnwser.rar <br />http://cpp.chinaccd.net/ebook/Effective_C++2e.pdf <br />http://cpp.chinaccd.net/ebook/More%...ctive%20C++.pdf <br />http://cpp.chinaccd.net/ebook/The%2...%20Language.rar <br />http://cpp.chinaccd.net/ebook/Thinkinc++.rar <br />http://delphideveloper.myrice.com/ <br />http://dir.sohu.com/computer/freeservice/computerbooks/ <br />http://download.wz.zj.cn/downhits.a...ebook/mfc2e.zip <br />http://download.wz.zj.cn/downhits.a...ebook/zd001.zip <br />http://download.wz.zj.cn/downhits.a...acker-class.chm <br />http://dzhang.yeah.net/ <br />http://ebook.it-pc.com/ ****时空咨询 <br />http://edu.netbig.com/rank/data/t3/...000402/6403.htm <br />http://frank.533.net/aspbook.html <br />http://ftp.cnuol.com/e_book/±à&amp;sup3;&amp;Igrave;/vc/ <br />http://ftp.cnuol.com/e_book/Unix_Linux/ <br />http://ftp.cnuol.com/e_book/windows/ <br />http://ftp.lib.pku.edu.cn:81/ <br />http://ftp.pcworld.com/pub/internet/ <br />http://ftp.xanet.edu.cn/pub/ <br />http://go7.163.com/~huibian/index.html ? ? ? ?汇编学堂 <br />http://gshulkin.hypermart.net/books/FreeVBBook.html <br />http://home.cyberarmy.com/micromaniz/ <br />http://home.kzinfo.net/getc/ ?内有?..可惜是PDF格式的 <br />http://home.online.tj.cn/~cavendish <br />http://home.wtwh.com.cn/download/ebookshelf.html <br />http://it.263.net/b/book/ <br />http://jjhou.csdn.net/ <br />http://lib.wuhee.edu.cn/book/computer.asp <br />http://linuxgazette.hopestar.org/ <br />http://members.spree.com/education/jackyhft/ <br />http://members.xoom.com/dgss_02 <br />http://oklink.soyou.com/dnsj/index5.htm <br />http://pcbook.51soft.com/ <br />http://pcbook.godcn.net/program/asm/ibmpc.zip IBM PC汇编语言程序设计 <br />http://pcbook.godcon.net/ 《MFC深入浅出》 <br />http://pcbooks.myrice.com/ <br />http://pclub.technoart.net/books/cpplang/ <br />http://rokinc.narod.ru/ <br />http://space.ustc.edu.cn/C++Builder/book/book.php <br />http://teach.wol.com.cn/down/asm/asm.zip 汇编源代码大全 <br />http://tmxcf.topcool.net/bkxzbook1.htm <br />http://toye.yeah.net/ ? ? ? ?密码破解 <br />http://vg.dyndns.org/ebook/ <br />http://web.gmg.ch/zoomout/windows2000/ <br />http://wenxue.lycos.com.cn/level/5011.html <br />http://wlbookwl.myrice.com/ Turboc2 win98ddkinc winsoftice-9x masm32v6.exe <br />http://wlbookwl.myrice.com/book.htm <br />http://www.bookbig.com/culture12.html <br />http://www.books24x7.com/ <br />http://www.bruceeckel.com/DownloadSites/ <br />http://www.certificationcorner.com/2000.htm <br />http://www.chian-pub.com/ <br />http://www.china-pub.com/computers/...ook_XiaZhai.htm <br />http://www.csdn.net/expert/jjhou/wi...opers-guide.pdf <br /><br /><br />http://www.ebooksou.com/ <br />http://www.eng.stu.edu.cn/ebook/ <br />http://www.eshunet.com/list0/08dn.asp <br />http://www.freedrive.com/ASP/PostFo...sp?fsc=15456975 <br />http://www.gbfocus.com/ <br />http://www.godcn.net/school/ ****帝华 <br />http://www.helpwork.net/ %%##???博士网 <br />http://www.helpwork.net/book/html/user/index.asp <br />http://www.helpwork.net/downdata/bo...++2/invcpp5.chm <br />http://www.hktk.com/soft/program/book/index.html <br />http://www.hyedu.com/ <br />http://www.jjhou.com/ <br />http://www.kubao.com/ <br />http://www.laohu.net/ <br />http://www.linuxdoc.org/LDP/lpg/node1.html <br />http://www.mayia.com/downshu/book/c_c015.zip <br />http://www.mayia.com/downshu/bookcity/index.asp <br />http://www.mcsdunion.com/ <br />http://www.mcsebraindumps.com/ <br />http://www.mcsetutor.com/freestuff.html <br />http://www.mikezqz.myetang.com/computeronline.htm <br />http://www.monumental.com/boat/computerbooks.html <br />http://www.net-sky.com/Computers_an...rnet/Education/ <br />http://www.nopayweb.com/ <br />http://www.pcbookcn.com/ <br />http://www.pchome.net/~/LJ/book/book3.htm <br />http://www.qdit.com.cn/software/programm/ <br />http://www.realvb.bizland.com/ <br />http://www.rokinc.cjb.net/ <br />http://www.startvweb.com/Computers_and_Internet <br />http://www.vr3d.com/personal.HTM <br />http://www.vvsoft.net/vvbkss/vvbkss.asp <br />http://www.winsite.com/hot/winnt.html <br />http://www.wuyou.org/wlbookwl/windowshxbc.zip 《windows核心编程》 <br />http://www.wuyou.org/wlbookwl/windowsp5.zip 《Windows程序设计第五版》 <br />http://www8.pconline.com.cn/ <br />http://yangnan.126.com/ ****白菜乐园 <br />http://zhanet.myrice.com/ *****化境 <br />http://zhwm.myrice.com/pcbook/index.htm <br />http://zjfeng.csw.cnshare.net/ <br />http://zjfeng.csw.cnshare.net/ <br />http://zjfeng.csw.cnshare.net/ <br />http://zjfeng.topcool.net/index.html <br />ftp://delphi:delphi@ftp.xxtax.gov.cn/ <br />ms html workshop <br />nihao.dlut.edu.cn/web/book <br />www.3322.net/~shii/TNT/crk_a.htm <br />http://www.helpwork.net/ <br />http://www.tech521.com/ <br />http://www.mycnknow.com/ <br />http://www.readease.com/ <br />http://wenxue.lycos.com.cn/ <br />http://www.taishen.net/ebook/ <br />http://www.helpwork.com/ <br />http://extend.hk.hi.cn/~kehubu/VBbooks.htm <br />http://ojava.uhome.net/ <br />http://www.mycnknow.com/ <br />www.guxiang.com/epubcn <br />http://www.pcbookcn.com/ <br />http://www.epubcn.com/ <br />http://free.21cn.com/lobby/zls/indexxux.htm <br />http://wlbookwl.myrice.com/c2book.htm <br />http://www.yuyux.com/ <br />http://www.ebooksou.com/ <br />http://www.ez-search.com/ <br />http://home.eshunet.com/ <br />http://www.3stonebook.com/ <br />http://www.mypcera.com/book <br />http://www.hao123.com/book.htm <br />ftp://166.111.164.147/ <br />http://www.rokinc.cjb.net/ <br />http://books.zone.ru/ <br />http://members.spree.com/education/jackyhft/ <br />http://www.realvb.bizland.com/ <br />http://lib.wuhee.edu.cn/book/computer.asp <br />http://zhanet.myrice.com/ *****化境 <br />http://it.263.net/b/book/ <br />ftp://win2k:abc123@63.236.67.26/ <br />ftp://216.233.144.210/~/~tagged%20by%20fietsbeller/ <br />http://zjfeng.csw.cnshare.net/ <br />http://vg.dyndns.org/ebook/ <br />http://www.pchome.net/~/LJ/book/book3.htm <br />http://www.mcsebraindumps.com/ <br />http://www.mcsdunion.com/ <br />http://www.kubao.com/ <br />ftp.gargoylewiz.dynip.com <br />http://delphideveloper.myrice.com/ <br />http://www.freedrive.com/ASP/PostFo...sp?fsc=14365878 <br />ftp://maestro.den.disa.mil /<br />http://rokinc.narod.ru/ <br />http://home.cyberarmy.com/micromaniz/ <br />http://www.helpwork.com/ <br />http://www.chinathink.net/edown/default.asp <br />http://www.bbook.net/gb/books/booksdefault.asp <br />http://www.hlepwork.net/ <br />http://www.mycnknow.com/srindex.htm <br />http://www.pcbookcn.com/ <br />http://www.ebooksou.com/ <br />http://bingle.pku.edu.cn/ <br />ftp://dlking:good_guy@coolwoo.dlking.com/ <br />http://www.xiaomai.org/ <br />http://www.pcbookcn.com/ <br />http://www.epubcn.com/ <br />http://www.id163.com/ <br />http://www.vvsoft.net/vvbksd/index.asp <br />http://free.21cn.com/lobby/zls/indexxux.htm <br />http://www.marcocantu.com/ <br />http://www.taishen.net/ebook/ <br /><br /><br />Flash制作高级教程版) <br />ftp://ebook:taishen@202.103.69.76/0293.zip <br /><br />所有诗词总汇-包括年代、作者查询 <br />是一个极全的诗词软件。 <br />http://www.cessd.com.cn/soft1/shici.zip <br /><br />中国鹰派网络安全教程 <br />http://www.zzpaper.com/renren/cn8341-5.rar <br /><br />ASP系列讲座 <br />这是最好的ASP教程，共分9个系列，分别从简到难的介绍ASP的方方面面，带有大量源码作为参考！强烈推荐！！ <br />http://lib.yctc.edu.cn/soft/020301/2128.zip <br /><br />超级菜鸟黑客速成图文教程 <br />http://www.softsdown.net/down/ncchacker.zip <br /><br />Windows XP "手把手" 教程专业版 <br />国外的学习软件实在做的非常出色，不但在技术表现出色（动画结合智能程序），而且设计的非常周到，可以让你来模拟操作XP，虽然是英文版，但还是非常值得推荐。这款软件共有两个版本，一个是针对家庭版（home）的xp教程，一个是针对专业版的教程（其实这个已经包括了家庭版），所以我选择了专业版提供下载，非常值得推荐，尤其是正在使用或打算使用xp的网友。 <br />http://hnftp.soft163.com/xpclass.zip <br /><br />《SQL Server 2000 编程员指南》PDF格式， <br />ftp://dl3.51soft.com:8384/sql004.zip <br /><br />数据结构算法与应用-C 语言描述 <br />本书是关于计算机科学与工程领域的基础性研究科目之一??数据结构与算法的专著。 本书在简要回顾了基本的C++ 程序设计概念的基础上，全面系统地介绍了队列、堆栈、树、图等基本数据结构，以及贪婪算法、分而治之算法、分枝定界算法等多种算法设计方法，为数据结构与算法的继续学习和研究奠定了一个坚实的基础。更为可贵的是，本书不仅仅介绍了理论知识，还提供了50多个应用实例及600多道练习题。本书内容广博权威，结构清晰合理，是一本全新的有关数据结构与算法的教材，对于计算机科学与工程领域的从业人员也是一本很好的参考书。 <br />http://www.dbgnu.com/ebook/85.zip <br /><br />WINDOWS网络编程技术 <br />本书专门讨论Windows网络编程技术，覆盖Windows 95/98/NT 4/2000/CE平台。内容包括NetBIOS和Windows重定向器方法、Winsock方法、客户端远程访问服务器方法。本书论述深入浅出、用大量实例详解了微软网络API函数的应用。配套光盘包含了所有实例代码，方便读者使用。本书适合中、高级程序设计人员以及网络设计与管理人员参考 <br />http://www.dbgnu.com/ebook/60.zip <br /><br />数据通讯与网络教程 <br />本书系统地介绍了数据通信和计算机网络领域的基本内容。在第1版的基础上，修改和增加了新的内容，包括无线和卫星通信、有线电视电缆调制解调器、压缩技术、密码技术、防病毒、100 Mbps以太网、NetWare 4.0、边界网关协议、域名系统、IPv6、异步传送模式、使用客户/服务器模式来实现文件传送协议及开发Web网页等。在内容和结构安排上，注意理论与实际应用的结合，每章后面既有复习题，又有练习题。本书适合作为计算机科学专业本科生的教材，也可供教师和从事该领域设计或应用的研究人员用做参考书 <br />http://www.dbgnu.com/ebook/28.zip <br /><br />中文LOTUS NOTES R5 web高级编程 <br />http://www.kaihong-clothes.com/ebook/150.zip <br /><br />C++ Builder 5编程实例与技巧 <br />前言 2000年上半年，Inprise公司(原Borland公司)推出了C++Builder的最新版本：C++Builder 5。C++Builder 5继承了以前版本的优点，并在此基础上增添了许多新的功能，比如在ADO、数据模块设计、IBX、MIDAS、CORBA、程序调试、VCL、窗体框架和桌面定义等方面都增强了许多，可以极大地提高软件系统的设计、管理和开发的速度。此外，由于C++Builder在学习过程中很容易上手，而且功能也非常强大，尤其在界面设计、Windows编程、数据库编程和网络编程等方面更具独到之处，是其他一些软件开发工具无法比拟的。本书分六个部分，共25章，主要介绍了C++Builder集成开发环境、C++语言关键技术、组件、通用编程技术、动态链接库、多线程、多媒体编程、数据库编程、网络编程和 Windows API编程等。参加本书编写工作的主要有：朱时银、马承志、杨飞和王华等。此外，梁志刚、张延鑫、秦宇海、陈学林、柳海军、叶爱亮、石玉华、倪凤月、詹武平、武少青和郑再军等广泛地进行了资料收集、例程验证，并做了细致的校对。在本书的编写过程中，曹凌云、祁立学、黄家贵、王成、赵雷鸣、刘存根、马兴义和李刚等也提供了许多帮助。尤其感谢张世芳每天打来的电话。机械工业出版社华章公司在本书的出版过程中给予了大力的支持与帮助，在此一并表示衷心的感谢。由于作者水平有限，书中难免存在错误和疏漏之处，恳请读者批评、指正。 编著者 2000年7月 <br /><br /><br />导读本书特色本书具有下面的一些特色： (1) 例程精练、实用、完整，易于查找本书的例程丰富，短小精练。在每章的前面部分，以一定的篇幅对基本理论、知识要点等进行论述；然后以经典的例程加以说明；最后对例程进行分析和总结。书中的例程完整，并全部按照章号进行了编号。在随书的光盘中有这些例程的源代码和编译、链接后的可执行文件。读者可以使用随书光盘中的“复制”程序(可执行文件为D5Samples.exe)将例程复制到硬盘的指定位置，也可以通过资源管理器进行复制。另外，对于每个例程都指定了若干个关键字，可以根据关键字查找相关知识点的例程。 (2) 编程技巧丰富作者将自己在开发程序过程中总结、收集的经验和教训、一些读者在编程过程中遇到的问题等融合在本书中，并且将这些编程技巧尽量独立，便于读者快速查找。 (3) 内容广泛，兼容性强本书几乎涉及了C++Builder编程的所有领域，不仅适用于C++Builder 5，而且也适用于C++Builder 4和C++Builder 3等以前的版本。 (4) 体现了面向对象的技术和软件工程化的思想本书从总体上体现了面向对象程序设计的方法，同时将软件工程化的思想融于其中。内容编排本书主要分为下面的六个部分：第一部分 C++Builder编程基础 C++ Builder编程基础包括：C++Builder集成开发环境的介绍和C++语言的关键技术。第二部分 C++Builder编程通用技术 C++ Builder编程核心技能包括：窗体和组件、菜单、工具栏和状态栏、键盘和鼠标、文件、目录和驱动器以及打印等。第三部分 C++Builder高级编程技术 C++Builder 高级编程技术包括：数据共享、操作注册表、帮助系统的制作、安装与卸载、多线程应用程序、动态链接库和图形与多媒体等技术。第四部分数据库编程数据库编程部分包括：关系数据库、数据库组件、InterBase服务器、OLE DB/ADO和Web与数据库等。第五部分组件对象模型(COM) 组件对象模型(COM)包括：COM和OLE自动化等内容。第六部分分布式程序设计分布式程序设计包括：DCOM、MIDAS、ActiveFORM、CORBA与分布式应用程序，以及其他的一些编程方法与技巧。阅读建议对于C++Builder的初学者，可以按顺序进行阅读。如果读者对C++语言有一定的了解，也可以直接从第二部分开始，待使用C++Builder编程有了一定的经验后，再回过头来看看第一部分的内容。对于C++Builder的中级用户，可以按章节顺序阅读、上机，也可以直接挑选感兴趣的章节学习。值得注意的是，第一部分的内容对使用C++语言进行软件开发非常有用，一定要掌握好。对于C++Builder的高级用户，可以直接挑选感兴趣的章节阅读。 <br />http://www.kaihong-clothes.com/ebook/154.zip <br /><br />《xml高级编程》 <br />好东西，《xml高级编程》可以节约95块大洋！ <br />http://www.dbgnu.com/bcb/ebook/176.zip <br /><br />新编Win32 API大全 <br />ftp://challenger:heijin@211.97.180.8/Win32API.chm <br /><br />南开大学``计算机网络``课程笔记 <br />http://211.81.22.13/download/jisuanjiwangluo.zip <br /><br />自学TCP/IP <br />http://210.40.4.9/s/doc/network/tcpip.zip <br /><br />自学Netware <br />http://210.40.4.9/s/doc/network/NETWARE.zip <br /><br />局域网与Novell安装和指令 <br />http://210.40.4.9/s/doc/network/netnovell.zip <br /><br />计算机网络（适用于系统程序员） <br />http://210.40.4.9/s/doc/network/network.zip <br /><br />UNIX V4.0使用大全。 <br />http://210.40.4.9/s/doc/system/UNIX4.zip <br /><br />Netware4.X网络规划和维护 <br />http://210.40.4.9/s/doc/network/NETWARE4.zip <br /><br />Novell4.XX实用手册 <br />http://210.40.4.9/s/doc/network/NOVELL4.zip <br /><br />大富翁论坛 离线数据库 CHM 版 2001.1123（180M） <br />大富翁论坛是一个专门讨论Delphi的技术论坛，上面高手如云，是国内人气最盛、质量最高的Delphi讨论站。本文件根据该论坛的离线数据包生成，支持全文检索，话题ID检索，并实现了自动换行。由于某些话题正文中的HTML Tag会干扰CHM的生成，所有正文的HTML Tag 已全部转成明文。其中话题ID：316846、362735、412795由于某种原因（不清楚）会使HTML Help Workshop产生非法操作错误，已在生成时自动忽略。 <br />http://210.40.4.9/s/doc/delphi/dfw.chm <br /><br />爆笑网文千篇 <br />http://www.cessd.com.cn/soft1/baoxiao.zip <br /><br />Visual C++ 6.0 21天自学教程 <br />ftp://211.90.241.28/learn/zvc6_book.zip <br />微软认证考试全攻略教程 <br />ftp://download.zj165.com/learn/mcse-gb.exe <br /><br />电脑报》2001年合订本电子版 <br />ftp://download.zj165.com/learn/dnb2001.rar <br /><br />VB6循序渐进教程 <br />学习Visual Basic 6的好教材，适用于从初学者到程序员的各个层次。读取工具可从本站下载。 <br />ftp://download.zj165.com/learn/MVB6.WDL <br /><br />C++ Builder 教学源代码大集合 <br />十七类共一百二十个优秀 C++ Builder 教学源代码大集合!!! 让你二十天内玩转C++ Builder 。 <br />http://210.40.4.9/s/prog/c/cbssetup.exe <br /><br />javascript 使用祥解》 <br />http://read.cnread.net/dnwl/cxsj/java/download/jscr.zip <br /><br />《Microsoft Visual J++ 6.0 Now 即学即用》 <br />http://read.cnread.net/dnwl/cxsj/java/download/jxjy.wdl <br /><br />《JAVA 语言与其程序设计范》 <br />http://read.cnread.net/dnwl/cxsj/java/download/yyyq.zip <br /><br />中华诗词六万 60000（简体XP版） 4.7.22 <br />ftp://zhtx:letmein@zhtx.net:2500/poems60k.zip <br /><br /><br />WinXP控制台主要命令的解释 <br />ftp://61.159.224.20/software/windowsxp.dos.zip <br /><br />Photoshop 6.0中文教材（cool） <br />http://www.flash8.net/file/soft/f/Photoshop6jc.zip <br />浪漫文集 <br />浪漫，存在于生活中的点点滴滴，把这点点滴滴的浪漫汇集起来，细细品味这一份份温馨的回忆，喔……原来生活是充满浪漫的。 <br />http://210.40.4.9/s/other/interest/romance.zip <br /><br />Linux参考大全 <br />《Linux 参考大全》 Internet应用，Unix功能，系统管理以及编程。本书第一部分介绍Linux的安装、启动，以及Linux所包含的大量可下载的窗口管理器、工作平台的基本操作和概念。第二部分为用户在Linux上工作，教授了一套基本的Linux操作技术。第三部分详细地讨论了Linux系统在Internet 上的许多应用，介绍了如何通过Linux自动安装、使用Internet浏览器、服务器，以及诸多的Internet应用程序和Internet工具，还讨论了使用所述工具、应用程序进行网络应用。第四和第五部分介绍了Linux作为一种Unix操作系统的特点，讨论了Unix过滤器、Shell编程、标准编辑器及其使用技巧。第六部分介绍了系统、网络和X Windows管理，以及Linux编程…… <br />http://210.40.4.9/s/doc/linux/LINUX.zip <br /><br />电脑报2001年合订版 电子版-----超级推荐 <br />解压密码：<a href="http://www.liuxm.com/" target="_blank"><font color="#000000">http://www.liuxm.com/ </font></a><br />完整的光碟压缩，除去不必要的音乐和软件，整套2001年电脑报的精彩文章，你还不赶快收入？DOWN.... <br />http://www.liuxm.com/download/doc/mzsx/dnb2001.zip <br /><br />软件破解入门教程与解密常用手册 <br />作为一个电脑爱好者，相信手头一定有不少酷软，但往往这些软件有各种限制，所以你是不是常常为了一个小小的注册码，而经常头痛呢？是不是为了找到一个软件的注册码而费尽心机呢？但大家是否想过自己来破解软件得出注册码？ <br /><br />? ?你也许会说太难了，网上找一个注册码得了，如果你是用自己的技术把软件注册了，一定会有另一番美妙感受。况且一些软件不一定在刚想用的时后，网上就能找到注册码的。 <br /><br />? ?其实破解的乐趣远不在此。 <br /><br />? ?当你去破一个软件时，那种对知识的渴望，对技术的追求，将使迫使你勤奋的学习，来不断的完善自己的知识。特别是对电脑的了解，会有一个质的飞跃。 <br /><br /><br />＊ 推荐使用网络蚂蚁下载本站软件，如果您发现链接错误或其它问题，请到本站“软件咨询点播区”查找或留言，我们会尽快给你答复。 <br />＊ 欢迎广大作者给我们提供软件以及使用说明。【告诉好友】 【评论投票】3354 <br /><br />http://www.liuxm.com/download/doc/mzsx/cracker.chm <br /><br />全方位的BIOS优化手册 <br />http://www.xfsjsoft.com/down/wysc/awen/bios.rar <br /><br />中外诗歌经典12000 1.0 <br />中外诗歌经典（程序版本1.0.2002，诗歌数据库版本1.0.12000）是搜集古今中外著名诗词、诗歌的程序。其中搜集中外作家四百六十余人，搜集诗歌一万二前首（未注册版本只能显示四千首）。其中中国部分包括了中国著名诗词作家的广为流传、脍炙人口的代表作品。外国部分包括了部分诺贝尔文学奖获得者以及一些著名诗人的作品。作品全部经过认真校对。拥有完整的诗人作家简介和诗歌格式说明。完善的诗歌查找功能。对喜好诗歌提供收藏夹功能，方便阅读。 ? <br />ftp://3395686417/newsoft1/poetryleewheel.exe <br /><br />古龙小说全集,CHM文件格式，很方便阅读哦！！ <br />http://61.166.122.174/soft/bookdown/wxxs/glxss_all.chm <br /><br />《中国古典名著百部》72M <br />《中国古典名著百部》－中国古典名著百部，精选了我国历代具有代表性的哲学、历史、小说、文学理论、戏曲、散文诗词、地学、物理学名著50种，共计100部。所选作品价值大、流传广、成就高，或代表一个流派，或开创一时之风，或成就一家之言，深刻影响着当时和我们现在的社会生活，是世界文明的辉煌篇章，具有很高的阅读、欣赏及收藏价值。?请用 WinRar中文版 2.8 解压缩 中文 Acrobat 观看。 <br /><br />http://210.40.4.9/s/edu/human/china.rar <br /><br />《大唐双龙传电子版》（全） <br />http://210.40.4.9/s/other/special/%...C1ú&amp;acute;&amp;laquo;.zip <br /><br />中国青年 杂志2001年合订本 <br />中国青年杂志近年来越办越好，深受广大中青年朋友的推崇，其中有许多文章提出了青年们值得深思的问题,是工作和生活的指南，是开阔视野充实人生观的好帮手。现把2001年全部杂志内容打包成E书，提供给大家阅读。希望大家能够喜欢。 <br />http://210.40.4.9/s/other/special/spark.chm <br /><br />电子书籍[寻秦记].解压密码：myis.yeah.net <br />http://scangel.cpgl.net/zty/homepage/download/book.rar <br /><br />金庸全集（PDF版)版本45M <br />“飞雪连天射白鹿，笑书神侠倚碧鸳”所引出的14部金庸小说曾经风靡全球，小说一经问世，就如石破天惊，震烁文坛，成为中国文学史上的一大奇观，其读者更是遍布世界，人们百读不厌。随着电脑的普及和人们阅读习惯的改变，电子图书热潮正在国内图书界和软件业掀起。近日，青苹果数据中心推出获得著作权许可的《金庸武侠小说全集》电子版。 <br />http://61.166.122.174/soft/down/story/jinyong.zip <br /><br /><br />破解精华教程 1400篇大作！解压密码为: myis.yeah.net <br />http://www.tacwire.com/myis3/t/1204/c3.rar <br /><br />《中国计算机教育报》2001年上半年合订本 <br />ftp://www.activeedu.net:22/0000/090...001-1-noimg.rar <br /><br />最全的一套ASP教程 <br />http://www.caiqing.net/openfile.asp?id=383 <br /><br />《计算机应用文摘》2001年上半年合订本 <br />计算机应用文摘》是一本在国内颇具影响力的普及型IT刊物，风格鲜明、综合性强。全刊138页，8个彩页，分新闻与综述、硬件大看台、软件风景线、网络新时代四个版块。本刊内容选择贴近读者，实用性很强，难度设置合理，采用专题式操作，每期推出几个专题，为用户就某一问题提供全面的知识和解决方案，特别适合初、中级电脑用户阅读。由于各种原因，许多朋友需要电子版的《计算机应用文摘》，但是苦于上网不方便和钞票的原因不能时刻在网上浏览杂志的各篇文章，这不能不说是一种遗憾。西部电子weste.net的icech利用业余之便，免费为大家下载《计算机应用文摘》杂志，并且打包成文件，提供给大家阅读。希望大家能够喜欢。 <br />ftp://dl3.51soft.com:8384/jsjyywz001.zip <br /><br /><br />《大众软件》2001年合订本（上） <br />《大众软件》杂志是我们软件爱好者最喜爱的杂志之一，内容丰富、形式灵活，有极高的收藏和保存价值。由于各种原因，许多朋友需要电子版的《大众软件》，但是苦于上网不方便和钞票的原因不能时刻在网上浏览杂志的各篇文章，这不能不说是一种遗憾。西部电子weste.net的icech利用业余之便，免费为大家下载《大众软件》杂志，并且打包成文件，提供给大家阅读。希望大家能够喜欢。 <br />ftp://dl3.51soft.com:8384/dzrj001.zip <br />《大众软件》2001年合订本（下） <br />http://www.nease.net/~icech/ebook/popsoft2001_2.rar <br /><br /><br />各种E书的下载链接（转贴来的，未经验证（下不了可别怪我哟），与大家分享） <br />《黑客攻防指南》是由黑白网络发布的期刊，共有以下几个栏目：黑客入门，系统漏洞，基础知识，网管天地，病毒信息，业内新闻，工具介绍，特别奉献，主要是一些黑客与网络安全及病毒相关的技术文章等 <br />http://www.heibai.net/download/show.php?id=2837&amp;down=1 <br />看雪学院的破解论坛精华4,爱好破解的朋友不可错过哦. <br />http://www.heibai.net/download/show.php?id=2284&amp;down=1 <br /><br />《黑客攻防指南》是由黑白网络发布的期刊,由星坤策划，傲者少言设计制作，每月的第一个周日发布。内容主要是一些黑客与网络安全及病毒相关的技术文章等，每期杂志共有大小文章教程100篇。主要栏目有：rn黑客入门，主要介绍一些入侵方式方法，知道了黑客是如何进入您的机器的，才能更好的防御。 rn系统漏洞，是各种操作系统、软件的新漏洞以及比较经典的漏洞资料，以及相关补救措施。 rn技术文摘，包括的面比较广泛，但还是以网络安全为主题的各种技术文章，是您提高各种技术的最佳学习途径。 rn病毒信息，这个栏目提供各种病毒预告，各种恶性病毒代码，方便大家学习防御。 rn业内新闻，顾名思义，就是黑客与网络安全界的一些新鲜事啦。rn工具介绍，恐怕是菜鸟们的最爱啦，让您在最短的时间内，体验到入侵或抵挡黑客进攻的快感，为了方便大家学习，我们尽量找些带图片讲解的文章。rn特别奉献，我们会不固定的给大家一个惊喜，或许会提供些基础知识给大家，或许是一些有漏洞的外国机器IP，或许是黑白会员软件的密码，也许是我们搜集到的代理地址等，还有，每个月黑白网络更新的所有软件列表也会在特别奉献中，这样您只要一个月看一次电子杂志，就可以得到最新的软件，看到最新的黑客文章。rn 我们每天有专人，在网上各大安全论坛，黑客、红客、专业网络安全公司的网站为您收集最新最好用的文章，还有广大网友的投稿，更有我们扫描的正式出版物的文章，并有专人制作排版，绝对是黑客及网络爱好者珍藏的好东东啊。 <br />http://www.heibai.net/download/show.php?id=2216&amp;down=1 <br /><br />第一时间给自己的NT/2000服务器打补丁 ,PDF格式 <br />http://www.heibai.net/download/show.php?id=2081&amp;down=1 <br /><br />修改IIS的BANNER实现操作系统版本的隐藏 ,PDF格式 <br />http://www.heibai.net/download/show.php?id=2080&amp;down=1 <br /><br />一次入侵教程FLASH版本，吐血推荐 <br />http://www.heibai.net/download/show.php?id=2027&amp;down=1 <br /><br />MySQL中文手册,HTML格式带图片教程。 <br />http://www.heibai.net/download/show.php?id=1902&amp;down=1 <br /><br />《黑客速成》以多媒体为传播手段，生动翔实的介绍了黑客工具的具体用方法和一些基本的网络常识，其中有很多演示，可以让使用者迅速掌握技术技巧，它可以使你轻轻松松进入黑客大门，是从图片教程到多媒体教程的一次质的飞跃 <br />http://www.heibai.net/download/show.php?id=1482&amp;down=1 <br /><br />Linux internet应用 <br />http://www.heibai.net/download/show.php?id=515&amp;down=1 <br /><br />linux 提示与技巧 里面有好多的提示和技巧，不可不看的！ <br />http://www.heibai.net/download/show.php?id=514&amp;down=1 <br /><br />Linux 系统管理员手册（中文版） <br />http://www.heibai.net/download/show.php?id=513&amp;down=1 <br /><br />《黑客的攻击手段及用户对策》 PDG格式超星阅读器阅读 <br />http://www.heibai.net/download/show.php?id=279&amp;down=1 <br /><br />《天网防火墙个人版2.0教程》 HTML格式 <br />http://www.heibai.net/download/show.php?id=276&amp;down=1 <br /><br />《104种清除木马方法》 CHM 帮助文件格式。 <br />http://www.heibai.net/download/show.php?id=274&amp;down=1 <br /><br />Linux 参考大全 WDL格式中文教程 需用华康图书阅读器 DynaDoc阅读本书分六大部分26章，介绍了四个主要的Linux主题：Internet应用，Unix功能，系统管理以及编程。本书第一部分介绍Linux的安装、启动，以及Linux所包含的大量可下载的窗口管理器、工作平台的基本操作和概念。第二部分为用户在Linux上工作，教授了一套基本的Linux操作技术。第三部分详细地讨论了Linux系统在Internet上的许多应用，介绍了如何通过Linux自动安装、使用Internet浏览器、服务器，以及诸多的Internet应用程序和Internet工具，还讨论了使用所述工具、应用程序进行网络应用。第四和第五部分介绍了Linux作为一种Unix 操作系统的特点，讨论了Unix过滤器、Shell编程、标准编辑器及其使用技巧。第六部分介绍了系统、网络和XWindows管理，以及Linux编程。这一部分前段特别强调了特殊系统管理工具的使用，包括如何通过Linux平台应用这些工具设置网络，配置文件、管理器、应用程序等。后段第23章以后讨论了Linux编程。rn <br />http://www.heibai.net/download/show.php?id=273&amp;down=1 <br /><br />骇世黑客。网络时代，黑客惊世骇俗的智力和行为引发了世界经济、军事、科技、个人生活各方面的震荡，本书为您提供一幅洞悉黑客神秘的智力杀拼的全景图像。 <br />http://www.heibai.net/download/show.php?id=268&amp;down=1 <br /><br />《因特网的防火墙》中文教程，需要SSReader超星图书阅读器阅读 <br />http://www.heibai.net/download/show.php?id=263&amp;down=1 <br /><br />21世纪网络工程师设计宝典丛书 网络核心技术内幕??网络攻击秘航笈 ，中文教程、PDF文件 <br />http://www.heibai.net/download/show.php?id=255&amp;down=1 <br /><br />21世纪计算机网络技术系列书---面向21世纪网络安全与防护，中文教程、PDF文件。 <br />http://www.heibai.net/download/show.php?id=254&amp;down=1 <br /><br />Adobe Acrobat Reader V5.0.1 简体中文版 是一个查看、阅读和打印PDF文件的最佳工具.（*.pdf 文件）需要此程序打开。 <br />http://www.heibai.net/download/show.php?id=253&amp;down=1 <br /><br />学习HTML语言 <br />http://www.hoodle.net/dzbook/down/16/HTML-GB.zip <br />5日精通CSS样式表 <br />http://www.hoodle.net/dzbook/down/16/5css-gb.exe <br /><br />网页制作技巧与常见问题 <br />http://www.hoodle.net/dzbook/down/16/001pageskill.zip <br /><br />Web服务器OmniHTTPd安装手册 <br />http://www.hoodle.net/dzbook/down/16/omnihttpd.zip <br /><br />网页制作特效 <br />http://www.hoodle.net/dzbook/down/16/webeffect.exe <br /><br /><br />网站设计的思考 <br />http://www.hoodle.net/dzbook/down/16/013thinkdesign.zip <br /><br />ASP技巧文集 <br />http://www.hoodle.net/dzbook/down/1/jiqia.zip <br /><br />FIREWORK之中文帮助 <br />http://www.hoodle.net/dzbook/down/1/Fw4HelpCn.zip <br /><br />dreamweaver之中文帮助 <br />http://www.hoodle.net/dzbook/down/1/Dw4HelpCn.zip <br /><br />网络编程之ASP <br />http://www.hoodle.net/dzbook/down/1/asp.exe <br /><br />ASP基础教程 <br />http://www.hoodle.net/dzbook/down/1/ASP-GB.zip <br /><br />flash技巧汇粹 <br />http://www.hoodle.net/dzbook/down/8/flashjq-gb.zip <br /><br />网络编程之javascript <br />http://www.hoodle.net/dzbook/down/12/javascriptjc.exe <br /><br />Java程序设计技巧1001例 <br />http://www.hoodle.net/dzbook/down/12/04021.zip <br /><br />javascript教程 <br />http://www.hoodle.net/dzbook/down/12/005javascript.zip <br /><br />JAVA的思考 <br />http://www.hoodle.net/dzbook/down/12/thinkinjava.zip <br /><br />XML基础教程 <br />http://www.hoodle.net/dzbook/down/5/xml_basic.zip <br /><br />ASP开发者必备的参考资料 <br />这是nbhero我在写程序的时候经常要用到的一些资料，包含了： <br />vbscript 5 的语法帮助文件； <br />vbscript 5.5 的语法帮助文件； <br />javascript 5 的语法帮助文件； <br />ADO 2.1的帮助文件； <br />DHTML的对象的属性/方法/事件等的帮助文件； <br />基于微软JET引擎的SQL语句的帮助文件； <br />这些帮助文件无论对初学者还是高手都有帮助，当作词典来用也不错。 <br />http://61.132.182.156:81/soft/book/aspbook.rar <br />《大众软件》2002年上半年合订本，共12期，没买书的朋友有福了。 <br />ftp://202.102.234.15:27/edu/ebook/pop2002a_weste.exe <br /><br />电脑教育报2002上半年合订本，绝对是收藏上品！不过遗憾的是文件有点太大，有66M，不是宽带的朋友需要些时间了，但是还是非常值得下载的！ <br />解压密码：<a href="http://www.169s.com/" target="_blank"><font color="#000000">http://www.169s.com/ </font></a><br />ftp://202.102.234.15:27/edu/ebook/cce2002-a.rar <br /><br />电脑报2001年合订本（上下） <br />http://www.hldqptt.net.cn/downloads/diannaobao2001.exe <br /><br />WORD2000教程 <br />http://www.hldqptt.net.cn/downloads/word2k.zip <br /><br />FRONTPAGE2000教程 <br />http://www.hldqptt.net.cn/downloads/frontpage.zip <br /><br />INTERNET入门教程 <br />http://www.hldqptt.net.cn/downloads/internet.zip <br /><br />OUTLOOK2000教程 <br />http://www.hldqptt.net.cn/downloads/ol2k.zip <br /><br />硬件基本知识教程 <br />http://www.hldqptt.net.cn/downloads/hard.zip <br /><br />Oicq教程 <br />http://www.hldqptt.net.cn/downloads/oicq.zip <br /><br />Windows2000教程 <br />http://www.hldqptt.net.cn/downloads/win2000.zip <br /><br />网络连接基础教程 <br />http://www.hldqptt.net.cn/downloads...ianjiejichu.zip <br /><br />Red Hat Linux 5.1安装指南 <br />http://www.hldqptt.net.cn/downloads/ <br /><br />HTML4.0手册 <br />http://www.hldqptt.net.cn/downloads/html40.zip <br /><br />注册表使用手册，分为系统安全、系统优化、网络、系统DIY(杂项)等几个专题栏目。 <br />http://ftp.pconline.com.cn/pub/down...00203/reg23.zip <br /><br />Flash MX 5日通 <br />很难相信自从2000年7月 Flash 5的正式发布到现在几乎快两年了，对于下一代的Flash面市我们等的太久。然而，让我首先告诉你的是对与新版本的flash你不会感到失望，无论是用户界面（UI)，还是使用工具。这不是上个世纪的已经过去的那个flash。就象我 一样，也许你不是一个伟大的程序开发人员，但是，新版的flash 内建的动作脚本（Action Script）足可以使你热情满怀，信心十足，动作脚本开发环境的改进和功能的增强绝不是轻量级的。看看FlashMX到底有什么新的和改进的特征 <br />http://zhongwx.533.net/911/FlashMX5day.rar <br /><br />win2000教程（完全） <br />http://www.hongen.com/pc/newer/os/win2000/w1.htm <br /><br />电脑硬件维修手册 <br />http://images.21cn.com/download/fil...o/20716/1-1.exe <br /><br />由祺天大圣精心制作的电子杂志，每周一发送，网虫的必备上网手册。收集了每周网络精华文章、软件、小东东。现已出至第44期。 <br />http://www.xzdd.com/babyshen/magazine/2002/2002-1.rar <br /><br />三部关于服务器的E书 <br />第一部 <br />Apache服务器配置全攻略 <br /><br />第二部 <br />Web服务器大扫除 <br /><br />第三部 <br />Windows2000 DNS 技术指南 <br />http://202.98.111.124:5928/bu/123/ebook.rar <br /><br />java全部教程共九章你也可在线学习可不要错过啊！ <br />http://www.china3y.com/soft/Java.exe <br /><br />网络公司创建指南 <br />http://ebook.best.163.com/netcom.zip <br /><br />大众软件2002（1－10期） <br />http://61.179.118.98/soft/2002/2002061210.rar <br /><br />搜索引擎策略 <br />http://ebook.best.163.com/search.zip <br /><br />PHP教程 <br />http://ebook.best.163.com/php.zip <br />网络管理员培训资料 <br />http://ebook.best.163.com/webmaster.zip <br /><br />一步一步学Flash <br />http://ebook.best.163.com/stepflash.zip <br /><br />HTML简明导引 <br />http://ebook.best.163.com/html-cn.zip <br /><br />网页设计调色板 <br />http://ebook.best.163.com/color.zip <br /><br />77种网络新经济 <br />http://ebook.best.163.com/77.exe <br /><br />大众软件2002（1－10期） <br />http://61.179.118.98/soft/2002/2002061210.rar <br /><br />SQL Server 2000菜鸟进阶,从安装到使用,让你入门 <br />http://www.zgcszsc.com/downs/software/study/sqlbook.exe <br /><br />XML初学进阶 <br />分为十章详细介绍XML标准的语法和应用。第一章，我们简单介绍一下什么是XML，并将回顾 <br />XML的发展史。从第二章到第四章，我们分别从XML语法、DTD和样式单三方面详细介绍XML的三 <br />个基本要件。在第五、第六章中，我们从与XML相关的协议和软件工具两个角度来分析XML的使 <br />用现状。第七、八、九章，我们将讨论一些与XML相关的更深层次的内容，包括XML链接、XML <br />DOM以及XML与数据库的连接。最后，在第十章，希望诸多网友和我们一起，仁者见仁，智者 <br />见智，共同为XML未来的应用和发展方向作一个前景规划！ <br />http://211.96.2.136/asp300/soft/other/xmlcxjj.zip <br /><br />全书共十章，一个附录，223页,全面介绍ASP+的基础语言，是学习的基础。 <br />http://211.96.2.136/asp300/soft/other/vb-vbnet.zip <br /><br />Win2000服务器设置全攻略-教程 <br />http://download.allin.net.cn/down/1930.zip <br /><br />局域网概念和组成 <br />http://www.51/&lt;a%20href=/" target="_blank"&gt;<a href="http://www.51www.net/download/lan2.zip" target="_blank"><font color="#000000">http://www.51www.net/download/lan2.zip </font></a><br /><br />《JSP教程》 <br />http://www.51/&lt;a%20href=/" target="_blank"&gt;<a href="http://www.51www.net/download/JSPbook.zip" target="_blank"><font color="#000000">http://www.51www.net/download/JSPbook.zip </font></a><br /><br />《循序渐进学习XML》 <br />http://www.51/&lt;a%20href=/" target="_blank"&gt;<a href="http://www.51www.net/download/xml.zip" target="_blank"><font color="#000000">http://www.51www.net/download/xml.zip </font></a><br /><br />DivX 全中文制作最强攻略 Ver 1.1（强烈推荐） <br />11500字，配图65张，PDF格式。 <br />http://downcenter.mycol.com/divx20020215/DivXall.pdf <br /><br />AutoCAD 2000 三维造型高级培训教程 <br />http://hnftp.soft163.com/autocad2000_3d_advance.zip <br /><br />AutoCAD 2000中文版技术大全 <br />http://hnftp.soft163.com/AutoCad2000dq.zip <br /><br />单机架站全攻略 <br />现在的宽带越来越普及了，想不想让你一台普通的电脑成为一台有自己的网页，自己的FTP服务，自己论坛服务，自己的邮件服务的全功能服务器呢，单机架站全攻略可以手把手教你 <br />ftp://61.159.224.3/softw/allserver.chm <br /><br />POWERBUILD6.5编程宝典 <br />http://www.xjshz.com.cn/acdown/down/pb6.5.zip <br /><br />电脑报 2001 年合订版电子版 <br />http://www.6266.net/yaka/2998.zip <br /><br />WINDOWS_2000注册表管理PDF格式 <br />本书揭示了Windows 2000注册表的强大功能。它提供了450余个问题的解决方案，涉及系统管理、硬件系统、网络协议、打印管理、远程访问、系统安全、IIS、COM＋、 SQL Server、多媒体、MTS和Internet Explorer等众多方面。本书是Windows 2000系统管理员必备的参考书。它是系统管理员用来直接解决最困难、最复杂问题的最新参考资料。 <br />ftp://www.mesky.net/books/pdf_windows_2000reg.rar <br /><br />MYSQL网络数据库指南PDF格式 <br />MySQL 是完全网络化的跨平台关系型数据库系统，同时是具有客户机/服务器体系结构的分布式数据库管理系统。它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点，用户可利用许多语言编写访问MySQL 数据库的程序，另外，MySQL在UNIX等操作系统上是免费的，在Windows操作系统上，可免费使用其客户机程序和客户机程序库。本书通过两个实例，详细介绍了MySQL的基本概念、基本技巧、编程方法、管理特点，以及第三方工具（如PHP和Perl）的使用方法。本书还提供了大量与MySQL有关的因特网站点，以及获得MySQL的技术支持方法。 本书适合数据库、网络开发与管理等人员参考 <br />ftp://www.mesky.net/books/pdf_mysql_databass.rar <br /><br />网络管理员培训资料 <br />非常不错的网络管理员培训资料，如果你要成为一位成功的网络管理员就应该看看！ <br /><br />培训资料里面的文件是PowerPoint文件，只要完全安装了Office就可以看了！ <br />ftp://fwduser:aladown@211.154.52.165/webmaster.rar <br /><br />Windows 2000 Server资源大全1-6卷（pdf格式） <br />解开压缩包后，当阅读时会提示输入密码，密码就是空格！解压密码：<a href="http://www.soft163.com/" target="_blank"><font color="#000000">http://www.soft163.com/ </font></a><br />http://hnftp.soft163.com/Win2K_Serv.rar <br /><br />《孙子兵法》是中国古代一部著名兵法，相传为先秦时的大军事家孙武所著。这部兵法，已被世界各国公认为是最富哲理性和发生着深远影响的兵法。凡读过这部兵法的人，不仅会感觉到其有一种独抵华屋之下、一览群小的气度，而且还会倾心仰慕它所蕴含的深邃而奥秘的思辨内容，博大而精深的军事学说内涵，清新而鲜明的实践风格，以及辞如珠玉的文学性语言。其问世虽已有两千五百年之久，但它因为所包容的一些哲学思维，以及在这些哲学文化意识指导下所阐述的战争规律和原则，至今仍然闪烁着熠熠光辉，被称为令人叹为观止的罕世之作。 <br />http://www.wlgame.com/cne3online/down/else/szbf.zip ?<img src ="http://www.cppblog.com/zgysx/aggbug/16990.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zgysx/" target="_blank">warrior</a> 2006-12-29 17:22 <a href="http://www.cppblog.com/zgysx/archive/2006/12/29/16990.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用C函数获取文件的长度</title><link>http://www.cppblog.com/zgysx/archive/2006/10/20/13891.html</link><dc:creator>warrior</dc:creator><author>warrior</author><pubDate>Fri, 20 Oct 2006 02:32:00 GMT</pubDate><guid>http://www.cppblog.com/zgysx/archive/2006/10/20/13891.html</guid><wfw:comment>http://www.cppblog.com/zgysx/comments/13891.html</wfw:comment><comments>http://www.cppblog.com/zgysx/archive/2006/10/20/13891.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zgysx/comments/commentRss/13891.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zgysx/services/trackbacks/13891.html</trackback:ping><description><![CDATA[#include &lt;io.h&gt;<br /><br />int GetFileSize(const char * pszFilePath)<br />{<br />   FILE *fp = fopen(pszFilePath,  "rb"); <br />   VERIFY(fp != NULL);<br />    const int nFile = _fileno(fp);<br />    const int nFileLength = _filelength(nFile);<br />   fclose(fp)<br />    return nFileLength;<br />}<img src ="http://www.cppblog.com/zgysx/aggbug/13891.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zgysx/" target="_blank">warrior</a> 2006-10-20 10:32 <a href="http://www.cppblog.com/zgysx/archive/2006/10/20/13891.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>UTF8与GBK字符编码之间的相互转换</title><link>http://www.cppblog.com/zgysx/archive/2006/09/28/13085.html</link><dc:creator>warrior</dc:creator><author>warrior</author><pubDate>Thu, 28 Sep 2006 03:18:00 GMT</pubDate><guid>http://www.cppblog.com/zgysx/archive/2006/09/28/13085.html</guid><wfw:comment>http://www.cppblog.com/zgysx/comments/13085.html</wfw:comment><comments>http://www.cppblog.com/zgysx/archive/2006/09/28/13085.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zgysx/comments/commentRss/13085.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zgysx/services/trackbacks/13085.html</trackback:ping><description><![CDATA[
		<p>1、将GBK转换成UTF8<br /><br />string GBKToUTF8(const std::string&amp; strGBK)<br />{<br /> string strOutUTF8 = "";<br /> WCHAR * str1;<br /> int n = MultiByteToWideChar(CP_ACP, 0, strGBK.c_str(), -1, NULL, 0);<br /> str1 = new WCHAR[n];<br /> MultiByteToWideChar(CP_ACP, 0, strGBK.c_str(), -1, str1, n);<br /> n = WideCharToMultiByte(CP_UTF8, 0, str1, -1, NULL, 0, NULL, NULL);<br /> char * str2 = new char[n];<br /> WideCharToMultiByte(CP_UTF8, 0, str1, -1, str2, n, NULL, NULL);<br /> strOutUTF8 = str2;<br /> delete[]str1;<br /> str1 = NULL;<br /> delete[]str2;<br /> str2 = NULL;<br /> return strOutUTF8;<br />}<br /><br />2、将UTF8转换成GBK</p>
		<p>string UTF8ToGBK(const std::string&amp; strUTF8)<br />{<br /> int len = MultiByteToWideChar(CP_UTF8, 0, strUTF8.c_str(), -1, NULL, 0);<br /> unsigned short * wszGBK = new unsigned short[len + 1];<br /> memset(wszGBK, 0, len * 2 + 2);<br /> MultiByteToWideChar(CP_UTF8, 0, (LPCTSTR)strUTF8.c_str(), -1, wszGBK, len);</p>
		<p> len = WideCharToMultiByte(CP_ACP, 0, wszGBK, -1, NULL, 0, NULL, NULL);<br /> char *szGBK = new char[len + 1];<br /> memset(szGBK, 0, len + 1);<br /> WideCharToMultiByte(CP_ACP,0, wszGBK, -1, szGBK, len, NULL, NULL);<br /> //strUTF8 = szGBK;<br /> std::string strTemp(szGBK);<br /> delete[]szGBK;<br /> delete[]wszGBK;<br /> return strTemp;<br />}</p>
<img src ="http://www.cppblog.com/zgysx/aggbug/13085.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zgysx/" target="_blank">warrior</a> 2006-09-28 11:18 <a href="http://www.cppblog.com/zgysx/archive/2006/09/28/13085.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>