??xml version="1.0" encoding="utf-8" standalone="yes"?>日韩网站在线看片你懂的,欧美精品三级日韩久久,免费日韩成人http://m.shnenglu.com/luyu16404/请不要做躁的hQ请热爱C++?/description>zh-cnSat, 23 Aug 2025 16:32:08 GMTSat, 23 Aug 2025 16:32:08 GMT60<沟通(zhn)更有魅?gt;http://m.shnenglu.com/luyu16404/archive/2008/04/20/47677.htmlyutouyutouSun, 20 Apr 2008 09:52:00 GMThttp://m.shnenglu.com/luyu16404/archive/2008/04/20/47677.htmlhttp://m.shnenglu.com/luyu16404/comments/47677.htmlhttp://m.shnenglu.com/luyu16404/archive/2008/04/20/47677.html#Feedback0http://m.shnenglu.com/luyu16404/comments/commentRss/47677.htmlhttp://m.shnenglu.com/luyu16404/services/trackbacks/47677.html
http://pic.du8.com/onlineimg/31/bp/sep/2003/31bp.0001.png

q本书的地址是从q里开始的,,,0002 0003 …0100…N

yutou 2008-04-20 17:52 发表评论
]]>
SQL参考手?Zms sql 2000 help system)http://m.shnenglu.com/luyu16404/archive/2008/04/10/46783.htmlyutouyutouThu, 10 Apr 2008 14:55:00 GMThttp://m.shnenglu.com/luyu16404/archive/2008/04/10/46783.htmlhttp://m.shnenglu.com/luyu16404/comments/46783.htmlhttp://m.shnenglu.com/luyu16404/archive/2008/04/10/46783.html#Feedback1http://m.shnenglu.com/luyu16404/comments/commentRss/46783.htmlhttp://m.shnenglu.com/luyu16404/services/trackbacks/46783.html
感谢LXH2002的收集整?              ;-)

yutou 2008-04-10 22:55 发表评论
]]>
关于new与deletehttp://m.shnenglu.com/luyu16404/archive/2008/04/07/46437.htmlyutouyutouMon, 07 Apr 2008 09:24:00 GMThttp://m.shnenglu.com/luyu16404/archive/2008/04/07/46437.htmlhttp://m.shnenglu.com/luyu16404/comments/46437.htmlhttp://m.shnenglu.com/luyu16404/archive/2008/04/07/46437.html#Feedback0http://m.shnenglu.com/luyu16404/comments/commentRss/46437.htmlhttp://m.shnenglu.com/luyu16404/services/trackbacks/46437.htmlint i = 0;
int *= &i ,*pk;

pk 
= p;
delete pk;  
//错误
//不能delete一个不是new分配的空?br>
int i = 0;

new *= &i;
new *pk = p;

delete p;  
//正确
//p与pk指向同一个内存区域,而这个内存区域是由new产生


yutou 2008-04-07 17:24 发表评论
]]>
使用if遇到的一炚w?/title><link>http://m.shnenglu.com/luyu16404/archive/2008/04/07/46436.html</link><dc:creator>yutou</dc:creator><author>yutou</author><pubDate>Mon, 07 Apr 2008 09:06:00 GMT</pubDate><guid>http://m.shnenglu.com/luyu16404/archive/2008/04/07/46436.html</guid><wfw:comment>http://m.shnenglu.com/luyu16404/comments/46436.html</wfw:comment><comments>http://m.shnenglu.com/luyu16404/archive/2008/04/07/46436.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/luyu16404/comments/commentRss/46436.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/luyu16404/services/trackbacks/46436.html</trackback:ping><description><![CDATA[在if else if 使用中出现的一炚w题,~译器报?#8220;在return的前面缺?';' ”<br><br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> compare( </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> shu_size ,</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000"> vector </span><span style="COLOR: #000000"><</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">_vec )<br><img id=Codehighlighter1_54_238_Open_Image onclick="this.style.display='none'; Codehighlighter1_54_238_Open_Text.style.display='none'; Codehighlighter1_54_238_Closed_Image.style.display='inline'; Codehighlighter1_54_238_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_54_238_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_54_238_Closed_Text.style.display='none'; Codehighlighter1_54_238_Open_Image.style.display='inline'; Codehighlighter1_54_238_Open_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_54_238_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://m.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_54_238_Open_Text><span style="COLOR: #000000">{<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>  </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> vec_size </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">(_vec.size());<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>  </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">( shu_size </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> vec_size ) </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> shu_size;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>  </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">( shu_size </span><span style="COLOR: #000000"><</span><span style="COLOR: #000000"> vec_size )  </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> shu_size;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>  </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"> ( shu_size </span><span style="COLOR: #000000">></span><span style="COLOR: #000000"> vec_size )  </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> vec_size;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div> <br><br>//更改后通过~译的代?br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> compare( </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> shu_size ,</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000"> vector </span><span style="COLOR: #000000"><</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">_vec )<br><img id=Codehighlighter1_54_157_Open_Image onclick="this.style.display='none'; Codehighlighter1_54_157_Open_Text.style.display='none'; Codehighlighter1_54_157_Closed_Image.style.display='inline'; Codehighlighter1_54_157_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_54_157_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_54_157_Closed_Text.style.display='none'; Codehighlighter1_54_157_Open_Image.style.display='inline'; Codehighlighter1_54_157_Open_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_54_157_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://m.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_54_157_Open_Text><span style="COLOR: #000000">{<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> vec_size </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">(_vec.size());<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">( shu_size </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> vec_size ) vec_size </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> shu_size;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> vec_size;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div> <br> <img src ="http://m.shnenglu.com/luyu16404/aggbug/46436.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/luyu16404/" target="_blank">yutou</a> 2008-04-07 17:06 <a href="http://m.shnenglu.com/luyu16404/archive/2008/04/07/46436.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>vectorcd的常对象与iterator常对象的对应使用http://m.shnenglu.com/luyu16404/archive/2008/04/07/46435.htmlyutouyutouMon, 07 Apr 2008 08:58:00 GMThttp://m.shnenglu.com/luyu16404/archive/2008/04/07/46435.htmlhttp://m.shnenglu.com/luyu16404/comments/46435.htmlhttp://m.shnenglu.com/luyu16404/archive/2008/04/07/46435.html#Feedback0http://m.shnenglu.com/luyu16404/comments/commentRss/46435.htmlhttp://m.shnenglu.com/luyu16404/services/trackbacks/46435.htmlcode:

