??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久噜噜噜www成人网,潮喷大喷水系列无码久久精品,久久天堂AV综合合色蜜桃网http://www.shnenglu.com/Lee/category/7131.htmlBeyond C++zh-cnMon, 01 Mar 2010 09:36:04 GMTMon, 01 Mar 2010 09:36:04 GMT60站姿和坐姿判断hhttp://www.shnenglu.com/Lee/archive/2010/03/01/108658.htmlDavid LeeDavid LeeMon, 01 Mar 2010 06:00:00 GMThttp://www.shnenglu.com/Lee/archive/2010/03/01/108658.htmlhttp://www.shnenglu.com/Lee/comments/108658.htmlhttp://www.shnenglu.com/Lee/archive/2010/03/01/108658.html#Feedback0http://www.shnenglu.com/Lee/comments/commentRss/108658.htmlhttp://www.shnenglu.com/Lee/services/trackbacks/108658.html每个人都有自׃(fn)惯的站立姿势。美国夏威夷大学心理学家指出Q不同的站姿可以昄Z个h的性格特征?

站立时习(fn)惯把双手插入裤袋的hQ城府较深,不轻易向露内心的情A。性格偏于保守、内向。凡事步步ؓ(f)营,警觉性极高,不肯M别h?

站立时常把双手置于臀部的人:(x)自主心强Q处事认真而绝不轻率,hN一切的能力。他们最大的~点是主观,性格表现固执、顽固?

站立时喜Ƣ把双手叠放于胸前的人:(x)q种人性格坚强Q不屈不挠,不轻易向困境压力低头。但是由于过分重视个人利益,与h交往l常摆出一副自我保护的防范姿态,拒h于千里之外,令h难以接近?

站立时将双手握置于背后的人:(x)性格特点是奉公守法,重权威Q极富责LQ不q有时情l不E_Q往往令h莫测高深Q最大的优点是富于耐性,而且能够接受新思想和新观点?

站立时习(fn)惯把一只手插入裤袋Q另一只手攑֜w旁的hQ性格复杂多变Q有时会(x)极易与h相处Q推心置腏V有时则冯冰霜Q对人处处提Ԍq起一道防护网?

站立时两手双握置于胸前的人:(x)其性格表现为成竹在胸,对自q所作所为充满成功感Q虽然不至于睥睨一切,但却t躇满志Q信心十?

站立时双脚合qӞ双手垂置w旁的hQ性格特点诚实可靠Q@规蹈矩而且生性坚毅,不会(x)向Q何困隑ֱ服低头?

站立时不能静立,不断改变站立姿态的人:(x)性格急躁Q暴烈,w心l常处于紧张的状态,而且不断改变自己的思想观念。在生活斚w喜欢接受新的挑战Q是一个典型的行动M者?

       在电(sh)车或是普通椅上Q常左脚跨在右脚之上者,通常均是(zhn)有脑溢血的hQ而且他们的脸色较思h要红Q这是由于右脚的兌不能自由zd而导致的现象Q由于右脚有毛病Q很隑ְ其置攑֜左脚之上所造成的后果?

通常Q不论哪只脚在上Q大凡摆在上面的那只脚易于疲功뀂当脚部出现疲劳现象Ӟ可做脚腕部位的上下运动及(qing)扇Şq动Q促使毛l管扩张Q促q血液@环,会(x)大大有益于缓解病症?

坐稳后两腿张开姿态懒散者,一般的说来都比较胖。这Uh׃腉K的肉q多Q行C十分方便Q说得比较多而做得相对要。这cMh属于豪言壮语型,头脑中想的事情经常是被夸大了的?

坐下时左肩上耸,膝部紧靠Q致使双腿呈X字Ş的hQ一般均比较谨慎Q但他的x力特差,也缺男子汉的气。即使是一个男性,他也是比较女性化的男性。如果你对他有过多希望的话,其结果多为失望?

坐下手臂曲vQ两脚向外的hQ其x力十分迟钝。每天他都在不断地计划些事物Q但却什么也实现不了。这Uh的理想与行动非常不协调,喜欢做白日梦。如果与此类人共事,怿一q中?x)出C间断的纠U?

坐下时两脚自然外伸,lh以一U十分沉着冷静印象的hQ属直情径行cd。这些h大都w体健康Q对疄的抵抗力很强。就命运而言Q他也是非常q运的?

坐下Ӟ一只手撑着下巴Q另一只手搭在撑着下巴的那只手的手肘之上,且架着“二郎腿”的人,大都不拘节Q面对失败亦能泰然自若。不q,如果你被q种惑住Q他?x)厚颜无d去逃避责QQ甚臛_你出各U利p卑鄙的手段?

双肩端vQ一脚架攑֜另一只脚之上作出庄重堂皇之态的人,虽然志向q大Q但却缺乏具体计划,致他的志向如空中楼阁一般,无法实现?

坐在车上两脚长在外Q妨通道Q同时将双手插在口袋里的人,大多是困R倒之人。如果其相貌长得不好Q通常伴有恐吓或胁q他人的行ؓ(f)。对q种人,最好采取敬而远之的态度?

两脚弯曲Q两手架在桌上伏w看书的人,Ҏ(gu)(zhn)甲状腺异常?qing)筋肿等疄。如果是q视眼的人,他也可能?x)稍E抬起屁股看书?

坐着看书Ӟ脚尖坚vQ同时眼睛不断向上翻的hQ肯定是个急性子。这是一U天生的个性。即使他有很多看书的旉Q但他还是显得非常匆忙,无法q_静气地看书?

驼着背看书的人,大多是高龄hQ这U风貌是借着领取退休金颐养天年的作风?

在读书时Q用手撑着下巴且姿势不良的人,其读书效率极差,同时此一姿态也是他的理解及(qing)记忆均有困难的h的象征。一个真正求学的人,是不?x)用q种不良姿态读书的?

跪坐在桌前,两手大张撑在桌上q不时左双看者,如果他的态又很怡然自若Q那q就是一U计划大事业的姿态?

脚伸出桌底Qƈl常用手抚弄桌角的hQ是~Z力_意念的hQ很难成大事?

两脚前Q同时作Z卧姿态看书的人,常常是?zhn)有胃病的人。一个胃有毛病的人在q餐之后极易作出此种姿态?

一只脚跪坐Q另一只脚直立下垂的看书姿态,通常是瘦型老hQ多半把眼镜架在L下方。凡(zhn)胃?qing)肾病之人,多属此类型的人?

坐下后,把一只脚伸出去,而把重心攑֜另一只脚的女性,是一位非凡的自豪家。可是,如果q䆾自信的话Q反而会(x)使她变成一位厚颜无ȝx,使她的n心都无法正常发展Q进而变得非常虚假?

坐下后两脚同时倒向一方的人,是一个长旉站立工作的h的特有的?fn)惯。在百货公司里长期工作的x,其坐姉K常如此。这U坐姿的人,常能坚持自己的立场,不论别h如何批评Q她都不加理睬,也可以说是位脸皮很厚的女性?

坐下Ӟ脚尖朝外Q臂部与椅子紧密相脓(chung)Q这Uh非常耿直q脆Q直觉感十分发达?

坐下旉心向中,W一脚趾轻触地面Q脚部位稍E离开而正坐的方式Q是一U健L(fng)坐姿?/font>



David Lee 2010-03-01 14:00 发表评论
]]>
exit()和return的区?/title><link>http://www.shnenglu.com/Lee/archive/2009/04/09/79403.html</link><dc:creator>David Lee</dc:creator><author>David Lee</author><pubDate>Thu, 09 Apr 2009 15:26:00 GMT</pubDate><guid>http://www.shnenglu.com/Lee/archive/2009/04/09/79403.html</guid><wfw:comment>http://www.shnenglu.com/Lee/comments/79403.html</wfw:comment><comments>http://www.shnenglu.com/Lee/archive/2009/04/09/79403.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/Lee/comments/commentRss/79403.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/Lee/services/trackbacks/79403.html</trackback:ping><description><![CDATA[ <p>return   是 c语a中的保留字,指示E序正常l束Q而exit()是一个库函数Q后面可以加参数Q ?<br />  exitQ?Q也可以正常退出,如果加其它的数|(x)1Q?Q?...可以表示׃不同的错误原因而退出?/p> <p>按照书上说的,在main函数里面return跟exit是一L(fng)   <br />  但是实际应用中总能发现一些区?   比如C++?return?x)自动调用全局对象的析构函?   而exit不会(x).   </p> <img src ="http://www.shnenglu.com/Lee/aggbug/79403.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/Lee/" target="_blank">David Lee</a> 2009-04-09 23:26 <a href="http://www.shnenglu.com/Lee/archive/2009/04/09/79403.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>托管代码Q{Q?/title><link>http://www.shnenglu.com/Lee/archive/2009/04/09/79400.html</link><dc:creator>David Lee</dc:creator><author>David Lee</author><pubDate>Thu, 09 Apr 2009 15:24:00 GMT</pubDate><guid>http://www.shnenglu.com/Lee/archive/2009/04/09/79400.html</guid><wfw:comment>http://www.shnenglu.com/Lee/comments/79400.html</wfw:comment><comments>http://www.shnenglu.com/Lee/archive/2009/04/09/79400.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/Lee/comments/commentRss/79400.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/Lee/services/trackbacks/79400.html</trackback:ping><description><![CDATA[ <p>托管代码是可以?0多种支持Microsoft .NET Framework的高U语a~写的代码,它们包括QC#, J#, Microsoft Visual Basic .NET, Microsoft JScript .NET, 以及(qing)C++。所有的语言׃nl一的类库集合,q能被编码成Z间语a(IL)。运行库~译器(runtime-aware ompilerQ在托管执行环境下编译中间语aQILQ之成为本地可执行的代码,q用数l边界和索引查,异常处理Q垃圑֛收等手段保cd的安全?</p> <p>在托执行环境中使用托管代码?qing)其~译Q可以避免许多典型的D安全黑洞和不E_E序的编E错误。同P许多不可靠的设计也自动的被增Z安全性,例如 cd安全查,内存理和释放无效对象。程序员可以花更多的_֊xE序的应用逻辑设计q可以减代码的~写量。这意味着更短的开发时间和更健壮的E序?</p> <img src ="http://www.shnenglu.com/Lee/aggbug/79400.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/Lee/" target="_blank">David Lee</a> 2009-04-09 23:24 <a href="http://www.shnenglu.com/Lee/archive/2009/04/09/79400.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>不爱那么多只׃点点 李敖http://www.shnenglu.com/Lee/archive/2009/04/09/79383.htmlDavid LeeDavid LeeThu, 09 Apr 2009 14:27:00 GMThttp://www.shnenglu.com/Lee/archive/2009/04/09/79383.htmlhttp://www.shnenglu.com/Lee/comments/79383.htmlhttp://www.shnenglu.com/Lee/archive/2009/04/09/79383.html#Feedback0http://www.shnenglu.com/Lee/comments/commentRss/79383.htmlhttp://www.shnenglu.com/Lee/services/trackbacks/79383.html不爱那么多只׃点点Q别人的爱情像v深我的爱情浅。不爱那么多只爱一点点Q别人的爱情像天长我的爱情短。不爱那么多只爱一点点Q别人眉来又眼去我只L(fng)你一眹{。。。。?

David Lee 2009-04-09 22:27 发表评论
]]>
摘抄http://www.shnenglu.com/Lee/archive/2009/03/18/77064.htmlDavid LeeDavid LeeWed, 18 Mar 2009 12:45:00 GMThttp://www.shnenglu.com/Lee/archive/2009/03/18/77064.htmlhttp://www.shnenglu.com/Lee/comments/77064.htmlhttp://www.shnenglu.com/Lee/archive/2009/03/18/77064.html#Feedback0http://www.shnenglu.com/Lee/comments/commentRss/77064.htmlhttp://www.shnenglu.com/Lee/services/trackbacks/77064.html

David Lee 2009-03-18 20:45 发表评论
]]>
linux和unix的区别(转)http://www.shnenglu.com/Lee/archive/2009/03/15/76690.htmlDavid LeeDavid LeeSun, 15 Mar 2009 13:43:00 GMThttp://www.shnenglu.com/Lee/archive/2009/03/15/76690.htmlhttp://www.shnenglu.com/Lee/comments/76690.htmlhttp://www.shnenglu.com/Lee/archive/2009/03/15/76690.html#Feedback2http://www.shnenglu.com/Lee/comments/commentRss/76690.htmlhttp://www.shnenglu.com/Lee/services/trackbacks/76690.html Linux 的源头要q溯到最古老的UNIX?969q_(d)Bell实验室的Ken Thompson开始利用一台闲|的 PDP-7计算机开发了一U多用户Q多d操作pȝ。很快,Dennis Richie加入了这个项目,在他们共同努力下诞生了最早的UNIX。Richie受一个更早的目——MULTICS的启发,此操作pȝ命名?Unix。早期UNIX是用汇编语言~写的,但其W三个版本用一U崭新的~程语言C重新设计了。C是Richie设计出来q用于编写操作系l的E序语言。通过q次重新~写QUnix得以UL到更为强大的 DEC PDP-11/45?1/70计算Zq行。后来发生的一切,正如他们所_(d)已经成ؓ(f)历史。Unix从实验室走出来ƈ成ؓ(f)了操作系l的LQ现在几乎每个主要的计算机厂商都有其自有版本的Unix.

Linuxh于一个学生的单需求。Linus Torvalds,Linux的作者与主要l护者,在其上大学时所买得L(fng)唯一软g是Minix. Minix是一个类似UnixQ被q泛用来辅助教学的简单操作系l。Linus 对Minix不是很满意,于是军_自己~写软g。他以学生时代熟(zhn)的Unix作ؓ(f)原型Q?在一台Intel 386 PC上开始了他的工作。他的进展很快,受工作成l的鼓舞Q他这Ҏ(gu)果通过互连|与其他同学׃nQ主要用于学术领域。有人看Cq个软gq开始分发。每当出现新问题Ӟ有h?x)立L到解军_法ƈ加入其中Q很快的Q?Linux成ؓ(f)了一个操作系l。值得注意的是Linuxq没有包括Unix源码。它是按照公开的POSIX标准重新~写的。Linux大量使用了由ȝ剑桥免费软g基金的GNU软gQ同时Linux自n也是用它们构造而成?br />