//出现error C2440
bool is_equal( const vector <int> &ivec )  //vector对象的常引用
{
     
for( vector <int>::iterator it = ivec.begin() ;it != ivec.end() ;++it )  //q里使用的是iterator
       {
            ……
        }

}



 

//正确的用方?/span>
bool is_equal( const vector <int> &ivec )  //vector对象的常引用
{
     
for( vector <int>::const_iterator it = ivec.begin() ;it != ivec.end() ;++it )  //q里使用的是const_iterator
       {
            ……
        }

}



ps:标准库相当复杂!



yutou 2008-04-07 16:58 发表评论
]]>
[转]讲讲volatile的作?/title><link>http://m.shnenglu.com/luyu16404/archive/2008/04/06/46380.html</link><dc:creator>yutou</dc:creator><author>yutou</author><pubDate>Sun, 06 Apr 2008 09:29:00 GMT</pubDate><guid>http://m.shnenglu.com/luyu16404/archive/2008/04/06/46380.html</guid><wfw:comment>http://m.shnenglu.com/luyu16404/comments/46380.html</wfw:comment><comments>http://m.shnenglu.com/luyu16404/archive/2008/04/06/46380.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/luyu16404/comments/commentRss/46380.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/luyu16404/services/trackbacks/46380.html</trackback:ping><description><![CDATA[<p>信息来源:http://blog.21ic.com/user1/2949/archives/2007/35599.html<br><br></p> <div>一个定义ؓ(f)volatile的变量是说这变量可能?x)被意想不到地改变,q样Q编译器׃?x)去假设q个变量的g。精地说就是,优化器在用到q个变量时必Lơ都心地重新读取这个变量的|而不是用保存在寄存器里的备份。下面是volatile变量的几个例子:(x) <br>    1). q行讑֤的硬件寄存器Q如Q状态寄存器Q?<br>    2). 一个中断服务子E序中会(x)讉K到的非自动变?Non-automatic variables) <br>    3). 多线E应用中被几个Q务共享的变量 <br>    回答不出q个问题的h是不?x)被雇䄦的。我认ؓ(f)q是区分CE序员和嵌入式系l程序员的最基本的问题。嵌入式pȝE序员经常同g、中断、RTOS{等打交道,所用这些都要求volatile变量。不懂得volatile内容会(x)带来N?<br>    假设被面试者正地回答了这是问题(嗯,怀疑这否会(x)是这PQ我稍微深I一下,看一下这家伙是不是直正懂得volatile完全的重要性?<br>    1). 一个参数既可以是constq可以是volatile吗?解释Z么?<br>    2). 一个指针可以是volatile 吗?解释Z么?<br>    3). 下面的函数有什么错误:(x) <br>         int square(volatile int *ptr) <br>         { <br>              return *ptr * *ptr; <br>         } <br>    下面是答案:(x) <br>    1). 是的。一个例子是只读的状态寄存器。它是volatile因ؓ(f)它可能被意想不到地改变。它是const因ؓ(f)E序不应该试囑֎修改它?<br>    2). 是的。尽这q不很常见。一个例子是当一个中服务子程序修该一个指向一个buffer的指针时?<br>    3). q段代码的有个恶作剧。这D代码的目的是用来返指针*ptr指向值的qxQ但是,׃*ptr指向一个volatile型参敎ͼ~译器将产生cM下面的代码:(x) <br>    int square(volatile int *ptr)  <br>    { <br>         int a,b; <br>         a = *ptr; <br>         b = *ptr; <br>         return a * b; <br>     } <br>    ׃*ptr的值可能被意想不到地该变,因此a和b可能是不同的。结果,q段代码可能q不是你所期望的^方|正确的代码如下:(x) <br>     long square(volatile int *ptr)  <br>     { <br>            int a; <br>            a = *ptr; <br>            return a * a; <br>     } <br></div> <img src ="http://m.shnenglu.com/luyu16404/aggbug/46380.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/luyu16404/" target="_blank">yutou</a> 2008-04-06 17:29 <a href="http://m.shnenglu.com/luyu16404/archive/2008/04/06/46380.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++中的cd重定?/title><link>http://m.shnenglu.com/luyu16404/archive/2008/03/10/44096.html</link><dc:creator>yutou</dc:creator><author>yutou</author><pubDate>Mon, 10 Mar 2008 08:32:00 GMT</pubDate><guid>http://m.shnenglu.com/luyu16404/archive/2008/03/10/44096.html</guid><wfw:comment>http://m.shnenglu.com/luyu16404/comments/44096.html</wfw:comment><comments>http://m.shnenglu.com/luyu16404/archive/2008/03/10/44096.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/luyu16404/comments/commentRss/44096.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/luyu16404/services/trackbacks/44096.html</trackback:ping><description><![CDATA[<span lang=zh-CN style="FONT-FAMILY: simsun"><span style="FONT-STYLE: italic; FONT-FAMILY: Arial; TEXT-DECORATION: underline">By SmartPtr(</span><a title=http://m.shnenglu.com/SmartPtr/ style="FONT-STYLE: italic; FONT-FAMILY: arial; TEXT-DECORATION: underline" href="http://m.shnenglu.com/SmartPtr/"><font color=#4371a6>http://m.shnenglu.com/SmartPtr/)</font></a></span><span lang=zh-CN style="FONT-FAMILY: simsun"><span style="FONT-STYLE: italic; FONT-FAMILY: Arial; TEXT-DECORATION: underline"></span><a title=http://m.shnenglu.com/SmartPtr/ style="FONT-STYLE: italic; FONT-FAMILY: arial; TEXT-DECORATION: underline" href="http://m.shnenglu.com/SmartPtr/"></a><br><br></span>q几天工作时到一?span lang=EN-US style="FONT-FAMILY: 'courier new'">C++</span><span>的编译错?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">(</span><span>我用的?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">Visual C++ 7.0)</span><span>Q说是有一个类重复定义Q仔l想x们的q个目也是做了好几?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">Release</span><span>了,</span><span style="FONT-FAMILY: 'Courier New'"> </span><span>内部代码应该不会(x)有这L(fng)低错误Q?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>真把cdl重复定义了Q检查结果正如我预料的一栗?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>pP</span><span style="FONT-FAMILY: 'Courier New'"> </span><span>我左x扑ֈ原因Q被一个编译错误给卡在那里了。(在我的概念中Q?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>E序错误的等Uؓ(f)Q编译错误-</span><span lang=EN-US style="FONT-FAMILY: 'courier new'">></span><span>链接错误Q?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">></span><span>逻辑错误Q?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>此错误属于最低</span><span style="FONT-FAMILY: 'Courier New'"> </span><span>Q。这时我仔细看了一下错误提C,</span><span style="FONT-FAMILY: 'Courier New'"> </span><span>发现重复定义是由于从两个不同的\径包含了同一个头文g而引L(fng)Q同事也从另外一个\径打开工程试试Q?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>q才慢慢发现了原因。这个原因可能有些拗口,而事实上要出现这U错误也有些</span><span>“</span><span>曲折</span><span>“</span><span>Q?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>让我从不同情况下的类型重定义来解释一下吧?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'"><o:p></o:p></span> <p class=MsoPlainText><span></span></p> <p class=MsoPlainText><span>我ȝ的C++中类型重定义情况有三?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'"><o:p></o:p></span></p> <p class=MsoPlainText><strong><span lang=EN-US style="FONT-FAMILY: 'courier new'">1 </span></strong><strong><span>没有在文件头?/span></strong><strong><span lang=EN-US style="FONT-FAMILY: 'courier new'">#pragma once</span></strong><strong><span>指示W?br><br></span></strong><strong><span lang=EN-US style="FONT-FAMILY: 'courier new'">Type1.h:</span></strong><strong><span lang=EN-US style="FONT-FAMILY: 'courier new'"></span></strong><span lang=EN-US style="FONT-FAMILY: 'courier new'">  #pragma once</span><span>的作用是保证本文件只被编译一ơ,</span><span>如果没有?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">Type1.h</span><span>中加q句?/span><span>Q?/span><span>那么?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">main.cpp</span><span>里面包含了两?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">Type1.h</span><span>Q?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>q当于?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">main.cpp</span><span>里面定义了两?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">Type</span><span>c,</span><span style="FONT-FAMILY: 'Courier New'"> </span><span>自然是cd重定义了?/span></p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #008000">//</span><span style="COLOR: #008000">#pragma once</span><span style="COLOR: #008000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> Type<br><img id=Codehighlighter1_26_28_Open_Image onclick="this.style.display='none'; Codehighlighter1_26_28_Open_Text.style.display='none'; Codehighlighter1_26_28_Closed_Image.style.display='inline'; Codehighlighter1_26_28_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_26_28_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_26_28_Closed_Text.style.display='none'; Codehighlighter1_26_28_Open_Image.style.display='inline'; Codehighlighter1_26_28_Open_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_26_28_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://m.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_26_28_Open_Text><span style="COLOR: #000000">{<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span></div> <br>Main.cpp:<br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Type1.h</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>#include </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Type1.h</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> argc, </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">argv[])<br><img id=Codehighlighter1_71_86_Open_Image onclick="this.style.display='none'; Codehighlighter1_71_86_Open_Text.style.display='none'; Codehighlighter1_71_86_Closed_Image.style.display='inline'; Codehighlighter1_71_86_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_71_86_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_71_86_Closed_Text.style.display='none'; Codehighlighter1_71_86_Open_Image.style.display='inline'; Codehighlighter1_71_86_Open_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_71_86_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://m.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_71_86_Open_Text><span style="COLOR: #000000">{<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div> <br> <p class=MsoPlainText><strong><span lang=EN-US style="FONT-FAMILY: 'courier new'">2 </span></strong><strong><span>两个不同的头文g中定义了相同的类型(均有</span></strong><strong><span lang=EN-US style="FONT-FAMILY: 'courier new'">#pragma once</span></strong><strong><span>Q?br><br></span></strong><strong><span lang=EN-US style="FONT-FAMILY: 'courier new'">Type1.h:</span></strong><span lang=EN-US style="FONT-FAMILY: 'courier new'"><o:p></o:p></span><strong><span lang=EN-US style="FONT-FAMILY: 'courier new'">Type2.h:</span></strong><span lang=EN-US style="FONT-FAMILY: 'courier new'"><o:p></o:p></span><strong><span lang=EN-US style="FONT-FAMILY: 'courier new'">Main.cpp:<o:p></o:p></span></strong></p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#pragma once<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> Type<br><img id=Codehighlighter1_24_27_Open_Image onclick="this.style.display='none'; Codehighlighter1_24_27_Open_Text.style.display='none'; Codehighlighter1_24_27_Closed_Image.style.display='inline'; Codehighlighter1_24_27_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_24_27_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_24_27_Closed_Text.style.display='none'; Codehighlighter1_24_27_Open_Image.style.display='inline'; Codehighlighter1_24_27_Open_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_24_27_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://m.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_24_27_Open_Text><span style="COLOR: #000000">{<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span></div> <br><br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#pragma once<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> Type<br><img id=Codehighlighter1_24_32_Open_Image onclick="this.style.display='none'; Codehighlighter1_24_32_Open_Text.style.display='none'; Codehighlighter1_24_32_Closed_Image.style.display='inline'; Codehighlighter1_24_32_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_24_32_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_24_32_Closed_Text.style.display='none'; Codehighlighter1_24_32_Open_Image.style.display='inline'; Codehighlighter1_24_32_Open_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_24_32_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://m.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_24_32_Open_Text><span style="COLOR: #000000">{     <br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">;</span></div> <br><br>q里<span lang=EN-US style="FONT-FAMILY: 'courier new'">main.cpp</span><span>中同时包含了</span><span lang=EN-US style="FONT-FAMILY: 'courier new'">Type1.h, Type2.h</span><span>两个头文Ӟ</span><span style="FONT-FAMILY: 'Courier New'"> </span><span>虽然其文件头都有</span><span lang=EN-US style="FONT-FAMILY: 'courier new'">#pragma once</span><span>Q但因ؓ(f)是不同的文gQ?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>预编译器q是?x)两ơ?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">Type</span><span>cȝ定义攑֜</span><span lang=EN-US style="FONT-FAMILY: 'courier new'">Main.cpp</span><span>中,</span><span style="FONT-FAMILY: 'Courier New'"> </span><span>所以也?x)出C重定义?br><br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Type1.h</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>#include </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Type2.h</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> argc, </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">argv[])<br><img id=Codehighlighter1_71_86_Open_Image onclick="this.style.display='none'; Codehighlighter1_71_86_Open_Text.style.display='none'; Codehighlighter1_71_86_Closed_Image.style.display='inline'; Codehighlighter1_71_86_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_71_86_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_71_86_Closed_Text.style.display='none'; Codehighlighter1_71_86_Open_Image.style.display='inline'; Codehighlighter1_71_86_Open_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_71_86_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://m.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_71_86_Open_Text><span style="COLOR: #000000">{<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span></div> <br> <p class=MsoPlainText><strong><span lang=EN-US style="FONT-FAMILY: 'courier new'">3 </span></strong><strong><span>从两个不同的路径包含了同一个头文g</span></strong><strong><span lang=EN-US style="FONT-FAMILY: 'courier new'"><o:p></o:p></span></strong></p> <p class=MsoPlainText><span><font face="Courier New">  </font>前面两种是比较常见,</span><span style="FONT-FAMILY: 'Courier New'"> </span><span>也是比较Ҏ(gu)解决的情况,</span><span style="FONT-FAMILY: 'Courier New'"> </span><span>而这里要讲的W三U情况,</span><span style="FONT-FAMILY: 'Courier New'"> </span><span>比较?yu)见Q?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>而且一般出现在有虚拟映盘的时候。(q样才能做到从两个不同的路径包含同一个头文gQ,</span><span style="FONT-FAMILY: 'Courier New'"> </span><span>其他?x)在什么时候出玎ͼ</span><span style="FONT-FAMILY: 'Courier New'"> </span><span>我还没想刎ͼ</span><span style="FONT-FAMILY: 'Courier New'"> </span><span>知道的朋友顶一下:(x)Q。下面我来分析一下:(x)<br></span><span lang=EN-US style="FONT-FAMILY: 'courier new'">1</span><span>Q?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">VC</span><span>工程?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">D:\Test</span><span>目录下?br></span><span lang=EN-US style="FONT-FAMILY: 'courier new'">2</span><span>Q?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>映射虚拟?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">X</span><span>?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">D:\Test. <br></span><em><span>不熟(zhn)的|友可以按此操作</span></em><em><span lang=EN-US style="FONT-FAMILY: 'courier new'">: </span></em><em><span>开?/span></em><em><span lang=EN-US style="FONT-FAMILY: 'courier new'">-></span></em><em><span>q行</span></em><em><span lang=EN-US style="FONT-FAMILY: 'courier new'">-></span></em><em><span>在运行窗口输入:(x)</span></em><em><span lang=EN-US style="FONT-FAMILY: 'courier new'">cmd-></span></em><em><span>?/span></em><em><span lang=EN-US style="FONT-FAMILY: 'courier new'">cmd</span></em><em><span>H口输入Q?br></span></em><em><span lang=EN-US style="FONT-FAMILY: 'courier new'">Subst X: D:\Test-></span></em><em><span>回R?br></span></em><span lang=EN-US style="FONT-FAMILY: 'courier new'">3</span><span>Q?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>该工E有文g</span><span lang=EN-US style="FONT-FAMILY: 'courier new'">Type1.h, main.cpp<o:p></o:p></span></p> <p class=MsoPlainText><strong><span lang=EN-US style="FONT-FAMILY: 'courier new'">Type1.h:<o:p></o:p></span></strong></p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#pragma once<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> Type<br><img id=Codehighlighter1_24_27_Open_Image onclick="this.style.display='none'; Codehighlighter1_24_27_Open_Text.style.display='none'; Codehighlighter1_24_27_Closed_Image.style.display='inline'; Codehighlighter1_24_27_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_24_27_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_24_27_Closed_Text.style.display='none'; Codehighlighter1_24_27_Open_Image.style.display='inline'; Codehighlighter1_24_27_Open_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_24_27_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://m.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_24_27_Open_Text><span style="COLOR: #000000">{<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">;</span></div> <br> <p class=MsoPlainText>Main.cpp:<o:p></o:p></p> <p class=MsoPlainText><span></span><span lang=EN-US style="FONT-FAMILY: 'courier new'">main.cpp</span><span>q样包含了两个头文gQ?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>从本质上来讲Q?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>它们都对应于物理?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">D:\Test</span><span>下的文g</span><span lang=EN-US style="FONT-FAMILY: 'courier new'">Type1.h, </span><span>是同一个文件?/span><span>但在不同的操作下Q?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'"> VC</span><span>对其有不同的解释?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">#include "X:\Type1.h"</span><span>用的是绝对\径,</span><span style="FONT-FAMILY: 'Courier New'"> </span><span>自然没有什么异议,</span><span style="FONT-FAMILY: 'Courier New'"> </span><span>?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">#include "Type1.h"</span><span>却有些变?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">:<br></span><span><font face="Courier New">*</font>假如我从</span><span lang=EN-US style="FONT-FAMILY: 'courier new'">D:\Test\</span><span>下打开工程Q?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>那么</span><span lang=EN-US style="FONT-FAMILY: 'courier new'">#include "Type1.h"</span><span>其实是</span><span lang=EN-US style="FONT-FAMILY: 'courier new'">#include "D:\Test\Type1.h" <br></span><span>*假如?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">X:\</span><span>下打开工程Q那?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">#include "Type1.h"</span><span>p释ؓ(f)</span><span lang=EN-US style="FONT-FAMILY: 'courier new'">#include "X:\Type1.h"</span></p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Type1.h</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>#include </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">X:Type1.h</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> argc, </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">argv[])<br><img id=Codehighlighter1_73_88_Open_Image onclick="this.style.display='none'; Codehighlighter1_73_88_Open_Text.style.display='none'; Codehighlighter1_73_88_Closed_Image.style.display='inline'; Codehighlighter1_73_88_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_73_88_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_73_88_Closed_Text.style.display='none'; Codehighlighter1_73_88_Open_Image.style.display='inline'; Codehighlighter1_73_88_Open_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_73_88_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://m.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_73_88_Open_Text><span style="COLOR: #000000">{<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div> <br>q里我们? <p class=MsoPlainText><span lang=EN-US style="FONT-FAMILY: 'courier new'"><o:p></o:p></span></p> <p class=MsoPlainText><span lang=EN-US style="FONT-FAMILY: 'courier new'">4</span><span>Q?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">D:\Test</span><span>下打开工程Q?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>~译Q?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>出现cd</span><span lang=EN-US style="FONT-FAMILY: 'courier new'">Type</span><span>重复定义错误</span><span lang=EN-US style="FONT-FAMILY: 'courier new'"><o:p></o:p></span></p> <p class=MsoPlainText><span>q种情况下,</span><span lang=EN-US style="FONT-FAMILY: 'courier new'">main.cpp</span><span>预编译ؓ(f)</span><span lang=EN-US style="FONT-FAMILY: 'courier new'">:<o:p></o:p></span></p> <p class=MsoPlainText><span lang=EN-US style="FONT-FAMILY: 'courier new'">Main.cpp:<o:p></o:p></span></p> <p class=MsoPlainText><span lang=EN-US style="FONT-FAMILY: 'courier new'"></span><span>只保证本文g被编译一ơ,</span><span style="FONT-FAMILY: 'Courier New'"> </span><span>q里</span><span lang=EN-US style="FONT-FAMILY: 'courier new'">VC</span><span>其认ؓ(f)是两个不同的文gQ?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>所以都要编译,</span><span style="FONT-FAMILY: 'Courier New'"> </span><span>出现~译错误自然也就不奇怪了?br>    </span><span>当然Q?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>q里如果?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">X:\ </span><span>下打开工程的话Q?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">VC</span><span>׃(x)认ؓ(f)都是?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">X:\Type1.h</span><span>下包含这个文Ӟ</span><span lang=EN-US style="FONT-FAMILY: 'courier new'">#pragma once</span><span>起到了作用,</span><span style="FONT-FAMILY: 'Courier New'"> </span><span>也就不会(x)出现cd重定义了</span><span lang=EN-US style="FONT-FAMILY: 'courier new'"><o:p></o:p></span></p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">D:TestType1.h</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>#include </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">X:Type1.h</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> argc, </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">argv[])<br><img id=Codehighlighter1_79_94_Open_Image onclick="this.style.display='none'; Codehighlighter1_79_94_Open_Text.style.display='none'; Codehighlighter1_79_94_Closed_Image.style.display='inline'; Codehighlighter1_79_94_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_79_94_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_79_94_Closed_Text.style.display='none'; Codehighlighter1_79_94_Open_Image.style.display='inline'; Codehighlighter1_79_94_Open_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_79_94_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://m.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_79_94_Open_Text><span style="COLOR: #000000">{<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span></div> <p> </p> #pragma once <p class=MsoPlainText><span lang=EN-US style="FONT-FAMILY: 'courier new'"><o:p></o:p></span></p> <h2><span style="FONT-FAMILY: 黑体"><font size=2>ȝ</font></span></h2> <p class=MsoPlainText style="TEXT-INDENT: 21pt"><span>我在</span><span lang=EN-US style="FONT-FAMILY: 'courier new'">VC7, VC8,</span><span>?/span><a ><span lang=EN-US style="FONT-FAMILY: 'courier new'"><font color=#000080><u>Dev C++</u></font></span></a><span>中都试了第三种情况Q?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>发现只有</span><span lang=EN-US style="FONT-FAMILY: 'courier new'">Dev C++</span><span>是可以通过~译的。这可能是微?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">VC</span><span>?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">#pragma once</span><span>q不够智能吧Q轻易的?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">Windows</span><span>的虚拟盘l蒙蔽了双眼Q?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>看不到其本质Q只是猜,</span><span style="FONT-FAMILY: 'Courier New'"> </span><span>或许</span><span lang=EN-US style="FONT-FAMILY: 'courier new'">VC</span><span>q么处理是有其他用意的)?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'"><o:p></o:p></span></p> <p class=MsoPlainText style="TEXT-INDENT: 21pt"><span>因ؓ(f)在稍大一点的工程开发中Q?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>我们一般都?x)用虚拟盘来方便工作Q?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>一是访问快P化了路径Q?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>二是因ؓ(f)多h协同开发,我们一般希望大家源代码路径相同Q但我们不应强制要求大家都把源代码放d某一目录下,</span><span style="FONT-FAMILY: 'Courier New'"> </span><span>q时把你放源代码的\径映ؓ(f)一个虚拟盘Q比如说l一?/span><span lang=EN-US style="FONT-FAMILY: 'courier new'">X:</span><span>Q就能把大家的代码\径统一h了。但是另一斚wQ有了虚拟盘Q?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>׃ؓ(f)出现cd重定义提供了条gQ?/span><span style="FONT-FAMILY: 'Courier New'"> </span><span>以下是我得出的两个解x法:(x)<br></span><span><br>1 </span><span>抛弃</span><span lang=EN-US style="FONT-FAMILY: 'courier new'">#pragma once</span><span>使用古老但集稳定性与UL性于一w的</span><span lang=EN-US style="FONT-FAMILY: 'courier new'"><o:p></o:p></span></p> <p class=MsoPlainText style="MARGIN-LEFT: 39pt"><span></span>来保证头文g只被~译一ơ。这样不是包含两个相同的文Ӟq是包含两个不同的文Ӟ或是包两个文件相同但路径不同的文Ӟ 只要_XXX_H被定义过Q?׃?x)再~译那个~译(但这里我们要保证_XXX_H的唯一性, 如果两个不同的头文g里用了同一_XXX_H,是会(x)出问题的)</p> <p> </p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#ifndef _XXX_H<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>#define _XXX_H<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><img src="http://m.shnenglu.com/Images/dot.gif"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>#endif</span></div> <br>2 在包含头文gӞ不要使用l对路径Q?哪怕那是虚拟盘的绝对\径?/span> <img src ="http://m.shnenglu.com/luyu16404/aggbug/44096.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/luyu16404/" target="_blank">yutou</a> 2008-03-10 16:32 <a href="http://m.shnenglu.com/luyu16404/archive/2008/03/10/44096.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>程http://m.shnenglu.com/luyu16404/archive/2008/03/10/44049.htmlyutouyutouSun, 09 Mar 2008 16:11:00 GMThttp://m.shnenglu.com/luyu16404/archive/2008/03/10/44049.htmlhttp://m.shnenglu.com/luyu16404/comments/44049.htmlhttp://m.shnenglu.com/luyu16404/archive/2008/03/10/44049.html#Feedback0http://m.shnenglu.com/luyu16404/comments/commentRss/44049.htmlhttp://m.shnenglu.com/luyu16404/services/trackbacks/44049.htmlyutou

2008q??0?br>

如图:    需求分?=> 可行性分?=> 实施具体Ҏ(gu) => l护与支?br>

yutou 2008-03-10 00:11 发表评论
]]>
目可行性分析方?--摘自IBMhttp://m.shnenglu.com/luyu16404/archive/2008/03/09/44048.htmlyutouyutouSun, 09 Mar 2008 15:45:00 GMThttp://m.shnenglu.com/luyu16404/archive/2008/03/09/44048.htmlhttp://m.shnenglu.com/luyu16404/comments/44048.htmlhttp://m.shnenglu.com/luyu16404/archive/2008/03/09/44048.html#Feedback0http://m.shnenglu.com/luyu16404/comments/commentRss/44048.htmlhttp://m.shnenglu.com/luyu16404/services/trackbacks/44048.html用可行性研I论证?zhn)的项?/span>

 

Scott W. Ambler
总裁Q?/span>Ronin International
2000
q?/span>8 ?/span>24 ?/span>
本文来自 http://www.ibm.com/developerworks/tw/library/tip-justify/



               在Q何项目的开始阶D,目l都要ؓ(f)目的M工作做一些准备工作。在 Rational Unified ProcessQ?/span>RUPQ和面向对象的Y件过E(OOSPQ中Q这个阶D늧为启动阶Dc(din)本周,我们考虑如何定一个项目是否值得启动。本文由?/span>Process Patterns》的W五章改~而来?/span>

               启动目的一个重要环节就是对目q行Q也是_(d)定是否应该立项。遗憄是,l常是完成得最差的一Q务?/span>85% 以上的大型项目以p|告终Q请参阅参考资?/span>中的?/span>Patterns of Software Systems Failure and Success》一书)Q这一事实表明大多数项目在阶段应该中止,而不是在为其作了大量投资Qƈ造成损失Q之后。论证阶D늚主要目标是,定目的最?jng)_施方案,如果存在q样的方案,q要它ؓ(f)什么是最佳的?/span>

               ?/span>1描绘了针对论证阶D늚q程模型的解x案。论证项目时需要完成几工作,目的主要结果便是可行性研I。ؓ(f)了进行可行性研IӞ(zhn)将重复下列步骤Q?/span>

           · 定可选的实施Ҏ(gu)

           · 评估每项可选方案的l济可行?/span>

           · 评估每项可选方案的技术可行?/span>

           · 评估每项可选方案的q行可行?/span>

           · 选择一可选方?/span>

           · 定潜在的风?/span>

 