另外两大区别Q?br />1Q?UNIXpȝ大多是与g配套的,而Linux则可q行在多U硬件^C.
2Q?UNIX是商业YӞ而Linux是自pYӞ免费、公开源代码的.
UNIX(5万美?而Linux免费


David Lee 2009-03-15 21:43 发表评论
]]>
叔R懿的人生规划(转脓(chung))http://www.shnenglu.com/Lee/archive/2009/03/07/75802.htmlDavid LeeDavid LeeFri, 06 Mar 2009 23:19:00 GMThttp://www.shnenglu.com/Lee/archive/2009/03/07/75802.htmlhttp://www.shnenglu.com/Lee/comments/75802.htmlhttp://www.shnenglu.com/Lee/archive/2009/03/07/75802.html#Feedback0http://www.shnenglu.com/Lee/comments/commentRss/75802.htmlhttp://www.shnenglu.com/Lee/services/trackbacks/75802.html什么是人生规划Q是指一个hl合自n实际情况Q根据眼前的机遇和制U因素,U极d地确立自q事业
发展 方向、奋斗目标,然后到这一目标而确定行动时间和行动Ҏ(gu)?br />  人生规划的正与否,直接关系C个h毕生的成败。而在生存竞争Ȁ烈的时代Q一个h是否h正确的h生规划以立n处世Q就昑־ؓ(f)重要?/font> 历史 上的、蜀、吴三国时期Q就是一个生存竞争非常激烈的时代Q“智者恃谋而立w,勇者恃力而行道”,能够脱颖而出、名垂青史的Q如贾诩、荀攸、诸葛亮{hQ都是正把握了自己人生规划的高手。但三国雄之中Q称得上把自q人生规划做得最完美最_ֽ的,W者认为非国?/font> 叔R?/font> 莫属?br />  叔R懿是三国历史上一个至关重要的人物。如果没有他Q三国纷争的历史大概不会(x)那么快就l束Q也许还?x)再演绎数十q_(d)如果没有他,大晋王朝应民心的统一大业Q也不可能那么水到渠成、来得轻dy巧。是他,上承之强盛Q下启晋之统一Q成׃U皇汉帝那样的丰功伟业,天下万民从׃争战之中解救出来。所以,他堪U“命世之英,非常之雄”?br />非常之hQ必有非怹处。《晋书》上U司马懿“少有奇节,聪明多大略,博学z闻Q伏膺儒教。汉末大乱,常慨然有忧天下心”。在W者看来,最能凸现司马懿善于规划自己人生的,便在“聪明多大略”五个字上。以史书资料Z据,让我们来看一看司马懿是如何施展他的聪明才智来q行人生规划的?br />  古h云:(x)“良择木而栖Q贤臣择主而事”。在徏 C会(x) Q一个h事业上的建树(wi)Q主要在政治、军事方面;而在政治、军事方面有所建树(wi)Q则全凭个h与上U的关系如何。所以,Ҏ(gu)叔R懿辅佐的四个君主Q可以大致将他的人生规划分ؓ(f)四个阶段Q魏武帝时期、魏文帝时期、魏明帝时期、魏帝曹芳时期。而我们就可以从这四个时期分阶D|观察叔R懿的人生规划?br />  一、魏武帝时期
  首先Q我们有必要了解一下魏武帝Ҏ(gu)的个性特色与为政风格。史书上U曹操“知人善察,隄以伪Q创造大业,文武q施”,同时又“持法峻刻,诸将有计谋胜出己者,随以法诛之,?qing)故人旧怨,亦皆无余。”是一个名副其实的“雄猜之丠Z?br />  另外Q曹操在自己的用人导向上存在着严重的“既重才Q又忌才Q既用hQ又疑h”的双重性。他很看重部下的才能和实力,但又不允?dng)R下的才能与实力超Z和他的后人的可驾驭范围。《三国志》上记蝲了这样一个事例:(x)荆州年周不疑,q十七,有异才Q聪明敏达,Ҏ(gu)Ʋ以奛_之,周不疑不敢当。曹操爱子曹Ԍ亦有qh之智Q可与周不疑相比。后曹冲病死Q曹操心忌周不疑Q欲除之。曹丕以Z可,Ҏ(gu)曎ͼ(x)“此人非汝所能驾御也。”遂遣刺客杀之。这一事例Q完全证明了Ҏ(gu)用h路线的“双重取向”?br />  叔R懿对Ҏ(gu)q种用h导向是认识得很深ȝ。当q他出山任职时因不满Ҏ(gu)挟天子而o(h)怾的叛臣行径,“知汉运方微Q不Ʋ屈节曹氏”,在曹操慕其名x他收|到帐下Ӟ他假扮?zhn)“风痹”之症作为推辞的理由Qƈ且还以“坚卧不动”的高超演技骗过了曹操派来刺探虚实的人。但骗得了一Ӟ骗不q一世。曹操当了丞怹后,再次敦请叔R懿出仕,而且明确地发Z“若复盘桓,便收之”的威胁。这时候的叔R懿,自知不以与权势显赫的曹操相抗衡Q只得“惧而就职”。君己无Cg先,臣又怎能忠事于后Q!显而易见,在这U极其被动的情况下,叔R懿虽已加入到Ҏ(gu)阵营之中Q却很难马上发挥其过人的p与谋略?br />
即便q了丞相府,叔R懿也是很不安全的。《晋书》上记蝲Q“魏武察?指司马懿)有雄豪志Q闻有狼儡。欲验之Q乃召前行Qo(h)反顾Q面正向后而n不动。又梦三马同食一槽,甚恶焉。因谓太子丕曎ͼ(x)‘司马懿非h臣,也必预汝家事。’”可见,Ҏ(gu)对他的猜忌之深,辑ֈ了“必Ʋ除之而后快”的地步?br />  叔R懿这时的人生规划W一个重点便是“韬光养晦,d֐Q明哲保w”。他军_用自q务实和苦q换取曹操的信QQ“于是勤于吏职,夜以忘寝Q至于刍牧之_(d)(zhn)皆临Q由是魏武意遂安”。是啊,M一位君主,看到有这样公而忘U、废寝忘食、尽心尽力的臣子己效忠,又怎会(x)产生叉|之心以制之?Ҏ(gu)在最后终于接受了叔R懿的效忠Qƈ对他q行了提升,所以他能从当初刚入丞相府的“文学掾?文牍之官)一直做C相府ȝ(相当于现在的国务院秘书长)?br />        但在明哲保n的同Ӟ叔R懿丝毫也没有放松对自q历练。这是他q段时期人生规划的第二个重点。他在当时的丞相府中扑ֈ了两个榜样——荀彧和Ҏ(gu)。应该说Q在丞相府的历练q程中,他时时处处都在学?fn)这两个榜样的长处。但叔R懿注意到了这一点:(x)荀彧作为高明的谋略Ӟ他的长处仅仅局限于q筹帷幄之中Q?/font> 发展 的空间太狭窄Q始l只能隐在幕后,而无法驰骋疆场,M 历史 的大舞台。而曹操不同,他就是一个“能谋能战”的大枭雄,他的发展I间比荀彧更qK。从注意到这一点开始,素怀“治国^天下”大志的叔R懿学?x)了有计划、有步骤的自我锻|使自己逐步完善成ؓ(f)集曹操、荀彧二者之长于一体的“文武双全、出入相”的真正?br />  最后,我们来谈叔R懿在武帝时期h生规划中Q最重要也是最_ֽ的一W了——扶助曹丕成为太子。《晋书》上讲他Q“魏国既建,q太子中庶子。每与大谋,辄有奇策Qؓ(f)太子所信重。”儒家学说里Ԍ(x)“己Ʋ立而先立hQ己Ʋ达而先达h”,叔R懿ؓ(f)了摆脱处于中层官僚的命运Q直接在曹丕w上痛下苦功Q只要将在夺嫡之争中处于劣势的曹丕推上太子宝座,他就可以成ؓ(f)辅佐元勋而进入魏国最高统治阶层。于是,他想了种U策略,挫|了曹丕的政敌——曹植一党的dQ终于曹丕M了太子之位。而这一步棋?/font> 成功 Q直接媄响了叔R懿的一生。从此,他逐渐q近了魏国的最高统治阶层?br />  q一时期Q从叔R懿初入丞相府时的二十?ji)岁vQ到武帝逝世时他满四十岁为止Q他Z“一跃而v、一飞冲天”而整整耗去了十一q的旉?br />  在这十一q里Q可以看出司马懿的h生规划完全遵循儒家立w处世之道:(x)修n、齐家、治国、^天下。司马懿牢牢把握住了儒家之道的核心环节——“修w”。只有“修w”功夫做得实、做得好Q“治国^天下”的大志才不?x)是无本之木、无源之水?br />  “修w”这一NQ在叔R懿看来,又可具体成“藏器于w,待时而动”八个字Q也是“识时务”:(x)Ҏ(gu)时势的需要,密切联系实际情况Q以dq_下之大志为导向,扎实ȝ自n各方面的能力Q随时准备接受命q的考验与挑战。他最高明的一点就是——在什么时候、什么环境下需要突己哪一斚w的能力以脱颖而出Q他一向对此算计得十分_。所以,叔R懿能在魏武帝时期(zhn)然无声而又不可遏制地崛赗?br />  他的qx青云Q也真正印证了《荀子》里那段名言Q“无冥冥之志者,无昭昭之明;无惛惛之事者,无赫赫之功”?br />
  二、魏文帝时期
  C文帝曹丕时期,叔R懿才真正q来了他风水的h生阶Dc(din)?br />  建安二十五年春正月,叔R懿当时四十岁Q汉丞相、魏王曹操于z阳病逝。当旉王府外有前来夺权的曹彰问|之师,内有诸\兵马暴ؕ之迹Q而汉室遗臣们也有蠢蠢Ʋ动之相。史书上Ԍ(x)“及(qing)武薨于z阳Q朝野危惧”。司马懿在这个时候毅然挺w而出Q“纲U事,内外肃然”,用自q卓异才识镇了岌岌可危的时局Q稳定了人心Qƈ说服汉献帝正式册立曹丕ؓ(f)丞相、魏王?br />  他这初显w手之DQ更是进一步赢得了曹丕的信d重用。当曹丕一立ؓ(f)王Q立卛_他ؓ(f)|亭侯Qƈ转Q丞相长史Q成为魏王府中的核心人物之一?br />  q时Q司马懿已消除了武帝时处处受到压制的威胁,可以直抒胸臆大显w手。他先是
{划 了以代汉受的“大略”,后又为魏文帝南征而“留守许昌,内镇癑֧Q外供军资”,q被文帝称为“萧何”之材。魏文帝病重Ӟ仍不忘封他和曹真、陈ؓ(f)֑辅政大臣Qƈ诏太子曹?Q“有间此三公者,慎勿疑之”。显而易见,叔R懿已跻n于曹政权最高决{者的行列?br /> 现在我们可以来分析司马懿q段时期的h生规划:(x)首先Q曹丕能当太子、能当魏帝,出力最多、功x大的Q应属司马懿(史书上虽没有清楚地描l司马懿的种U谋略,q更昑և了他的“阴”和“深?。而曹丕本人对叔R懿亦是非常感ȀQ所以司马懿用不着再畏惧君ȝ猜忌了。加之,曹丕l了他宽杄 发展 环境和广阔的 历史 舞台Q这对他“成大器、胜大Q”来_(d)是一U极佳的铺垫?br />  但曹丕一向喜Ƣ耀武扬威、好大喜功,自己q无军事才能Q又爱征战杀伐。于是,在武事方面,叔R懿不敢暴露自q真才实学QQp个虚荣心极强的君d大出风头。但他却是埋下头来,扎扎实实担负起了丞相的重任,在文政方面做C有所建树(wi)。这时候的叔R懿还不想锋芒毕露Q显得有些低调,q是有原因的Q虽说曹丕对他极Z任,但在军事大政斚wQ他q是偏向于倚重自己的曹氏宗二Ӏ而司马懿也没有必要急于昑և掌握光|的意䏀—“先安内Q后取外”,毕竟丞相之职Q对叔R懿而言Q亦可算是不错的q_?br />  叔R懿立w行事的牚wQ我们这时也可以清楚地看出来了:(x)目光q大Q计谋深沉,遇事dQ办事缜密,滴水不漏Q毫无瑕c(din)所以,他能在曹丕时期稳打稳扎地真正崛vQ而始l立于不败之地?br />  曹丕LQ他q龄为四十七岁。在曹丕为帝的这七年里,叔R懿迎来了崭露头角的辉煌时期。但q七q里Q他的舞台还不够qKQ他只是默默地在后方夯实着室的基业。但叔R懿已不甘于隐在幕后了Q他准备着C历史前台大展w手。而这一机遇很快p到来?/font>



三、魏明帝时期
  公元227q_(d)太和元q_(d)曹丕的儿子曹睿登Zؓ(f)明帝。他l了叔R懿表现军事才能的Z(x)。当Ӟ东吴孙权率领C雄师围困了魏国的江夏城,q派大将诸葛瑾、张霸攻打襄阛_。司马懿立刻率军出击Q大败吴寇,诸葛N走Q张霸被斩。司马懿q一赫赫战功Q立dC回报Q他被Q命ؓ(f)骠骑大将军?br />  xQ司马懿可以开府治事——有了自q办事机构和统归自己指挥的军队Q可以培植自q力量。作为曹丕“东宫四友”之一的老臣吴质也在曹睿面前U赞他:(x)“忠公,C之臣”。司马懿的威望,日渐隆盛?br />  随着室最得力的宗氏大臣曹真的dQ司马懿开始在国军政界独领风?d)。魏明帝对他的放手Q用,更加有利于他文韬武略的进一步发挥。在明帝时期,他从一个谋臣顺利{型ؓ(f)一个充满了戏剧色彩的武。他p不露的军事才能得Cq一步淋漓尽致的发挥。他在明帝当政的十三q里Q南q_臣孟达,西拒诸葛亮,北摧公孙渊,招招见血喉、凌厉之极,q吴国国d权也不得不ؓ(f)之惧服:(x)“司马懿善用兵,变化若神Q所向无前”?br />  叔R懿这时h生规划的重点是:(x)用显赫的军事业W巩固自己的政d位,同时利用“养寇以自重”的{略来慢慢蚕食魏室的军政Z?br /> 应该_(d)q时候的叔R懿目光ƈ没有局限于l护室的一国之安,他早已开始着手实施“肃清万里,总齐八荒、^一天下”的大志与大略。他年时代侎쀜慨然有忧天下心”,C接近老年时才l于获得了“ؓ(f)天下解忧Qؓ(f)万民解困”的机遇和条件。这个历E,让他苦心l营了整整三十七q_(d)
  首先来看叔R懿军事上_ֽ的第一W——旬月之间擒灭叛臣孟达。他是精于用急行军和潜行军的大师Q当他陡然从天而降兵(f)上庸城下Ӟ孟达q在做他的春U大梦呢Q于是,可怜的孟达便被他迅速而有力地一下扫q了Q干净利落Q毫不拖泥带水。这可以看出叔R懿的用兵特色Q静则隐于九(ji)C下,令h无从发觉Q动则发于九(ji)天之上,令h猝不?qing)防。而从他与明帝论兵时自aQ“凡LQ必先扼其喉而捣其心”,更见他善于集中优势兵力直L之要実뀂所以,他往往是不发则Ԍ一发必中,D敌于鬼莫之际?br />  但ؓ(f)什么到了与诸葛亮对阉|Q他又怎么不采用这U敏捗果冟뀁刚猛的战术呢?q正是笔者要讲的——他人生规划的重点ƈ不是一味炫耀军事才能Q他要着手实施他“扫q三国,一l天下”的大略了!

下面我们来仔l分析诸葛亮和司马懿的祁׃战。这是一场持久战Q司马懿从四十九(ji)岁打C十五岁,整整打了六年Q打Z诸葛亮“鞠w尽瘁,死而后巜y的千古盛誉Q也打出了司马懿“扫q三国、统一天下”的雄厚资本。受|诏中《三国演义》的影响Qh们M为司马懿军事才能不如诸葛亮,处处被诸葛亮늝d走。然而根据史书记载来看,事实Ҏ(gu)不是q样的。首先,我们要弄清他俩在山之战的真正目的。诸葛亮?/font> 战略 目的很简单:(x)M中原Q消灭曹,光复汉室。司马懿的战略目的就复杂多了Q一、挫败蜀军进攻;二、积蓄力量,取曹而代之;三、养兵千日,伺机l一天下。这多重性质的战略目的,让司马懿在表面上昑־g有些被动。但Ҏ(gu)自己的战略目的,他第一步做Cl持现状的^衡战略:(x)一斚w防止诸葛亮获得大的优势,寚w国和自己造成致命威胁Q另一斚w又不能击溃诸葛亮Q还要保持诸葛亮的攻d。“空城计”如果是真的史实Q就验证了司马懿的这个^衡战略——所以,他宁可被部下UCؓ(f)“畏蜀如虎”,也不愿冲q西城小县抓住诸葛亮。真要是抓住了诸葛亮Q司马懿只能重复历代功臣“兔ȝ烹”的戏剧性命q了?br />  W二步,叔R懿实施了“偷天换日”的位战略。在山之战期间Q他慢慢?wi)立了自己在军队中的l对权威Qƈ肃清了军中的异己分子Q重用牛金、郭淮等忠于自己的将领,夯实了自q军权基础。我们可以通过后来?/font> 历史 来验证,当他的儿子司马师、司马昭叛魏之时Q魏国大臣很有站出来反抗的Q甚臛_书上都是寥寥几笔带过。曹氏政权如同纸屋一般一下就崩溃了,q个量的U篏可不是司马师、司马昭当时所能造就的,应该是司马懿从掌握军政实权开始就着手ؓ(f)儿子们做好的铺垫?br />     
  W三步,叔R懿已在祁׃战中开始积蓄“扫q_蜀、统一天下”的资本了。他指挥大军与诸葛亮对峙Q大战必避,战必迎Q以实战l军士,以实战养军威Q?/font> 成功 地徏立了一支能征善战的军队Qؓ(f)来消灭吴蜀、统一天下作好了军事上的准备。而魏国后期抗吴灭蜀的大郭淮、王昶、邓艄 人才 Q就是司马懿那时在祁׃战中一手培d提拔h的?br />  W四步,叔R懿已着手历l自׃业的l承者——他的儿子司马师与司马昭。他两个儿子带到祁׃战中Q接受血与火、生与死的锻|Z俩将来顺利承自己“一l天下”的事业做好了充的素质准备?br />  q四步高招,是司马懿在祁山对峙中真正的事业,也是他这D|期h生规划中的神来之W。虽Ӟ他在和诸葛亮的对抗中Q似乎没有取得表面上的胜利,但他的所有战略目的都辑ֈ了。这便是他的最大胜利——更何况他还拖死了积x疄诸葛亮?br />  诸葛亮死后没多久Q司马懿刚一q回朝h(hun)Q又被曹睿派往辽东L公孙渊。这是一场大规模的远征战役,但用兵如的叔R懿只率四万h马,“往百日Q返百日Q攻百日Q以六十日ؓ(f)休息”,仅仅用了一q的旉Q便d扫^了公孙渊QmZ国的后斏V?br />  而这时曹睿已w?zhn)W疾Q一场朝h力交接战又拉开了帷q。司马懿煞费苦心安插在明帝n侧的“内应”——魏中书监刘放、中书o(h)孙资拼死力争Q将q在万里之外得胜归来的司马懿再一ơ推上了֑辅政之位。至此,wؓ(f)“三朝元老”的叔R應Kq魏国政坛,新的征程在他脚下延开来。虽然这时司马懿已年满六旬,但他雄心不减当年Q积极准备着l往开来、再创辉煌。吴国、蜀国此L深深感到了司马懿的巨大威胁,然而一切都晚了Q他们国中已l没有Q何h可以与司马懿Ҏ(gu)了?br />  四、魏帝曹芳时期
  少帝曹xQ司马懿已站C权力的顶峰。这个时候能够阻止他大展雄才的h应该没有了。他挟“四朝元老”之威望Q负“伊V周公”之才dQ谁也不敢和他的q见卓识相抗。他在魏国军政大事上的每一ơ决{和行动Q都是完无~的?br />  但另一个顾命辅政大臣曹爽却x司马家族终有一天会(x)垄断朝政。于是他用了“欲抑先扬”之术,敬事叔R懿如Ӟ推D他ؓ(f)“太傅”,外示崇Q而实则夺了他的军政大权?br />  叔R懿处I名而无实权Q一晃就是十q。在q十q里Q他处处C弱Q隐忍不发,静观其变。果Ӟ曹爽志得意满之后走向了狂(zhn)与淫慢。他作威作福Q秽政横行,以致大臣d、物议沸腾,国国势也渐衰弱?br />  q是叔R懿无法忍受的。他可以忍受曹爽夺权Q也可以忍受曹爽胡作非ؓ(f)Q但他绝不能忍受曹爽毁掉他辛辛苦苦ؓ(f)国夯实的“一l天下”的大业根基。他己“达则兼天下”的大志已不懈奋斗了q四十年Q怎么可能让无知小儿曹爽来LQ?br />  于是Q“高q陵事变”不可避免地发生了。曹爽一z被叔R懿用雷霆手段一举摧灭?br />  叔R懿在最后处|曹爽时Q用了“斩草除根”之法,曹氏宗亲翦灭殆。这一举措甚至招致了他的好友蒋的反对。但他必这么做。只有不留后(zhn),才能保证朝局的稳定啊Q况且,叔R懿已C了一条与曚w政权册的不归之路?br />  公元251q_(d)嘉q三q_(d)叔R懿已七十二岁了。他在除掉最后一个政敌王凌后Q病Mz阳Q真可谓“生命不息,战斗不止”?br />  叔R懿(f)l前Q把两个儿子叔R师、司马昭叫到d_(d)(x)“吾事魏历年Q官授太傅,之位极矣Qh皆疑吾有异志Q吾怀恐惧。吾M后,汝二人善理国政,慎之Q慎之!?br />
对于叔R懿所a的“慎之”,也许有两层意思可以理解:(x)其一是让二子善理国政Q不可以心生异志Q其二是让二子善保国政,不可L托付他h。但是无论司马懿本h有没有异志,有一Ҏ(gu)可以肯定的,那就是通过他的不懈l营和艰苦努力,已经为后人的事业创造了最佳的政治、军事和
l济 条g。司马懿dQ司马师和司马昭分别被封为大军和骠骑上军Q总领书机密大事。从此对于曹而言Q皇帝之势微而国家之势强Q军政大权,归叔R氏专断?br />  “山争_(d)水必归vQ非h之,其势Z。”叔R懿之后,呈现在司马昭、司马炎面前的天下大势,可谓“居高视下,势如劈竹”。他们所要做的,只是流而下Q去完成 历史 所赋予的某U必然?br />  公元262q_(d)将邓艾h阴^、奇袭成都得手。次q_(d)蜀后主刘禅降魏Q至此,蜀汉政权历二帝Q前?2q_(d)l于宣告l束?br />  公元265q_(d)叔R昭之子司马炎逼魏L奂禅位,叔R炎登基,改国号ؓ(f)晋;公元280q_(d)叔R炎进讨吴国,吴主孙皓降晋Q吴国灭亡。从而结束了蜀吴三国之间长达七十二q的h局面,q就?/font> 中国 历史上的“三分归晋”?br />  ?l?br />  叔R懿是一个集政治家、军事家、权谋家于一w的儒家奇才。当Ӟq是?/font> 成功 之后Qh们给他定的性质?br />  Z?x)说Q儒家以“忠孝”ؓ(f)本。司马懿本就不是之U臣Q也不尽忠于Ҏ(gu)Q怎么q能说他是儒家奇才呢Q其实,儒学的根基是一个“仁”字。司马懿除魏之苛ѝ抚民于安乐Q这不是“仁”吗Q司马懿消ؕ世之U争Q统一天下Q拯万民于战火之中,q不是“仁”吗Q——“仁”比“忠”更大呀Q这才是真正的儒者应持的观点?br />  因ؓ(f)仁者无敌,所以司马懿无敌?br />  叔R懿从一个有志有才的青年Q到一个内政军事名满天下的奇才Q再C个治国^天下的英雄。这完全应归功于他的人生规划做得完美无缺。在他h生的每一个重要机遇期里,他总能把握住最x机出手,而且一抓就是硕果篏累,q是难能可贵的?br />  更可늚Q是他能忍:(x)面对Ҏ(gu)的歧视和压制Q他能忍Q面对同僚的排挤和陷宻I他能忍;面对诸葛亮的“巾g辱,”他能忍Q面对小辈曹爽的ZQ他也能忍。他人生规划中最璀灿的亮点Q就是他的“忍”——坚癑ֿ以图功业之终成。一个“忍”字贯穿了司马懿的整个h生规划;一个“忍”字Q造就了千古一帝司马懿?br />


David Lee 2009-03-07 07:19 发表评论
]]>[转]VC 常用插ghttp://www.shnenglu.com/Lee/archive/2009/02/25/74812.htmlDavid LeeDavid LeeTue, 24 Feb 2009 16:27:00 GMThttp://www.shnenglu.com/Lee/archive/2009/02/25/74812.htmlhttp://www.shnenglu.com/Lee/comments/74812.htmlhttp://www.shnenglu.com/Lee/archive/2009/02/25/74812.html#Feedback0http://www.shnenglu.com/Lee/comments/commentRss/74812.htmlhttp://www.shnenglu.com/Lee/services/trackbacks/74812.htmlhttp://www.wholetomato.com/