?/span> 1. 阶段的过E模?/span>


 

 

定可选的实施Ҏ(gu)


可行性研I的W一阶段是确定项目潜在的可选实施方案。与行的观Ҏ(gu)好相反,实现应用时L多种选择Q包括什么都不做、用多U技术实现它、购CU类似的pȝ或者将开发工作外包。重要的是,为?zhn)的项目确定几个可行的可选实施方案,以便(zhn)进行评估和比较Q从而最lؓ(f)自己的公叔R择最佳的实施Ҏ(gu)?/span>

评估l济可行?/span>
在评C可选实施方案的l济可行性时Q要回答的基本问题是Q?/span>该应用何时能收回成本Q?/span>(zhn)可以通过q行成本/收益分析来回{这个问题。顾名思义Q成?/span>/收益分析是应用的全部实际成本与其全部实际财务收益相比较。在?/span>The Squandered Computer》一书中Q请参阅参考资?/span>Q,Strassmann 指出Q应该根据可选方案对净现金量 ?x益超q成本的总金?/span> ?的A(ch)献来评h(hun)各个Ҏ(gu)Q因为所有投资的首要目标是提高公司的整体业l?/span>

评估技术可行?/span>
除了l济可行性之外,(zhn)还必须定每项可选实施方案的技术可行性。此旉要回{的基本问题是,是否能够创徏该应用?首先Q?zhn)必须调研该项目要使用的各?gu)术。技术方面的问题在于Q每Ҏ(gu)术在行销演示中都能完地完成工作Q而一旦将它购买回来,往往又是另一U情c(din)因此,(zhn)应该鉴定每一U可供选择的技术。请注意Qؓ(f)了进行合理的评估Q?zhn)可能需要实C个微型项目,q且创徏一个概念验?/span> (proof-of-concept) 原型来检验这些技术是否能协同工作。这?/span> RUP 的描q阶D늚基本dQ它可能持箋几周或者几个月Q但是只有在(g)验出(zhn)选择的技术能否协同工作时才会(x)体现出它的h(hun)倹{?/span>

评估q行可行?/span>
一个应用不应该在经和技术上行得通,它还必须在运行上行得通。此时要回答的问题的Q?/span>应用一旦成Z品,是否能够对该应用提供l护和支持?创徏一个应用与q行一个应用完全是两码事;因此Q?zhn)必须定是否能够有效地运行和支持它?/span>

选择一可选方?/span>
一旦完成对每项可选实施方案的l济、技术和q行可行性评伎ͼ应该从中选择一U实施方案。请C ?可行性研I的目标是,比较和对比各可选实施方案,q?/em>提出一个最佳的实施Ҏ(gu)。执行该Q务的W一步是Q排除Q何在l济上、技术上或者运行上不可行的Ҏ(gu)。这意味着(zhn)可能没有剩下Q何可选方案。但是什么都不做可能也是不可行的Q它意味着(zhn)必M头再来,鉴定更多的可选方案。如果只剩下一个可选方案,则很Ҏ(gu)做出决策Q如果最后剩下多个可选方案,则必选择一个最适合(zhn)的公司的实施方案。?zhn)q可以只定可行的可选方案,而将决策权留l上U主部门?/span>

定潜在的风?/span>
目工作包括定义潜在的风险,特别是那些与目的技术和q行可行性相关的潜在风险。关键的一Ҏ(gu)应该它们加入?zhn)的风险评估文档,以便在项目实施过E中能够妥善处理它们Q这也是今后的技巧要讨论的主题?/span>

参考资?/span>
关于q程模型?/span> Rational Unified Process 的详l信息,请参阅:(x)

· ?/span>Process Patterns ?Building Large-Scale Systems Using Object Technology?/span>Q?/span>Scott W. Ambler 著?/span>Cambridge University 出版C,U约Q?/span>1998 q?/span>