VA?.0一直到现在的VAXQ功能越来越强大Q除了以前版本中的自动识别各U关键字Q系l函敎ͼ成员变量Q自动给入提C,自动更正大小写错误,自动标示错误{等以外Q最新的版本中还?/p>

WorkSpaceH口中加入一个VA ViewQ可以更方便的查扑ַE中的文件、类和变量?/p>

 

2.WndTabsQ强烈推荐)

http://www.wndtabs.com/

WndTabs主要是在~辑H口中显CZ所有已l打开的文Ӟ在VC中能够更方便的操作这些文Ӟ比如修改文g属性,copy文g路径、文件名{,q且q开放源代码Q你要是愿意的话Q可以添加自己很兴趣的功能?/p>

 

3.LineCounter

http://www.wndtabs.com/

用来l计整个工程的代码行敎ͼ包括总行数、代码行数、注释行数、空行数{,q且对多个工E一L(fng)计时Q不?x)把相同的文件计多?

 

4.Spelly

http://www.wndtabs.com/

一个拼写检查的插gQ可以对整个文g或所选部分进行拼写检查,支持C/C++/C#, VB, Fortran 和HTML?/p>

 

5.SourceStyler C++

http://www.sourcestyler.com/

此插件是针对C++的一个格式化工具Q可以针对自q~码?fn)惯Q选择一U编码风|也可以自己定义,而且定义非常详细Q有表达式、指针、模ѝ类、枚丄十几U,肯定能满你的需要?/p>

 


6.Numega BoundsCheckerQ强烈推荐)

下蝲Q百度一下…?/p>

是针对Visual C++6.0应用E序的最为全面的错误工兗BoundsChecker 能自动指出静态,堆栈内存错误和资源泄漏问题。BoundsChecker 能够校验最新的 Windows APIsQ包?ActiveX, DirectX, OLE/COM, ODBC{等。能够发C Windows q_兼容性?/p>

 

7.BCGControlBar Library

下蝲Q百度一下…?/p>

非常好的一套应用于vc6的界面扩展类库,L的作?vc2003 的界面。ƈ且给了各U界面例子,如vc.net、outlook、更换皮肤等{?/p>

 

8.Comment Wizard

下蝲Q百度一下…?/p>

Visual C++插gQ提供了Visual C++源代码注解标准化与自动化功能。在它的帮助下,(zhn)可快速创建标头文件信息注解,文g中模块注解, C++处理方式Q以?qing)E语言功能与历史校正功能注解,{等?/p>


AutoComment:源代码(注释插gQ?br />UploadFiles/2006-12/127265382.zip

FastUtilities(注释插g)
UploadFiles/2006-12/127179180.rar



David Lee 2009-02-25 00:27 发表评论
]]>
(zhn)观E序员的五g武器(?http://www.shnenglu.com/Lee/archive/2009/02/25/74809.htmlDavid LeeDavid LeeTue, 24 Feb 2009 16:21:00 GMThttp://www.shnenglu.com/Lee/archive/2009/02/25/74809.htmlhttp://www.shnenglu.com/Lee/comments/74809.htmlhttp://www.shnenglu.com/Lee/archive/2009/02/25/74809.html#Feedback1http://www.shnenglu.com/Lee/comments/commentRss/74809.htmlhttp://www.shnenglu.com/Lee/services/trackbacks/74809.html http://blog.gkong.com/more.asp?name=linkman&id=27854
我不知道Q自q在还不一个程序员。如果还程序员的话Q我肯定不是那种l顶聪明的程序员?/p>

我不是一个聪明的E序员,不能在键盘上手指飞Q灵光似剑,一日千行,闭目成章。大师的高度Q远非我能指望,我会(x)犯很多错误,只是一个普通的E序员?/p>

所以,对于~程Q我是一个?zhn)观主义者?/p>

我不怿Q所~写的程序能够一ơ编译通过Q也不相信,能在安程序的所有错误都扑ևQ而不需要出差现场;更不怿Q我的程序能够在不同的环境下Q对各种异常Q都处理得非常完;不怿Q我的程序没有Q何内存丢失,可以q箋q行一周?/p>

我本来不是一个?zhn)观主义者,曄的我Q是那么Ȁ扬那么狂妄,只是一ơ次被打击,让我来务实,来冷静,来清醒地看待自己。随着岁月的增长,我编E的ơ数已越来越,但是Q我的?zhn)观主义思想却越来越?/p>

一打开E序Q我便想刎ͼ因ؓ(f)软g出错Q而不得不l用户写讨;便想刎ͼ因ؓ(f)每月L一ơ,客户Ҏ(gu)大发雷霆Q便惛_Q因Z品质量问题,而陪客户喝酒Q连饮七大瓶啤酒?/p>

那七瓶要命的啤酒Q依然不能让客户回心转意Q于是,我成了一个?zhn)观程序员?/p>

我是(zhn)观ME序员,好在q有五g武器?/p>

W一件武器:(x)断言QASSERTQ;

我希望,M调用我的模块的程序,都能按照希望的参数格式和调用Ҏ(gu)Q正地调用我的模块。因此,在我所~写的每一个模块内Q都?x)大量地使用断言QASSERTQ,在模块中加上了断aQ我便相信,E序模块有了一个一个相对真实的调用环意Q便有了一U虚qȝ安全感?/p>

W二件武器:(x)静态代码检工P如PC-lintQ有时也使用~译器的最严格的编译别;

我从不认为,自己是一个对C/C++/VC{,都非常熟(zhn)的E序员,l常?x)不心使用一些不正常的语法,或是不太考虑字段的边界,因此Q在E序~到一定的阶段Q都?x)采用pc-lintQ对我所~写的程序,q行严格的编译检查?/p>

W三件武器:(x)动态代码检工P如boundcheckQ?/p>

对于C/C++E序员而言Q最大的痛苦是内存泄漏Q或其它资源泄漏了,我对内存泄漏有天生的恐惧Q也l常在内存丢失方面犯错误Q因此,在品发布给用户前,一定会(x)采用动态代码检工Pq行一ơ彻底的试?/p>

W四件武器:(x)单元试工具Q如cppunitQ?/p>

我没有够的自信Q认p够很好地N多个模块的大型程序,也不怿自己写过的、超q?0行的E序?x)没有问题,因此Q我?x)尽量引入单元测试,?gu)一个重要的函数或模块进行地毯式单元试Q当看到那一遍测试通过的绿Ԍ才能够安心地回家睡觉?/p>

W五件武器:(x)调试信息Q?/p>

我相信,我所~写的所有程序,都不可能一ơ成功,即便再认真地调试查,再多地厂内工作,在现是免不了?x)出问题。因为,不可能在安模拟现场所有的情况Q也不能够对各种异常情况q行完整地猜。因此,在我所~写的很多程序中Q特别是与监控有关的、需要长期、连l运行的E序Q都?x)加上尽可能多的调试信息?/p>

在程序中加上调试信息Q是我最后的E草Q有了它Q我l于敢将产品战战兢兢Cl客戗?/p>

那么Q调试信息应该记录哪些内容?我想说的是,调试信息应该能够记录现场所有的信息Q包括:(x)

E序的启停状态;
调用它hE序的边界参敎ͼ
被它用的E序的边界参敎ͼ
与外部环境的边界Q包括操作系l、文件系l、硬件、数据库{;
与网l交互的两端边界Q?br />重要模块的被调用参数Q?br />模块内的重要q程的当前参敎ͼ

有了q些调试信息Q我便可以不出差了,当现场发生了事情Ӟ我的W一反应便是要求查看q些调试信息?/p>

今天一位朋友问我,你如何保证你的程序能够稳定,我告诉他Q我有五件武器?/p>

宝刀配英雄,现在我已很少~写E序了,q些武器Q就送给战斗在第一U的E序员吧Q也怽们现在不觉得它们有多重要Q但L一天,你们?x)自觉地它们带在n边的?/p>

David Lee 2009-02-25 00:21 发表评论
]]>
C语言错题?/title><link>http://www.shnenglu.com/Lee/archive/2009/02/09/73283.html</link><dc:creator>David Lee</dc:creator><author>David Lee</author><pubDate>Mon, 09 Feb 2009 03:11:00 GMT</pubDate><guid>http://www.shnenglu.com/Lee/archive/2009/02/09/73283.html</guid><wfw:comment>http://www.shnenglu.com/Lee/comments/73283.html</wfw:comment><comments>http://www.shnenglu.com/Lee/archive/2009/02/09/73283.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/Lee/comments/commentRss/73283.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/Lee/services/trackbacks/73283.html</trackback:ping><description><![CDATA[ <table cellspacing="0" width="600" align="center"> <tbody> <tr> <td> <b>若变量已正确说明为floatcdQ要通过语句scanf("%f %f %f ",&a,&b,&c);la赋于10.0Qb赋予22.0Qc赋予33.0Q不正确的输入Ş式是Q?/b> <br /> <input type="radio" value="1" name="18" />A.10<回R>22<回R>33<回R>    <input type="radio" value="2" name="18" />B.10.0,22.0,33.0<回R><br /><input type="radio" value="3" name="18" />C.10.0<回R>22.0 33.0<回R>    <input type="radio" value="4" name="18" />D.10 22<回R>33<回R><br /><font color="red">错误:(zhn)选择的是C,正确{案为B</font><p> </p></td> </tr> <tr> <td> <b>C关px大于{于y大于{于z,应用C语言表达?/b> <br /> <input type="radio" value="1" name="32" />A.(x>=Y)&&(Y>=z)    <input type="radio" value="2" name="32" />B.(x>=Y)AND(y>=z)<br /><input type="radio" checked="" value="3" name="32" />C.(x>=Y>=z)    <input type="radio" value="4" name="32" />D.(x>=Y)&(Y>=z)<br /><font color="red">错误:(zhn)选择的是C,正确{案为A</font><p> </p></td> </tr> <tr> <td> <b>用数l名作ؓ(f)函数调用时的实参Q实际上传送给形参的是</b> <br /> <input type="radio" value="1" name="40" />A.数组首地址    <input type="radio" value="2" name="40" />B.数组的第一个元素?br /><input type="radio" value="3" name="40" />C.数组中全部元素的值   ?input type="radio" value="4" name="40" />D.数组元素的个?br /><font color="red">错误:(zhn)选择的是B,正确{案为A</font><p> </p></td> </tr> <tr> <td> <b>表达?&3&5&7的gؓ(f)Q?/b> <br /> <input type="radio" value="1" name="71" />A.1    <input type="radio" value="2" name="71" />B.3<br /><input type="radio" value="3" name="71" />C.5    <input type="radio" value="4" name="71" />D.7<br /><font color="red">错误:(zhn)选择的是D,正确{案为A</font><p> </p></td> </tr> <tr> <td> <b>假设指针p1已经指向了某个整型变量,要指针p2也指向同一个变量,则下面各中正确的是Q?/b> <br /> <input type="radio" value="1" name="80" />A.p2=**p1    <input type="radio" value="2" name="80" />B.p2=*&p1<br /><input type="radio" value="3" name="80" />C.p2=*p1    <input type="radio" value="4" name="80" />D.p2=&*p1<br /><font color="red">错误:(zhn)选择的是B,正确{案为D</font><p><strong>若x=4Q则x*=x+2的gؓ(f)Q?br /><input type="radio" value="1" name="77" /></strong>A.36    <input type="radio" value="2" name="77" />B.24<br /><input type="radio" value="3" name="77" />C.18    <input type="radio" value="4" name="77" />D.20<br /><font color="red">错误:(zhn)选择的是C,正确{案为B</font></p></td> </tr> </tbody> </table>                  <br />                 <strong>若fp是指向某文g的指针,且feof(fp)的返回值是非零|则表C:(x)<br />               <input type="radio" value="1" name="75" /></strong>A.已读到此文g末尾    <input type="radio" value="2" name="75" />B.未读到此文g的末?br />               <input type="radio" value="3" name="75" />C.此文件已关闭    <input type="radio" value="4" name="75" />D.此文件尚未被打开<br /><font color="red">                错误:(zhn)未做出选择,正确{案为A</font> <br /><br /><strong>               以下所列的C语言帔R中,错误的是<br />            <input type="radio" value="1" name="13" /></strong>A.0xFF    <input type="radio" value="2" name="13" />B.1.2e0.5<br />            <input type="radio" value="3" name="13" />C.2L    <input type="radio" value="4" name="13" />D.'\72'<br /><font color="red">              错误:(zhn)选择的是C,正确{案为B</font><img src ="http://www.shnenglu.com/Lee/aggbug/73283.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/Lee/" target="_blank">David Lee</a> 2009-02-09 11:11 <a href="http://www.shnenglu.com/Lee/archive/2009/02/09/73283.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>知识点http://www.shnenglu.com/Lee/archive/2009/02/06/73091.htmlDavid LeeDavid LeeFri, 06 Feb 2009 03:08:00 GMThttp://www.shnenglu.com/Lee/archive/2009/02/06/73091.htmlhttp://www.shnenglu.com/Lee/comments/73091.htmlhttp://www.shnenglu.com/Lee/archive/2009/02/06/73091.html#Feedback0http://www.shnenglu.com/Lee/comments/commentRss/73091.htmlhttp://www.shnenglu.com/Lee/services/trackbacks/73091.html
一. 获得L架的指针  AfxGetMainWnd()
AfxGetMainWnd()->PostMessage(WM_CLOSE, 0, 0);

?
静态与动态拆分窗口的区别Q ?
  1、静态拆分窗口的不同子窗口允许是不同H口cȝH口Q ?
        而且你只能改变窗口切分的寸Q不能动态地改变H口  
        切分的个数。 ?
   
  2、动态拆分窗口只能用于同一个窗口类的切分,  
        但是可以动态地改变H口切分的尺寸和动态地改变H口  
        切分的个数。?br />
?
  在Unicode转换中,_T()与L到底怎么用,有什么区?