· ?/span>More Process Patterns ?Delivering Large-Scale Systems Using Object Technology?/span>Q?/span>Scott W. Ambler 著?/span>Cambridge University 出版C,U约Q?/span>1999 q?/span>

· ?/span>The Object Primer 2nd Edition?/span>Q?/span>Scott W. Ambler 著?/span>Cambridge University 出版C,U约Q?/span>2000 q?/span>

· ?/span>The Unified Process Inception Phase?/span>Q?/span>Scott W. Ambler ?/span> Larry L. Constantine 著?/span>R&D BooksQ?/span>CAQ?/span>GilroyQ?/span>2000 q?/span>

· ?/span>The Unified Process Elaboration Phase?/span>Q?/span>Scott W. Ambler ?/span> Larry L. Constantine 著?/span>R&D BooksQ?/span>CAQ?/span>GilroyQ?/span>2000 q?/span>

· ?/span>Patterns of Software Systems Failure and Success?/span>Q?/span>Capers Jones 著?/span>International Thomson Computer 出版C,MAQ?/span>BostonQ?/span>1996 q?/span>

· ?/span>The Rational Unified Process: An Introduction》,W二版,Philippe Kruchten 著?/span>Reading, MA: Addison-Wesley Longman, Inc.Q?/span>MAQ?/span>ReadingQ?/span>2000 q?/span>