_T?x)根据你工程的设|自动{换UNICODE和非UNICODE.  
  加L是转ؓ(f)UNICODE

_T是将字符串{换ؓ(f)TCHARQTCHAR是一个宏定义Q当定义了UNICODE时TCHAR{同于WCHARQ否则等同于CHAR。ؓ(f)了和以后的^台兼容,使用TCHARQ而不要用普通的CHAR。例子:(x)TCHAR   *s   =   _T("FSDF")  
   
  L字W串转换为WCHARQ用于需要UNICODE的环境。例子:(x)WCHAR   *s   =   L"FSDF"

?br />Unicode   Q宽字节字符集 ?
  1. 如何取得一个既包含单字节字W又包含双字节字W的字符串的字符个数Q ?
  可以调用Microsoft   Visual   C++的运行期库包含函数_mbslen来操作多字节Q既包括单字节也包括双字节)字符丌Ӏ ?
  调用strlen函数Q无法真正了解字W串中究竟有多少字符Q它只能告诉你到辄0之前有多个字节。 ?
  2. 如何对DBCSQ双字节字符集)字符串进行操作?  
  函数 描述  
  PTSTR   CharNext   Q ?LPCTSTR   Q? q回字符串中下一个字W的地址  
  PTSTR   CharPrev   Q ?LPCTSTR,   LPCTSTR   Q; q回字符串中上一个字W的地址  
  BOOL   IsDBCSLeadByte(   BYTE   )Q?如果该字节是DBCS字符的第一个字节,则返回非0值 ?
  3. Z么要使用UnicodeQ ?
  Q?Q?可以很容易地在不同语a之间q行数据交换。 ?
  Q?Q?使你能够分配支持所有语a的单个二q制.exe文g或DLL文g。 ?
  Q?Q?提高应用E序的运行效率。 ?
  Windows   2000是用Unicode从头q行开发的Q如果调用Q何一个Windows函数q给它传递一个ANSI字符Ԍ那么pȝ首先要将字符串{换成UnicodeQ然后将Unicode字符串传递给操作pȝ。如果希望函数返回ANSI字符Ԍpȝ׃(x)首先Unicode字符串{换成ANSI字符Ԍ然后结果返回给你的应用E序。进行这些字W串的{换需要占用系l的旉和内存。通过从头开始用Unicode来开发应用程序,p够你的应用E序更加有效地运行。 ?
  Windows   CE   本n是使用Unicode的一U操作系l,完全不支持ANSI   Windows函数  
  Windows   98   只支持ANSIQ只能ؓ(f)ANSI开发应用程序。 ?
  Microsoft公司COM?6位Windows转换成Win32Ӟ公司军_需要字W串的所有COM接口Ҏ(gu)都只能接受Unicode字符丌Ӏ ?
  4. 如何~写Unicode源代码?  
  Microsoft公司为Unicode设计了WindowsAPIQ这P可以量减少代码的媄响。实际上Q可以编写单个源代码文gQ以便用或者不使用Unicode来对它进行编译。只需要定义两个宏QUNICODE和_UNICODEQ,可以修改然后重新编译该源文件。 ?
  _UNICODE宏用于Cq行期头文gQ而UNICODE宏则用于Windows头文件。当~译源代码模块时Q通常必须同时定义q两个宏。 ?
  5. Windows定义的Unicode数据cd有哪些?  
  数据cd 说明  
  WCHAR Unicode字符  
  PWSTR 指向Unicode字符串的指针  
  PCWSTR 指向一个恒定的Unicode字符串的指针  
  对应的ANSI数据cd为CHARQLPSTR和LPCSTR。 ?
  ANSI/Unicode通用数据cd为TCHARQPTSTR,LPCTSTR。 ?
  6. 如何对Unicodeq行操作Q ?
  字符?Ҏ(gu)?实例  
  ANSI 操作函数以str开?strcpy  
  Unicode 操作函数以wcs开?wcscpy  
  MBCS 操作函数以_mbs开?_mbscpy  
  ANSI/Unicode 操作函数以_tcs开?_tcscpyQCq行期库Q ?
  ANSI/Unicode 操作函数以lstr开?lstrcpyQWindows函数Q ?
  所有新的和未过时的函数在Windows2000中都同时拥有ANSI和Unicode两个版本。ANSI版本函数l尾以A表示QUnicode版本函数l尾以W表示。Windows?x)如下定义?x)  
  #ifdef     UNICODE  
  #define     CreateWindowEx     CreateWindowExW  
  #else  
  #define     CreateWindowEx     CreateWindowExA  
  #endif       //   !UNICODE  
  7. 如何表示Unicode字符串常量?  
  字符?实例  
  ANSI “string” ?
  Unicode L“string” ?
  ANSI/Unicode T(“string?或_TEXT(“string?if(   szError[0]   ==   _TEXT(‘J?   ){   }  
  8. Z么应当尽量用操作系l函敎ͼ  
  q将有助于稍E提高应用程序的q行性能Q因为操作系l字W串函数常常被大型应用程序比如操作系l的外壳q程Explorer.exe所使用。由于这些函C用得很多Q因此,在应用程序运行时Q它们可能已l被装入RAM。 ?
  如:(x)StrCatQStrChrQStrCmp和StrCpy{。 ?
  9. 如何~写W合ANSI和Unicode的应用程序?  
  Q?Q?文本串视ؓ(f)字符数组Q而不是chars数组或字节数l。 ?
  Q?Q?通用数据cdQ如TCHAR和PTSTRQ用于文本字W和字符丌Ӏ ?
  Q?Q?显式数据类型(如BYTE和PBYTEQ用于字节、字节指针和数据~存。 ?
  Q?Q?TEXT宏用于原义字W和字符丌Ӏ ?
  Q?Q?执行全局性替换(例如用PTSTR替换PSTRQ。 ?
  Q?Q?修改字符串运问题。例如函数通常希望在字W中传递一个缓存的大小Q而不是字节。这意味着不应该传递sizeof(szBuffer),而应该传递(sizeof(szBuffer)/sizeof(TCHAR)。另外,如果需要ؓ(f)字符串分配一个内存块Qƈ且拥有该字符串中的字W数目,那么误住要按字节来分配内存。这是_(d)应该调用malloc(nCharacters   *sizeof(TCHAR)),而不是调用malloc(nCharacters)。 ?
  10. 如何对字W串q行有选择的比较?  
  通过调用CompareString来实现。 ?
  标志 含义  
  NORM_IGNORECASE 忽略字母的大写  
  NORM_IGNOREKANATYPE 不区分^假名与片假名字符  
  NORM_IGNORENONSPACE 忽略无间隔字W ?
  NORM_IGNORESYMBOLS 忽略W号  
  NORM_IGNOREWIDTH 不区分单字节字符与作为双字节字符的同一个字W ?
  SORT_STRINGSORT 标点符号作为普通符h处理  
  11. 如何判断一个文本文件是ANSIq是UnicodeQ ?
  判断如果文本文g的开头两个字节是0xFF?xFEQ那么就是UnicodeQ否则是ANSI。 ?
  12. 如何判断一D字W串是ANSIq是UnicodeQ ?
  用IsTextUnicodeq行判断。IsTextUnicode使用一pdl计Ҏ(gu)和定性方法,以便猜测~存的内宏V由于这不是一U确切的U学Ҏ(gu)Q因此 ?IsTextUnicode有可能返回不正确的结果。 ?
  13. 如何在Unicode与ANSI之间转换字符Ԍ  
  Windows函数MultiByteToWideChar用于多字节字符串{换成宽字W串Q函数WideCharToMultiByte宽字符串{换成{h(hun)的多字节字符丌Ӏ ?

David Lee 2009-02-06 11:08 发表评论
]]>
数据库基本种cM?qing)各家所??http://www.shnenglu.com/Lee/archive/2009/01/06/71279.htmlDavid LeeDavid LeeMon, 05 Jan 2009 21:57:00 GMThttp://www.shnenglu.com/Lee/archive/2009/01/06/71279.htmlhttp://www.shnenglu.com/Lee/comments/71279.htmlhttp://www.shnenglu.com/Lee/archive/2009/01/06/71279.html#Feedback2http://www.shnenglu.com/Lee/comments/commentRss/71279.htmlhttp://www.shnenglu.com/Lee/services/trackbacks/71279.html  关系型数据库

  关系型数据库以行和列的Ş式存储数据,以便于用L(fng)解。这一pd的行和列被称Q一l表l成了数据库。用L(fng)查询QQueryQ来索数据库中的数据。一个Query是一个用于指定数据库中行和列的SELECT语句。关pd数据库通常包含下列lgQ?/p>

客户端应用程序(ClientQ?/p>

数据库服务器QServerQ?/p>

数据库(DatabaseQ?/p>

  Structured Query LanguageQSQLQ是Client端和Server端的桥梁QClient用SQL来向Server端发送请求,Serverq回Client端要求的l果。现在流行的大型关系型数据库有IBM DB2、IBM UDB、Oracle、SQL Server、SyBase、Informix{?/p>

  关系型数据库理pȝ中储存与理数据的基本Ş式是二维表?/p>

  |状数据?/strong>

  处理以记录类型ؓ(f)l点的网状数据模型的数据库。处理方法是网状结构分解成若干二U树(wi)l构Q称为系。系cd是二个或二个以上的记录类型之间联pȝ一U描q。在一个系cd中,有一个记录类型处于主导地位,UCؓ(f)pM记录cdQ其它称为成员记录类型?/p>

  pM和成员之间的联系是一对多的联pR网状数据库的代表是DBTGpȝ?969q美国的CODASYLl织提出了一份“DBTG报告”,以后Q根据DBTG报告实现的系l一般称 为DBTGpȝ。现有的|状数据库系l大都是采用DBTGҎ(gu)的。DBTGpȝ是典型的三l构体系Q子模式、模式、存储模式。相应的数据定义语言分别UCؓ(f)子模式定义语aSSDDLQ模式定义语aSDDLQ设备介质控制语aDMCL.另外q有数据操纵语言DML?/p>

  层次型数据库

  层次型数据库理pȝ是紧随网状数据库而出现的。现实世界中很多事物是按层次l织h的。层ơ数据模型的提出Q首先是Z模拟q种按层ơ组lv来的事物。层ơ数据库也是按记录来存取数据的。层ơ数据模型中最基本的数据关pL基本层次关系Q它代表两个记录型之间一对多的关p,也叫做双亲子奛_p(PCRQ?/p>

  数据库中有且仅有一个记录型无双ԌUCؓ(f)根节炏V其他记录型有且仅有一个双二Ӏ在层次模型中从一个节点到其双亲的映射是惟一的,所以对每一个记录型Q除根节点外Q只需要指出它的双Ԍ可以表C出层次模型的整体结构。层ơ模型是?wi)状的。最著名最典型的层ơ数据库pȝ是IBM公司的IMSQInformation Management SystemQ,q是IBM公司研制的最早的大型数据库系l程序品。从60q代末生vQ如今已l发展到IMSV6Q提供群集、N路数据共享、消息队列共享等先进Ҏ(gu)的支持。这个具?0q历史的数据库品在如今的WWW应用q接、商务智能应用中扮演着新的角色?/p>

  web应用E序或者winform应用E序在存储数据的时候,一般的做法是将数据存放于数据库中,而根据程序的性能要求和实际需求我们可以选择不同cd的数据库Q下面我们就对各U常用数据库的历史和特点加以单的分析和介l?/p>

  Access数据?/strong>

  国Microsoft公司?994q推出的微机数据库管理系l。它h界面友好、易学易用、开发简单、接口灵zȝ特点Q是典型的新一代桌面数据库理pȝ。其主要特点如下Q?

  (1)完善地管理各U数据库对象Q具有强大的数据l织、用L(fng)理、安全检查等功能?

  (2)强大的数据处理功能,在一个工作组U别的网l环境中Q用Access开发的多用h据库理pȝh传统的XBASE(DBASE、FoxBASE的统U?数据库系l所无法实现的客h务器(Cient/Server)l构和相应的数据库安全机ӞAccess具备了许多先q的大型数据库管理系l所具备的特征,如事务处?出错回滚能力{?

  (3)可以方便地生成各U数据对象,利用存储的数据徏立窗体和报表Q可视性好?/p>

  (4)作ؓ(f)Office套g的一部分Q可以与Office集成Q实现无~连接?

  (5)能够利用Web索和发布数据Q实CInternet的连接?Access主要适用于中型应用pȝQ或作ؓ(f)客户?服务器系l中的客L(fng)数据库?br />
Informix数据?/strong>

  国InfomixSoftware公司研制的关pd数据库管理系l。Informix有Informix-SE和Informix-Online两种版本。Informix-SE适用于UNIX和W(xu)indowsNTq_Q是Z规模的应用而设计的;Informix-Online在UNIX操作pȝ下运行,可以提供多线E服务器Q支持对U多处理器,适用于大型应用?/p>

  Informix可以提供面向屏幕的数据输入询问及(qing)面向设计的询问语a报告生成器。数据定义包括定义关pR撤销关系、定义烦引和重新定义索引{。Informix不仅可以建立数据库,q可以方便地重构数据库,pȝ的保护措施十分健全,不仅能数据得到保护而不被权限外的用户存取,且能重新建立丢失了的文g?qing)恢复被破坏了的数据。其文g的大不受磁盘空间的限制Q域的大和记录的长度均可达2K。采用加下标序讉K法,Informix与COBOL软g兼容Qƈ支持C语言E序?Informix可移植性强、兼Ҏ(gu)好Q在很多微型计算机和型Z得到应用Q尤光用于中型企业的h事、仓储及(qing)财务理?

  Orcale数据?/strong>

  国Orcale公司研制的一U关pd数据库管理系l,是一个协调服务器和用于支持Q务决定型应用E序的开攑֞RDBMS。它可以支持多种不同的硬件和操作pȝq_Q从台式机到大型和超U计机Qؓ(f)各种gl构提供高度的可伸羃性,支持对称多处理器、群集多处理器、大规模处理器等Qƈ提供q泛的国际语a支持?Orcale是一个多用户pȝQ能自动从批处理或在U环境的pȝ故障中恢复运行。系l提供了一个完整的软g开发工具Developer2000Q包括交互式应用E序生成器、报表打印Y件、字处理软g以及(qing)集中式数据字典,用户可以利用q些工具生成自己的应用程序。Orcale以二l表的Ş式表C数据,q提供了SQL(l构式查询语a)Q可完成数据查询、操作、定义和控制{基本数据库理功能。Orcaleh很好的可UL性,通过它的通信功能Q微型计机上的E序可以同小型乃臛_型计机上的OrcaleQƈ且能怺传递数据。另外Orcaleq具有与C语言的接?sh)子表格、图形处理等软g?Orcale属于大型数据库系l,主要适用于大、中型应用pȝQ或作ؓ(f)客户?服务器系l中服务器端的数据库pȝ?/p>

  DB2数据?/strong>

  IBM公司研制的一U关pd数据库系l。DB2主要应用于大型应用系l,h较好的可伸羃性,可支持从大型机到单用L(fng)境,应用于OS/2、Windows{^C?DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及(qing)规模到大规模应用程序的执行能力Q具有与q_无关的基本功能和SQL命o(h)。DB2采用了数据分U技术,能够使大型机数据很方便地下蝲到LAN数据库服务器Q得客h/服务器用户和ZLAN的应用程序可以访问大型机数据Qƈ使数据库本地化及(qing)q程q接透明化?它以拥有一个非常完备的查询优化器而著Uͼ其外部连接改善了查询性能Qƈ支持多Q务ƈ行查询?DB2h很好的网l支持能力,每个子系l可以连接十几万个分布式用户Q可同时ȀzM千个zdU程Q对大型分布式应用系l尤为适用?

  SQL Server数据?/strong>

  Microsoft公司推出的一U关pd数据库系l。SQLServer是一个可扩展的、高性能的、ؓ(f)分布式客h/服务器计所设计的数据库理pȝQ实C与WindowsNT的有机结合,提供了基于事务的企业U信息管理系l方案?

  其主要特点如下:(x)

  (1)高性能设计Q可充分利用Windows的优ѝ?

  (2)pȝ理先进Q支持Windows囑Ş化管理工P支持本地和远E的pȝ理和配|?

  (3)强壮的事务处理功能,采用各种Ҏ(gu)保证数据的完整性?/p>

  (4)支持对称多处理器l构、存储过E、ODBCQƈh自主的SQL语言?SQLServer以其内置的数据复制功能、强大的理工具、与Internet的紧密集成和开攄pȝl构为广大的用户、开发h员和pȝ集成商提供了一个出众的数据库^台?/p>

  Sybase数据?/strong>

  国Sybase公司研制的一U关pd数据库系l,是一U典型的UNIX或Windowsq_上客h/服务器环境下的大型数据库pȝ?Sybase提供了一套应用程序编E接口和库,可以与非Sybase数据源及(qing)服务器集成,允许在多个数据库之间复制数据Q适于创徏多层应用。系l具有完备的触发器、存储过E、规则以?qing)完整性定义,支持优化查询Q具有较好的数据安全性。Sybase通常与SybaseSQLAnywhere用于客户?服务器环境,前者作为服务器数据库,后者ؓ(f)客户机数据库Q采用该公司研制的PowerBuilder为开发工P在我国大中型pȝ中具有广泛的应用。美国Sybase公司研制的一U关pd数据库系l,是一U典型的UNIX或Windowsq_上客h/服务器环境下的大型数据库pȝ?Sybase提供了一套应用程序编E接口和库,可以与非Sybase数据源及(qing)服务器集成,允许在多个数据库之间复制数据Q适于创徏多层应用。系l具有完备的触发器、存储过E、规则以?qing)完整性定义,支持优化查询Q具有较好的数据安全性。Sybase通常与SybaseSQLAnywhere用于客户?服务器环境,前者作为服务器数据库,后者ؓ(f)客户机数据库Q采用该公司研制的PowerBuilder为开发工P在我国大中型pȝ中具有广泛的应用?

  FoxPro数据?/strong>

  最初由国Fox公司1988q推出,1992qFox公司被Microsoft公司收购后,相推出了FoxPro2.5?.6和VisualFoxPro{版本,其功能和性能有了较大的提高?FoxPro2.5?.6分ؓ(f)DOS和W(xu)indows两种版本Q分别运行于DOS和W(xu)indows环境下。FoxPro比FoxBASE在功能和性能上又有了很大的改q,主要是引入了H口、按U、列表框和文本框{控Ӟq一步提高了pȝ的开发能力?/p>

David Lee 2009-01-06 05:57 发表评论
]]>
_stdcall 与_cdecl 的区?/title><link>http://www.shnenglu.com/Lee/archive/2008/12/12/69237.html</link><dc:creator>David Lee</dc:creator><author>David Lee</author><pubDate>Fri, 12 Dec 2008 01:37:00 GMT</pubDate><guid>http://www.shnenglu.com/Lee/archive/2008/12/12/69237.html</guid><wfw:comment>http://www.shnenglu.com/Lee/comments/69237.html</wfw:comment><comments>http://www.shnenglu.com/Lee/archive/2008/12/12/69237.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/Lee/comments/commentRss/69237.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/Lee/services/trackbacks/69237.html</trackback:ping><description><![CDATA[ <div id="rrealhe" class="content" id="fontzoom"> <p> </p> <p>_stdcall ?_cdecl 的区?br />几乎我们写的每一个WINDOWS API函数都是__stdcallcd的,首先Q需要了解两者之间的区别Q?WINDOWS的函数调用时需要用到栈QSTACKQ一U先入后出的存储l构Q。当函数调用完成后,栈需要清除,q里是问题的关键,如何清除Q?如果我们的函C用了_cdeclQ那么栈的清除工作是p用者,用COM的术语来讲就是客h完成的。这样带来了一个棘手的问题Q不同的~译器生栈的方式不相同,那么调用者能否正常的完成清除工作呢?{案是不能。如果用__stdcallQ上面的问题p决了Q函数自px除工作。所以,在跨Q开发)q_的调用中Q我们都使用__stdcallQ虽然有时是以WINAPI的样子出玎ͼ。那么ؓ(f)什么还需要_cdecl呢?当我们遇到这L(fng)函数如fprintf()它的参数是可变的Q不定长的,被调用者事先无法知道参数的长度Q事后的清除工作也无法正常的q行Q因此,q种情况我们只能使用_cdecl。到q里我们有一个结论,如果你的E序中没有涉?qing)可变参敎ͼ最好用__stdcall关键字?br /> <br />另:(x)<br />_cdecl<br />按从双左的序压参数入栈,p用者把参数弹出栈。对于“C”函数或者变量,修饰名是在函数名前加下划Uѝ对于“C++”函敎ͼ有所不同?br />如函数void test(void)的修饰名是_testQ对于不属于一个类的“C++”全局函数Q修饰名?a href="mailto:?test@@ZAXXZ"><u>?test@@ZAXXZ</u></a>?br />q是MFC~省调用U定。由于是调用者负责把参数弹出栈,所以可以给函数定义个数不定的参敎ͼ如printf函数?/p> <p>stdcall 和pascal一?都是pascal的调用习(fn)?br />按从双左的序压参数入栈,p调用者把参数弹出栈。对于“C”函数或者变量,修饰名以下划Uؓ(f)前缀Q然后是函数名,然后是符号“@”及(qing)参数的字节数Q如函数int func(int a, double b)的修饰名?a href="mailto:_func@12"><u>_func@12</u></a>。对于“C++”函敎ͼ则有所不同?/p> <p> </p> </div> <img src ="http://www.shnenglu.com/Lee/aggbug/69237.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/Lee/" target="_blank">David Lee</a> 2008-12-12 09:37 <a href="http://www.shnenglu.com/Lee/archive/2008/12/12/69237.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>汇编语言的准备知?-l初ơ接触汇~?1)http://www.shnenglu.com/Lee/archive/2008/11/04/65960.htmlDavid LeeDavid LeeTue, 04 Nov 2008 12:48:00 GMThttp://www.shnenglu.com/Lee/archive/2008/11/04/65960.htmlhttp://www.shnenglu.com/Lee/comments/65960.htmlhttp://www.shnenglu.com/Lee/archive/2008/11/04/65960.html#Feedback0http://www.shnenglu.com/Lee/comments/commentRss/65960.htmlhttp://www.shnenglu.com/Lee/services/trackbacks/65960.html汇编语言和CPU以及(qing)内存,端口{硬件知识是q在一L(fng). q也是ؓ(f)什么汇~语a没有通用性的原因. 下面单讲讲基本知?针对INTEL x86?qing)其兼容? ============================ x86汇编语言的指?其操作对象是CPU上的寄存?pȝ内存,或者立x. 有些指o(h)表面上没有操作数, 或者看上去~少操作? 其实该指令有内定的操作对? 比如push指o(h), 一定是对SS:ESP指定的内存操? 而cdq的操作对象一定是eax / edx. 在汇~语a?寄存器用名字来访? CPU 寄存器有好几c? 分别有不同的用处: 1. 通用寄存? EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP(q个虽然通用,但很被用做除了堆栈指针外的用? q些32位可以被用作多种用?但每一个都?专长". EAX ?累加?(accumulator), 它是很多加法乘法指o(h)的缺省寄存器. EBX ?基地址"(base)寄存? 在内存寻址时存攑֟地址. ECX 是计数器(counter), 是重?REP)前缀指o(h)和LOOP指o(h)的内定计数器. EDX?..(忘了..哈哈)但它L被用来放整数除法产生的余? q?个寄存器的低16位可以被单独讉K,分别用AX,BX,CX和DX. AX又可以单独访问低8?AL)和高8?AH), BX,CX,DX也类? 函数的返回值经常被攑֜EAX? ESI/EDI分别叫做"?目标索引寄存?(source/destination index),因ؓ(f)在很多字W串操作指o(h)? DS:ESI指向源串,而ES:EDI指向目标? EBP?基址指针"(BASE POINTER), 它最l常被用作高U语a函数调用?框架指针"(frame pointer). 在破解的时?l常可以看见一个标准的函数起始代码: push ebp ;保存当前ebp mov ebp,esp ;EBP设ؓ(f)当前堆栈指针 sub esp, xxx ;预留xxx字节l函C(f)时变? ... q样一?EBP 构成了该函数的一个框? 在EBP上方分别是原来的EBP, q回地址和参? EBP下方则是临时变量. 函数q回时作 mov esp,ebp/pop ebp/ret 卛_. ESP 专门用作堆栈指针. 2. D寄存器: CS(Code SegmentQ代码段) 指定当前执行的代码段. EIP (Instruction pointer, 指o(h)指针)则指向该D中一个具体的指o(h). CS:EIP指向哪个指o(h), CPU 执行它. 一般只能用jmp, ret, jnz, call {指令来改变E序程,而不能直接对它们赋? DS(DATA SEGMENT, 数据D? 指定一个数据段. 注意:在当前的计算机系l中, 代码和数据没有本质差? 都是一串二q制? 区别只在于你如何用它. 例如, CS 制定的段L被用作代? 一般不能通过CS指定的地址M改该D? 然?你可以ؓ(f)同一个段甌一个数据段描述W?别名"而通过DS来访?修改. 自修改代码的E序常如此做. ES,FS,GS 是辅助的D寄存器, 指定附加的数据段. SS(STACK SEGMENT)指定当前堆栈D? ESP 则指D中当前的堆栈顶. 所有push/pop pd指o(h)都只对SS:ESP指出的地址q行操作. 3. 标志寄存?EFLAGS): 该寄存器?2?l合了各个系l标? EFLAGS一般不作ؓ(f)整体讉K, 而只对单一的标志位感兴? 常用的标志有: q位标志C(CARRY), 在加法生进位或减法有借位时置1, 否则?. 零标志Z(ZERO), 若运结果ؓ(f)0则置1, 否则? W号位S(SIGN), 若运结果的最高位|?, 则该位也|?. 溢出标志O(OVERFLOW), ?带符?q算l果出可表C? 则置1. JXX pd指o(h)是Ҏ(gu)q些标志来决定是否要跌{, 从而实现条件分? 要注?很多JXX 指o(h)是等L(fng), 对应相同的机器码. 例如, JE 和JZ 是一L(fng),都是当Z=1是蟩? 只有JMP 是无条g跌{. JXX 指o(h)分ؓ(f)两组, 分别用于无符h作和带符h? JXX 后面?XX" 有如下字? 无符h? 带符h? A = "ABOVE", 表示"高于" G = "GREATER", 表示"大于" B = "BELOW", 表示"低于" L = "LESS", 表示"于" C = "CARRY", 表示"q位"?借位" O = "OVERFLOW", 表示"溢出" S = "SIGN", 表示"? 通用W号: E = "EQUAL" 表示"{于", {h(hun)于Z (ZERO) N = "NOT" 表示"?, x志没有置? 如JNZ "如果Z没有|位则蟩? Z = "ZERO", 与E? 如果仔细想一?׃(x)发现 JA = JNBE, JAE = JNB, JBE = JNA, JG = JNLE, JGE= JNL, JL= JNGE, .... 4. 端口 端口是直接和外部讑֤通讯的地斏V外设接入系l后Q系l就?x)把外设的数据接口映到特定的端口地址I间Q这P从该端口d数据是从外设读入数据,而向外设写入数据是向端口写入数据。当然这一切都必须遵@外设的工作方式。端口的地址I间与内存地址I间无关Q系ld提供?4K?位端口的讉KQ编?-65535. 盔R?位端口可以组成成一?6位端口,盔R?6位端口可以组成一?2位端口。端口输入输出由指o(h)IN,OUT,INS和OUTS实现Q具体可参考汇~语a书籍?


David Lee 2008-11-04 20:48 发表评论
]]>《发如雪》之E序员版http://www.shnenglu.com/Lee/archive/2008/09/17/62108.htmlDavid LeeDavid LeeWed, 17 Sep 2008 14:33:00 GMThttp://www.shnenglu.com/Lee/archive/2008/09/17/62108.htmlhttp://www.shnenglu.com/Lee/comments/62108.htmlhttp://www.shnenglu.com/Lee/archive/2008/09/17/62108.html#Feedback0http://www.shnenglu.com/Lee/comments/commentRss/62108.htmlhttp://www.shnenglu.com/Lee/services/trackbacks/62108.html处理憔?zhn)Q?
~译器,
报错如风雪?
是谁h基本c,
惹变量是非?
 
虚基c,
构造轮回,
动态堆Q?
字符串唤不回?
U늄代码已经成灰Q?
内存不灭?
 
循环如三千东水Q?
我嵌套一瓢爱了解Q?
只恋函数的递归?
 
你发如雪Q?
定义了离别,
我指针指向了谁,
 
邀明月Q?
让地址皎洁Q?
爱在数组里N?
 
你发如雪Q?
初始化眼泪,
我联~承了谁,
数据醉,
~程的岁月,
我用后?zhn)Q?
ȝ(sh)脑崩溃的?
 
啦儿?啦儿?啦儿啦儿?
啦儿?啦儿?啦儿啦儿?
 
ȝ?x)她斜扎儉K֏因ؓ(f)学C++学到了崩?img src ="http://www.shnenglu.com/Lee/aggbug/62108.html" width = "1" height = "1" />

David Lee 2008-09-17 22:33 发表评论
]]>
软g工程 (转自癑ֺ癄)http://www.shnenglu.com/Lee/archive/2008/09/11/61635.htmlDavid LeeDavid LeeThu, 11 Sep 2008 14:02:00 GMThttp://www.shnenglu.com/Lee/archive/2008/09/11/61635.htmlhttp://www.shnenglu.com/Lee/comments/61635.htmlhttp://www.shnenglu.com/Lee/archive/2008/09/11/61635.html#Feedback0http://www.shnenglu.com/Lee/comments/commentRss/61635.htmlhttp://www.shnenglu.com/Lee/services/trackbacks/61635.html 软g工程概述
软g工程
(Software EngineeringQ简UCؓ(f)SE)是一门研I用工程化方法构建和l护有效的、实用的和高质量的Y件的学科。它涉及(qing)到程序设计语aQ数据库QY件开发工Ppȝq_Q标准,设计模式{方面?br />
在现代社?x)中QY件应用于多个斚w。典型的软g比如有电(sh)子邮Ӟ嵌入式系l,人机界面Q办公套Ӟ操作pȝQ编译器Q数据库Q游戏等。同Ӟ各个行业几乎都有计算Y件的应用Q比如工业,农业Q银行,航空Q政府部门等。这些应用促q了l济和社?x)的发展Q得h们的工作更加高效Q同时提高了生活质量?br />
软g工程?/strong>是对应用软g创造Y件的Z的统Uͼ软g工程师按照所处的领域不同可以分ؓ(f)pȝ分析员,软g设计师,pȝ架构师,E序员,试员等{。h们也常常用程序员来泛指各UY件工E师?br />
软g工程的主要课E?/strong>Q?br />外语?a target="_blank">高等数学?a target="_blank">U性代?/font>、高{代数、电(sh)子技术基、离散数学、计机引论QC语言Q、数据结构、C++E序设计、汇~语aE序设计、算法设计与分析、计机l成原理与体pȝ构、数据库pȝ、计机|络、Y件工E、Y件测试技术、Y仉求与目理、Y件设计实例分析、CMM/ISO9000{?br />
软g工程(SoftWare Engineering)的框架可概括为:(x)目标、过E和原则?br />(1)软g工程目标Q生产具有正性、可用性以?qing)开销合宜的品。正性指软g产品辑ֈ预期功能的程度。可用性指软g基本l构、实现及(qing)文档为用户可用的E度。开销合宜是指软g开发、运行的整个开销满用户要求的程度。这些目标的实现不论在理Zq是在实践中均存在很多待解决的问题,它们形成了对q程、过E模型及(qing)工程Ҏ(gu)选取的约束?br />(2)软g工程q程Q生产一个最l能满需求且辑ֈ工程目标的Y件品所需要的步骤。Y件工E过E主要包括开发过E、运作过E、维护过E。它们覆盖了需求、设计、实现、确认以?qing)维护等zd。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软g需求规U。需求分析生成功能规U。设计活动一般包括概要设计和详细设计。概要设计徏立整个Y件系l结构,包括子系l、模块以?qing)相兛_ơ的说明、每一模块的接口定义。详l设计生程序员可用的模块说明,包括每一模块中数据结构说明及(qing)加工描述。实现活动把设计l果转换为可执行的程序代码。确认活动诏I于整个开发过E,实现完成后的认Q保证最l品满用L(fng)要求。维护活动包括用过E中的扩充、修改与完善。伴随以上过E,q有理q程、支持过E、培训过E等?br />(3)软g工程的原则是指围l工E设计、工E支持以?qing)工E管理在软g开发过E中必须遵@的原则?br />
软g工程的定?br />软g工程一直以来都~Z一个统一的定义,很多学者、组l机构都分别l出了自q定义Q?br />
Q?Q。Barry BoehmQ运用现代科学技术知识来设计q构造计机E序?qing)?f)开发、运行和l护q些E序所必需的相x件资料?

Q?Q。IEEE在Y件工E术语汇~中的定?/strong>QY件工E是Q?.系l化的、严格约束的、可量化的方法应用于软g的开发、运行和l护Q即工E化应用于YӞ2.?中所q方法的研究

Q?Q。Fritz Bauer在NATO?x)议上给出的定义Q?/strong>建立q用完善的工程化原则,以较l济的手D获得能在实际机器上有效q行的可靠Y件的一pdҎ(gu)?br />目前比较认可的一U定义认为:(x)软g工程是研I和应用如何以系l性的、规范化的、可定量的过E化Ҏ(gu)d发和l护软gQ以?qing)如何把l过旉考验而证明正的理技术和当前能够得到的最好的技术方法结合v来?br />
Q?Q。《计机U学技术百U全书》中的定义:(x)软g工程是应用计机U学、数学及(qing)理U学{原理,开发Y件的工程。Y件工E借鉴传统工程的原则、方法,以提高质量、降低成本。其中,计算机科学、数学用于构建模型与法Q工E科学用于制定规范、设计范?paradigm)、评估成本及(qing)定权衡Q管理科学用于计划、资源、质量、成本等理?br />
软g工程学的内容
  软g工程学的主要内容是Y件开发技术和软g工程理Q?br />  软g开发技术包含Y件工E方法学?a target="_blank">软g工具?a target="_blank">软g开发环?/font>QY件工E管理学包含软g工程l济学和软g理学?br />
软g工程基本原理
著名软g工程专家B.Boehml合有关专家和学者的意见qȝ了多q来开发Y件的l验Q于1983q在一论文中提出了Y件工E的七条基本原理?a target="_blank">
Q?Q用分阶D늚生存周期计划q行严格的管理?br />Q?Q坚持进行阶D评审?br />Q?Q实行严格的产品控制?br />Q?Q采用现代程序设计技术?br />Q?QY件工E结果应能清楚地审查?br />Q?Q开发小l的人员应该而精?br />Q?Q承认不断改qY件工E实늚必要性?br />B.Boehm指出Q遵循前六条基本原理Q能够实现Y件的工程化生产;按照W七条原理,不仅要积极主动地采纳新的软g技术,而且要注意不断ȝl验?br />软g工程(SoftWare Engineering)的框架可概括为:(x)目标、过E和原则?br />  (1)软g工程目标Q生产具有正性、可用性以?qing)开销合宜的品。正性指软g产品辑ֈ预期功能的程度。可用性指软g基本l构、实现及(qing)文档为用户可用的E度。开销合宜是指软g开发、运行的整个开销满用户要求的程度。这些目标的实现不论在理Zq是在实践中均存在很多待解决的问题,它们形成了对q程、过E模型及(qing)工程Ҏ(gu)选取的约束?br />  (2)软g工程q程Q生产一个最l能满需求且辑ֈ工程目标的Y件品所需要的步骤。Y件工E过E主要包括开发过E、运作过E、维护过E。它们覆盖了需求、设计、实现、确认以?qing)维护等zd。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软g需求规U。需求分析生成功能规U。设计活动一般包括概要设计和详细设计。概要设计徏立整个Y件系l结构,包括子系l、模块以?qing)相兛_ơ的说明、每一模块的接口定义。详l设计生程序员可用的模块说明,包括每一模块中数据结构说明及(qing)加工描述。实现活动把设计l果转换为可执行的程序代码。确认活动诏I于整个开发过E,实现完成后的认Q保证最l品满用L(fng)要求。维护活动包括用过E中的扩充、修改与完善。伴随以上过E,q有理q程、支持过E、培训过E等?br />  (3)软g工程的原则是指围l工E设计、工E支持以?qing)工E管理在软g开发过E中必须遵@的原?br />
软g工程必须遵@什么原?br />围绕工程设计、工E支持以?qing)工E管理已提出了以下四条基本原则:(x)

(1)选取适宜的开发模?br />
该原则与pȝ设计有关。在pȝ设计中,软g需求、硬仉求以?qing)其它因素间是相互制U和影响的,l常需要权衡。因此,必需认识需求定义的易变性,采用适当的开发模型,保证软g产品满用户的要求?br />
(2)采用合适的设计Ҏ(gu)

在Y件设计中Q通常需要考虑软g的模块化、抽象与信息隐蔽、局部化、一致性以?qing)适应性等特征。合适的设计Ҏ(gu)有助于这些特征的实现Q以辑ֈ软g工程的目标?br />
(3)提供高质量的工程支撑

工欲善其事,必先利其器。在软g工程中,软g工具与环境对软gq程的支持颇为重要。Y件工E项目的质量与开销直接取决于对软g工程所提供的支撑质量和效用?br />
(4)重视软g工程的管?br />
  软g工程的管理直接媄响可用资源的有效利用Q生产满目标的软g产品以及(qing)提高软gl织的生产能力等问题。因此,仅当软gq程予以有效理Ӟ才能实现有效的Y件工E?br />

  软g工程是指D机软g开发和l护的工E学U?br />
  采用工程的概c(din)原理?技术和Ҏ(gu)来开发与l护软gQ把l过旉考验而证明正的理技术和当前能够 得到的最好的技术方法结合v来,q就是Y件工E?br />
  软g工程使用生存周期Ҏ(gu)学和各种l构分析?qing)结构设计技术。它们是在七十年代ؓ(f)了对付应用Y件日益增长的复杂E度、O长的开发周期以?qing)用户对软g产品l常不满意的状况而发展v来的。hc解军_杂问题时普遍采用的一个策略就是“各个击破”,也就是对问题q行分解然后再分别解军_个子问题的策略。Y件工E采用的生存周期Ҏ(gu)学就是从旉角度对Y件开发和l护的复杂问题进行分解,把Y件生存的漫长周期依次划分q个阶段Q每个阶D|相对独立的Q务,然后逐步完成每个阶段的Q务。采用Y件工E方法论开发Y件的时候,从对d的抽象逻辑分析开始,一个阶D一个阶D地q行开发。前一个阶DQ务的完成是开始进行后一个阶D工作的前提和基Q而后一阶段d的完成通常是前一阶段提出的解法更q一步具体化Q加q了更多的物理细节。每一个阶D늚开始和l束都有严格标准Q对于Q何两个相?c)阶段而言Q前一阶段的结束标准就是后一阶段的开始标准。在每一个阶D늻束之前都必须q行正式严格的技术审查和理复审Q从技术和理两方面对q个阶段的开发成果进行检查,通过之后q个阶段才算l束Q如果检查通不q,则必进行必要的q工Qƈ且返工后q要再经q审查。审查的一条主要标准就是每个阶D都应该交出“最新式的”(卛_所开发的软g完全一致的Q高质量的文档资料,从而保证在软g开发工E结束时有一个完整准的软g配置交付使用。文档是通信的工P它们清楚准确地说明了到这个时候ؓ(f)止,关于该项工程已经知道了什么,同时立了下一步工作的基础。此外,文档也v备忘录的作用Q如果文档不完整Q那么一定是某些工作忘记做了Q在q入生存周期的下一阶段之前Q必补些遗漏的l节。在完成生存周期每个阶段的Q务时Q应该采用适合该阶DQ务特点的pȝ化的技术方法──l构分析或结构设计技术?br />
  把Y件生存周期划分成若干个阶D,每个阶段的Q务相对独立,而且比较单,便于不同人员分工协作Q从而降低了整个软g开发工E的困难E度Q在软g生存周期的每个阶D都采用U学的管理技术和良好的技术方法,而且在每个阶D늻束之前都从技术和理两个角度q行严格的审查,合格之后才开始下一阶段的工作,q就使Y件开发工E的全过E以一U有条不紊的方式q行Q保证了软g的质量,特别是提高了软g的可l护性。MQ采用Y件工E方法论可以大大提高软g开发的成功率,软g开发的生率也能明显提高?br />
  目前划分软g生存周期阶段的方法有许多U,软g规模、种cR开发方式、开发环境以?qing)开发时使用的方法论都媄响Y件生存周期阶D늚划分。在划分软g生存周期的阶D|应该遵@的一条基本原则就是各阶D늚d彼此间尽可能相对独立Q同一阶段各项d的性质可能相同,从而降低每个阶DQ务的复杂E度Q简化不同阶D之间的联系Q有利于软g开发工E的l织理。一般说来,软g生存周期pY件定义、Y件开发和软gl护三个时期l成Q每个时期又q一步划分成若干个阶Dc(din)下面的主要针对应用软gQ对pȝ软g也基本适用?br />
  软g定义时期的Q务是定软g开发工E必d成的ȝ标;定工程的可行性,导出实现工程目标应该采用的策略及(qing)pȝ必须完成的功能;估计完成该项工程需要的资源和成本,q且制定工程q度表。这个时期的工作通常又称为系l分析,ql分析员负责完成。Y件定义时期通常q一步划分成三个阶段Q即问题定义、可行性研I和需求分析?br />
  开发时期具体设计和实现在前一个时期定义的软gQ它通常׃q四个阶D늻成:(x)M设计Q详l设计,~码和单元测试,l合试?br />
  l护时期的主要Q务是使Y件持久地满用户的需要。具体地_(d)当Y件在使用q程中发现错误时应该加以Ҏ(gu)Q当环境改变时应该修改Y件以适应新的环境Q当用户有新要求时应该及(qing)时改qY件满用L(fng)新需要。通常对维护时期不再进一步划分阶D,但是每一ơ维护活动本质上都是一ơ压~和化了的定义和开发过E?br />