· ?/span>The Squandered Computer: Evaluating the Business Alignment of Information Technologies?/span>Q?/span>Paul Strassmann 著?/span>New CanaanQ?/span>CTQ?/span>Information Economics 出版C,CTQ?/span>New CanaanQ?/span>1997 q?/span>

· ?/span>The Process Patterns Resource Page?/span>Q?/span>Scott Ambler ?/span>

· Scott Ambler 的在U文?/span>


/*  &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&  */
?/span> 1. 阶段的过E模??

Ҏ(gu)文档,                                                                                                                           可行性研I?
版本,                                                  评估q行可行?nbsp;  风险评估                                ,
Ҏ(gu)评估,    => 执行Ҏ(gu) =>                                       =>  选择一U方?=>   目资金,
q度?                                              评估l济可行?nbsp;  评估技术可行?nbsp;                  定潜在风险
风险估计



yutou 2008-03-09 23:45 发表评论
]]>
提醒自己http://m.shnenglu.com/luyu16404/archive/2008/03/04/43673.htmlyutouyutouTue, 04 Mar 2008 05:30:00 GMThttp://m.shnenglu.com/luyu16404/archive/2008/03/04/43673.htmlhttp://m.shnenglu.com/luyu16404/comments/43673.htmlhttp://m.shnenglu.com/luyu16404/archive/2008/03/04/43673.html#Feedback0http://m.shnenglu.com/luyu16404/comments/commentRss/43673.htmlhttp://m.shnenglu.com/luyu16404/services/trackbacks/43673.html
马克思主义哲学对一个h的思想有着革命性的意义.

blog?提醒自己不要忽视哲学,q且鞭策自己要坚持学?

yutou 2008-03-04 13:30 发表评论
]]>
þþƷѹۿ97| ޹Ʒþþϼ2| ŷպƷþ| ҹҹþݺ| ŷ˼Ծþ| þwww˳ɾƷ㽶| ҹƷþ| 㽶97þ| þݺҹҹ2O2O| 91Ʒ91þþþþ| 97Ƶþþ| þݺҹҹav˳ | ?VþþƷ| Ʒ԰״̼þþ| þþþþþþƷɫ| þþþžоƷ| þþþþþþþþþĻ| þù˾Ʒ| þþþavרˮ| ŷ޹׾þþþþþ| þۺۺϾþ97ɫ| þþƷav鶹С˵ | þҹɫ˾Ʒ| þþƷһ| þһձɫۺϾþ| þɫۺҹž| Ը߳þþþþþþþ| þˬˬƬAV| Ʒþþþþô| պƷþĻ | þAVĻ| ޹պŷþ| þþþþϸ| ޾ƷþëƬ| պ޹ۺϾþþ| ŷ޾þav| þþþþþþþþþþþ| 97þù¶Ʒ| ҹþþþþ| ۺ˾þôý| 99þù¶Ʒ|