下面D介绍软g生存周期每个阶段的基本Q务和l束标准?
Q问题定?

  问题定义阶段必须回答的关键问题:(x)“要解决的问题是什么?”如果不知道问题是什么就试图解决q个问题Q显然是盲目的,只会(x)白白费旉和金钱,最l得出的l果很可能是毫无意义的。尽确切地定义问题的必要性是十分明显的,但是在实践中它却可能是最Ҏ(gu)被忽视的一个步骤?br />
  通过问题定义阶段的工作,pȝ分析员应该提出关于问题性质、工E目标和规模的书面报告。通过对系l的实际用户和用部门负责h的访问调查,分析员扼要地写出他对问题的理解,q在用户和用部门负责h的会(x)议上认真讨论q䆾书面报告Q澄清含p不_地方Q改正理解不正确的地方,最后得Z份双斚w满意的文档?br />
  问题定义阶段是Y件生存周期中最短的阶段Q一般只需要一天甚x的旉?br />
Q可行性研I?

  q个阶段要回{的关键问题Q“对于上一个阶D|定的问题有行得通的解决办法吗?”ؓ(f)了回{这个问题,pȝ分析员需要进行一ơ大大压~和化了的系l分析和设计的过E,也就是在较抽象的高层ơ上q行的分析和设计的过E?br />
  可行性研I应该比较简短,q个阶段的Q务不是具体解决问题,而是研究问题的范_(d)探烦q个问题是否值得去解Q是否有可行的解军_法?br />
  在问题定义阶D|出的对工E目标和规模的报告通常比较含糊。可行性研ID应该导出系l的高层逻辑模型Q通常用数据流图表C)Qƈ且在此基上更准确、更具体地确定工E规模和目标。然后分析员更准地估计pȝ的成本和效益Q对的系l进行仔l的成本Q效益分析是q个阶段的主要Q务之一?br />
  可行性研I的l果是用部门负责h做出是否l箋q行q项工程的决定的重要依据Q一般说来,只有投资可能取得较大效益的那些工E项目才值得l箋q行下去。可行性研I以后的那些阶段需要投入要多的人力物力。及(qing)时中止不值得投资的工E项目,可以避免更大的浪贏V?br />
Q需求分?

  q个阶段的Q务仍然不是具体地解决问题Q而是准确地确定“ؓ(f)了解册个问题,目标pȝ必须做什么”,主要是确定目标系l必d备哪些功能?br />
  用户了解他们所面对的问题,知道必须做什么,但是通常不能完整准确地表辑և他们的要求,更不知道怎样利用计算决他们的问题QY件开发h员知道怎样使用软g实现Z的要求,但是对特定用L(fng)具体要求q不完全清楚。因此系l分析员在需求分析阶D必d用户密切配合Q充分交信息,以得出经q用L(fng)认的pȝ逻辑模型。通常用数据流图、数据字典和要的法描述表示pȝ的逻辑模型?br />
  在需求分析阶D늡定的pȝ逻辑模型是以后设计和实现目标pȝ的基Q因此必d完整地体现用户的要求。系l分析员通常都是计算Y件专Ӟ技术专家一般都喜欢很快着手进行具体设计,然而,一旦分析员开始谈论程序设计的l节Q就?x)脱ȝP使他们不能l提Z们的要求和徏议。较件工E用的l构分析设计的方法ؓ(f)每个阶段都规定了特定的结束标准,需求分析阶D必L供完整准的pȝ逻辑模型Q经q用L(fng)认之后才能进入下一个阶D,q就可以有效地防止和克服急于着手进行具体设计的們֐?br />
QM设计

  q个阶段必须回答的关键问题是Q“概括地_(d)应该如何解决q个问题Q?br />
  首先Q应该考虑几种可能的解x案。列如,目标pȝ的一些主要功能是用计机自动完成q是用h工完成;如果使用计算机,那么是用批处理方式q是人机交互方式Q信息存储用传l的文gpȝq是数据库……。通常臛_应该考虑下述几类可能的方案:(x)

  低成本的解决Ҏ(gu)。系l只能完成最必要的工作,不能多做一炚w处的工作?br />
  中等成本的解x案。这L(fng)pȝ不仅能够很好地完成预定的dQ用v来很方便Q而且可能q具有用h有具体指定的某些功能和特炏V虽然用h有提些具体要求,但是pȝ分析员根据自q知识和经验断定,q些附加的能力在实践中将证明是很有h(hun)值的?br />
  高成本的“十全十”的pȝ。这L(fng)pȝh用户可能希望有的所有功能和特点?br />
  pȝ分析员应该用系l流E图或其他工hq每U可能的pȝQ估计每U方案的成本和效益,q应该在充分权衡各种Ҏ(gu)的利弊的基础?推荐一个较好的pȝ (最x?,q且制定实现所推荐的系l的详细计划。如果用h受分析员推荐的系l,则可以着手完成本阶段的另一主要工作?br />
  上面的工作确定了解决问题的策略以?qing)目标系l需要哪些程序,但是Q怎样设计q些E序呢?l构设计的一条基本原理就是程序应该模块化Q也是一个大E序应该p多规模适中的模块按合理的层ơ结构组l而成。M设计阶段的第二项主要d是设计软g的结构,也就是确定程序由哪些模块l成以及(qing)模块间的关系。通常用层ơ图或结构图描绘软g的结构?br />
Q详l设?/b>

  M设计阶段以比较抽象概括的方式提出了解决问题的办法。详l设计阶D늚d是把解法具体化Q也是回答下面q个关键问题Q“应该怎样具体地实现这个系l呢Q?br />
  q个阶段的Q务还不是~写E序Q而是设计出程序的详细规格说明。这U规D明的作用很类g其他工程领域中工E师l常使用的工E蓝图,它们应该包含必要的细节,E序员可以根据它们写出实际的E序代码?br />
  通常用ᅢQPQ图Q层ơ图加输入/处理Q输出图Q或QͼQ语aQ过E设计语aQ描q详l设计的l果?br />
Q编码和单元试

  q个阶段的关键Q务是写出正确的容易理解、容易维护的E序模块?br />
  E序员应该根据目标系l的性质和实际环境,选取一U适当的高U程序设计语aQ必要时用汇~语aQ,把说l设计的l果译成用选定的语a书写的程序,q且仔细试~写出的每一个模块?br />
Q综合测?/b>

  q个阶段的关键Q务是通过各种cd的测试(?qing)相应的调试Q软g辑ֈ预定的要求?br />
  最基本的测试是集成试和验收测试。所谓集成测试是Ҏ(gu)设计的Y件结构,把经q单元测试检验的模块按某U选定的策略装配v来,在装配过E中对程序进行必要的试。所谓验收测试则是按照规D明书的规定(通常在需求分析阶D늡定)Q由用户Q或在用L(fng)极参加下Q对目标pȝq行验收?br />
  必要时还可以再通过现场试或^行运行等Ҏ(gu)对目标系l进一步测试检验?br />
  Z使用戯够积极参加验收测试,q且在系l投入生产性运行以后能够正有效地使用q个pȝQ通常需要以正式的或非正式的方式对用戯行培训?br />
  通过对Y件测试结果的分析可以预测软g的可靠性;反之Q根据对软g可靠性的要求也可以决定测试和调试q程什么时候可以结束?br />
  应该用正式的文档资料把测试计划、详l测试方案以?qing)实际测试结果保存下来,做?f)软g配置的一个组成成分?br />
QY件维?/b>

  l护阶段的关键Q务是Q通过各种必要的维护活动ɾpȝ持久地满用L(fng)需要?br />
  通常有四cȝ护活动:(x)Ҏ(gu)性维护,也就是诊断和Ҏ(gu)在用过E中发现的Y仉误;适应性维护,即修改Y件以适应环境的变化;完善性维护,x据用L(fng)要求改进或扩充Y件它更完善Q预防性维护,即修改Y件ؓ(f)来的维护活动预先做准备?br />
  虽然没有把维护阶D进一步划分成更小的阶D,但是实际上每一维护活动都应该l过提出l护要求Q或报告问题Q,分析l护要求Q提出维护要求,提出l护Ҏ(gu)Q审批维护方案,定l护计划Q修改Y件设计,修改E序Q测试程序,复查验收{一pd步骤Q因此实质上是经历了一ơ压~和化了的Y件定义和开发的全过E?br />
  都应该经q提出维护要求(或报告问题)Q分析维护要求,提出l护要求Q提出维护方案,审批l护Ҏ(gu)Q确定维护计划,修改软g设计Q修改程序,试E序Q复查验收等一pd步骤Q因此实质上是经历了一ơ压~和化了的Y件定义和开发的全过E?
软g开发模?/b>
1.瀑布模型
瀑布模型?970q?b>Winston Royce
提出的最早出现的软g开发模型?br />2.渐增模型
3.演化模型
4.螺旋模型
5.h模型
6.转换模型
7.模型




David Lee 2008-09-11 22:02 发表评论
]]>
临界资源的概念(转自癑ֺQ?/title><link>http://www.shnenglu.com/Lee/archive/2008/09/10/61462.html</link><dc:creator>David Lee</dc:creator><author>David Lee</author><pubDate>Wed, 10 Sep 2008 02:28:00 GMT</pubDate><guid>http://www.shnenglu.com/Lee/archive/2008/09/10/61462.html</guid><wfw:comment>http://www.shnenglu.com/Lee/comments/61462.html</wfw:comment><comments>http://www.shnenglu.com/Lee/archive/2008/09/10/61462.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/Lee/comments/commentRss/61462.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/Lee/services/trackbacks/61462.html</trackback:ping><description><![CDATA[临界资源是指每次仅允怸个进E访问的资源?br />属于临界资源有硬件打印机、磁带机{?软g有消息缓冲队列、变量、数l、缓冲区{?<br />每个q程中访问(f)界资源的那段E序UCؓ(f)临界区(临界资源是一ơ仅允许一个进E用的׃n资源Q。每ơ只准许一个进E进入(f)界区Q进入后不允许其他进E进入?img src ="http://www.shnenglu.com/Lee/aggbug/61462.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/Lee/" target="_blank">David Lee</a> 2008-09-10 10:28 <a href="http://www.shnenglu.com/Lee/archive/2008/09/10/61462.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> 十二球升U版 U球问题的一般解?(?http://www.shnenglu.com/Lee/archive/2008/09/04/60870.htmlDavid LeeDavid LeeWed, 03 Sep 2008 16:11:00 GMThttp://www.shnenglu.com/Lee/archive/2008/09/04/60870.htmlhttp://www.shnenglu.com/Lee/comments/60870.htmlhttp://www.shnenglu.com/Lee/archive/2008/09/04/60870.html#Feedback0http://www.shnenglu.com/Lee/comments/commentRss/60870.htmlhttp://www.shnenglu.com/Lee/services/trackbacks/60870.html      U球问题怿大家已经很熟(zhn)了Qƈ且已l知道从12个球中找出坏球ƈ判断其轻重最多只需?ơ称量。但如果把球数改变一下,比如?3个球Q答案又是几ơ呢Q本文将对这一问题q行“深入”分析。ؓ(f)了后面叙q方便,先在q里把一般化后的问题重复一下:(x)

    有mQm?Q个球,Cؓ(f)q1、q2、…、qmQ其中有且仅有一个坏球,光量与其他的不同,C用无砝码的天q行称量,令n为称量次敎ͼ问:(x)能确保找到坏球ƈ指出它与好球的轻重关pȝn的最值是多少Q?/font>

    先来看理Z要多次。每ơ称量有左边轅R^衡和双d3U可能的情况Q而坏球的可能l果有q1轅Rq1重、q2轅Rq2重、…、qm轅Rqm重等?mU。因此,Ҏ(gu)商农的信息论Q此问题的熵是需要的U量ơ数Q又因ؓ(f)n是整敎ͼ所以有Q?img alt="" hspace="0" src="http://blog.vckbase.com/images/vckbase_com/localvar/701/o_ball-01.gif" border="0" />

    不过理论l归是理论,直接拿到现实生活中往往行不通。一个很单的情况Q?个球Q上面的公式?ơ称量就够了。但你可以想惛_法,反正我是没找Cơ解决问题的Ҏ(gu)?

    那,是理论错了吗Q唔Q我可不敢怀疑商农,我只敢怀疑我自己。来看看我们错在哪了吧。对4个球的情况,W一ơ称量只有两个可选的Ҏ(gu)Q方?Qq1攑ַ盘,q2攑֏盘。若不^衡(׃对称性,只分析左边轻的情况,下同Q,则可能的l果q剩q1dq2重,再称一ơ就能找到坏球;若^衡,则可能的l果q剩q3轅Rq3重、q4dq4?个,再套用一下商农的定理Q此时还要称ơ。所以方?被否冟뀂方?Qq1、q2攑ַ盘,q3、q4攑֏盘。此时天q定不?x)^衡,U量后,可能的结果有q1轅Rq2轅Rq3重和q4?个。同L(fng)道理Q方?也难逃被否决的命q?/font>

    ?个球q么单的情况下就撞得满头是包Q未免让人难以接受,ȝ一下经验教训吧Q把上面的分析归U一下ƈ推广C般情况,是Q整个称量过E中Q要辑ֈ目的Q倒数Wkơ称量前的可能结果数hQ必Lx件h?k?/font>

    上面的得出的l论虽然不能让我们找到问题的{案Q但却有助于我们定每次U量的方案,特别是第一ơ如何做。假设我们计划的U量ơ数是nQ第一ơ在左右两盘中各放x个球Q则保证下面两个不等式同时成立是解决问题的必要条Ӟ(x)

    2(m-2x)?n-1  Q^衡时Q?/font>

    2x?n-1 Q不qӞ

把这两个不等式稍加变换,成了下面的样子Q?/font>


注意到x是整敎ͼ3n-1是奇敎ͼ2m是偶敎ͼ所以上面的不等式等价于Q?/font>


昄Q在n一定的情况下,m大Qx的取D围越,而当x只能取?img alt="" hspace="0" src="http://blog.vckbase.com/images/vckbase_com/localvar/701/o_ball-05.gif" border="0" />Ӟml箋增大Q就?x)导致nơ称量找到坏球的计划破。籍此,可以得出在n一定的情况下m的取D_(d)(x)。发C吗?现在m的最大值正好比我们最初的l果了1。同时此l果也与前面提到?个球的实际情늛W?/font>

    但分析了半天Q我们只证明了m不在取D围内Ӟnơ称量不能确保找到坏球。那m在取D围内的时候,肯定能找到吗Q答案是肯定的,不过马上证明它有炚wQ先来看两个单一点的命题?/font>

    命题1Q有A、B两组球,球的个数分别为a、bQ且0≤b-a?Q已知这些球中有且仅有一个坏球,若它在Al中Q则比正常球轻,在Bl中则比正常球重。另有一个好球。先使用无砝码的天^U量Qo(h)Q则可以扑ֈ一个称量方案,使得最多经qnơ称量,可以找到坏球(此时肯定能指出它与好球的重量关系Q?/font>

    使用数学归纳法证明如下:(x)

    ①当n=1Ӟa、b的取值可能有{0Q?}、{1Q?}、{1Q?}三组Q由于还有一个已知的好球Q所以不N证此时命题成立?br />    ②假讑ֽn=k时命题也成立?br />    ③当n=k+1时。我们将A、B两组球分别尽量^均得分ؓ(f)三组Q记为A1、A2、A3、B1、B2和B3。不影响一般性,假设q六l球按球C到多的排列ơ序也与前面的顺序一_(d)且A1有球a1个。则W一ơ称量时的称量方案与每组球个数的对应关系如下Q其中需要注意的是:(x)在带蓝色的两U情况下Q必?img alt="" hspace="0" src="http://blog.vckbase.com/images/vckbase_com/localvar/701/o_ball-08.gif" border="0" />Q否则就与命题的前提不符了?/font>

A1 A2 A3 B1 B2 B3 U量Ҏ(gu)
a1 a1 a1 a1 a1 a1 A1、B1攑ַ盘;A2、B2攑֏?
a1 a1 a1 a1 a1 a1+1 A1、B1攑ַ盘;A2、B2攑֏?
a1 a1 a1+1 a1 a1 a1+1 A1、B3攑ַ盘;A3、B1攑֏?
a1 a1 a1+1 a1 a1+1 a1+1 A1、B2攑ַ盘;A2、B3攑֏?
a1 a1+1 a1+1 a1 a1+1 a1+1 A2、B2攑ַ盘;A3、B3攑֏?
a1 a1+1 a1+1 a1+1 a1+1 a1+1 A2、B2攑ַ盘;A3、B3攑֏?/font>

很明显,不管l果是什么,W一ơ称量之后,问题都能转化为n=k时的情Ş。所以,命题1是真命题?/font>

    前面已经证明Ӟnơ称量无法确保找到坏球ƈ指出其轻重关pR但如果此时也有一个已知的好球的话Q答案就不一样了Q这时nơ称量就已经_Q命?Q。仍使用数学归纳法?/font>

    ①当n=2Ӟm=4Q验证一下可知命题成立。?br />    ②假讑ֽn=k时命题也成立。?br />    ③当n=k+1时。我们把q些球尽量^均的分成三组Q则每组球的个数分别为:(x)?img alt="" hspace="0" src="http://blog.vckbase.com/images/vckbase_com/localvar/701/o_ball-10.gif" border="0" />?img alt="" hspace="0" src="http://blog.vckbase.com/images/vckbase_com/localvar/701/o_ball-11.gif" border="0" />。第一ơ称量时Q第一l和那个好球攑ַ盘,W三l放右盘。若qQ问题{化ؓ(f)n=k时的情ŞQ不qQ问题{化ؓ(f)命题1的情形。命题成立?

    有了前面两个证明作基Q最初的问题很单了Q再ơ祭出数据学归纳法。由于m<5时的情况有些Ҏ(gu)(考虑只有一个球或两个球的情?Q不能作为递推得依据,所以我们从n=3Q也是m=5开始?/font>

    ①当n=3Ӟm??2之间Q?3的情况已l被排除在外Q,通过一一验证可知命题成立。?br />    ②假讑ֽn=k时命题也成立。?br />    ③当n=k+1Ӟ扑ֈ一个满不{式的xQ在天^左右两盘中各放x个球。如果天q_^衡,问题转化为n=k时的情Ş或命?中的情ŞQ不qQ则转化为命?的情形。命题成立?/font>

    lg所qͼU球问题的完整答案是Q当球数Ӟnơ称量时p保扑ֈ坏球Qƈ指出它与好球的轻重关p;当球?img alt="" hspace="0" src="http://blog.vckbase.com/images/vckbase_com/localvar/701/o_ball-09.gif" border="0" />Ӟnơ称量只能确保找到坏球,而无法指出它与好球的轻重关系。要x重关p,可能需要多q行一ơ称量。但如果此时再有一个好球,又可以把这ơ称量省掉了?



David Lee 2008-09-04 00:11 发表评论
]]>
十二个球的称重问题(转)http://www.shnenglu.com/Lee/archive/2008/09/03/60864.htmlDavid LeeDavid LeeWed, 03 Sep 2008 15:36:00 GMThttp://www.shnenglu.com/Lee/archive/2008/09/03/60864.htmlhttp://www.shnenglu.com/Lee/comments/60864.htmlhttp://www.shnenglu.com/Lee/archive/2008/09/03/60864.html#Feedback0http://www.shnenglu.com/Lee/comments/commentRss/60864.htmlhttp://www.shnenglu.com/Lee/services/trackbacks/60864.html 
问题Q有十二个小球特征相同,其中只有一个质量异常,要求用一部没有砝码的天^UCơ,那个质量异常的球找出来?/div>
 
众网友议论纷UP都认是不可能实现的Q务?/div>
然后有hl出了解{:(x)
 
球分ؓ(f)3l,每组4个,d两组UCơ。若两边{重Q则异常球在其余一l中Q通过3个正常球和其余一l中3个称重,很容易就能找出异常球?br />若两l不{重Q假设Al重QBl轻。从Al取两个、Bl取一个ؓ(f)甲组Q取Al一个、Bl?个,正常球一个ؓ(f)乙组Q进行称重?br />若两者相{,则异常球没有q入甲乙两组中,可能是Al剩余那个超重或是Bl剩余的两个轻,Bl剩余的两个U重Q若{重则Al剩余那个异常,否则两个中较ȝ异常?br />若甲l重Q则甲组中的两个原Al的重或是乙l中原Bl的轻,Al那两个U重Q若{重则乙l中原Bl的球异常,否则Al中较重的ؓ(f)异常球?br />若甲l轻Q则甲组中原Bl的L是乙l中原Al的重,d一个与正常球对比即可找出异常球?
 
此h的分析更加精彩:(x)
 
从信息论来看Q?2个球一个重量异常,出现概率1/12Q该球质量可能轻也可能重Q那么出现概率ؓ(f)1/2?br />那么要得到结果所需信息量ؓ(f)log2+log12?br />UCơ可能有轅R重、相{三U结果,信息量ؓ(f)log3。log24/log3<3Q三ơ应该能U出来?/div>
 
信息用到q种地步Q实在是_辟啊。高人就是高人,赞!


David Lee 2008-09-03 23:36 发表评论
]]>[VC++]~译Q没有找?mspdb80.dll 的解军_?http://www.shnenglu.com/Lee/archive/2008/08/01/57720.htmlDavid LeeDavid LeeFri, 01 Aug 2008 03:02:00 GMThttp://www.shnenglu.com/Lee/archive/2008/08/01/57720.htmlhttp://www.shnenglu.com/Lee/comments/57720.htmlhttp://www.shnenglu.com/Lee/archive/2008/08/01/57720.html#Feedback0http://www.shnenglu.com/Lee/comments/commentRss/57720.htmlhttp://www.shnenglu.com/Lee/services/trackbacks/57720.html 
    在cmd中键入cl执行~译Q或libQ时?x)出现mspdb80.dll无法扑ֈ的情况,是因为VC\Bin\下没有“msobj80.dll,mspdb80.dll,mspdbcore.dll,mspdbsrv.exe”这四个文gQ直接从Common7\IDE\下复制这四个文g到VC\Bin\下即可解冟?/span>

David Lee 2008-08-01 11:02 发表评论
]]> þþþþùƷ| þþþþԻAV| þþ뾫Ʒպ˳| þ99ۺϾƷ| ƷþþþþþþþӰԺ | Ӱһþҹײ | þ99þ99СݾƷӿ| ˾þô߽ۺӰԺҳ | þþƷһպ | þۺƵվ| wwþþþþþþþ| þþƷѿ| þþžƷ| þۺϸϾþù| ޹ŮƷþþþá | þþƷ2020| һɫþۺϺݺƪ| ĻӰӾþþ| ۲ӰԺþ99| ƷŮٸavѾþ| þֻоƷ18| þþƷaĻؿ| ۺŮþþ30p| ԭƷ99þþƷ66| Ʒѿþþ | ҹƷþþþþþþ| AVҰ¾þ| þþþavר| Ʒþþþþþ| ѹ99þþ㽶| ŷҹAŴƬþ| þþƷAVDz18| 66þôýվȸ | 99þ뾫Ʒϵ| ƷþòҰ| ˾Ʒþ| ޹˾þһWWW| 97Ʒ97þþþþ| һֻƴƬ99þ| þ99Ʒŷ| 77777ҹþö|