锘??xml version="1.0" encoding="utf-8" standalone="yes"?>一区二区三区高清,亚洲国产精品t66y,日韩特黄影片http://m.shnenglu.com/kuronca/zh-cnWed, 26 Nov 2025 14:20:50 GMTWed, 26 Nov 2025 14:20:50 GMT60錛堣漿錛塛inCE椹卞姩寮鍙戦棶棰樼簿鍗庨泦閿?/title><link>http://m.shnenglu.com/kuronca/archive/2008/05/09/49332.html</link><dc:creator>闆跺畤</dc:creator><author>闆跺畤</author><pubDate>Fri, 09 May 2008 09:24:00 GMT</pubDate><guid>http://m.shnenglu.com/kuronca/archive/2008/05/09/49332.html</guid><wfw:comment>http://m.shnenglu.com/kuronca/comments/49332.html</wfw:comment><comments>http://m.shnenglu.com/kuronca/archive/2008/05/09/49332.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/kuronca/comments/commentRss/49332.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/kuronca/services/trackbacks/49332.html</trackback:ping><description><![CDATA[<strong>濡備綍璁╃郴緇熷姞杞借嚜宸卞啓鐨勯┍鍔ㄧ▼搴忥紵</strong>   <br>涓ょ鍔炴硶錛?nbsp; <br>1銆佸湪[HKEY_LOCAL_MACHINE\Drivers\BuiltIn]涓嬫坊鍔犳敞鍐岄敭銆?nbsp; <br>2銆佸湪搴旂敤紼嬪簭涓皟鐢ˋctivateDeviceEx銆?nbsp; <br>  <br> <strong>鍦ㄤ竴浜涙枃浠朵腑鐢ㄥ垎鍙鋒潵琛ㄧず娉ㄩ噴錛屼緥濡備笅闈㈢殑鍐呭   <br></strong>; @CESYSGEN IF SERVERS_MODULES_HTTPD  <br>; @CESYSGEN ENDIF  <br>鍦?#8220;CESYSGEN...”鍓嶅姞浜?#8220;@”錛屾湁娌℃湁浠涔堢壒鍒殑鍚箟錛?nbsp; <br>鍦╓INCE鐨勪竴浜涙枃浠朵腑錛岀敤“;”浣滀負娉ㄩ噴騫跺湪娉ㄩ噴鏂囧瓧涓敤@CESYSGEN浣滀負鏍囪錛屽悗闈㈡帴鏉′歡璇彞銆侰efilter.exe宸ュ叿璐熻矗鎸夌収鏉′歡鏉ョ瓫閫夋枃浠跺唴瀹癸紝鎵浠ヤ笉瑕佽交鏄撳湴鍒犻櫎鍖呭惈@CESYSGEN鐨勬敞閲婅鍙ャ?nbsp; <br>  <br> 閫氳繃涓插彛寤虹珛ActiveSync鑱旀帴,涓插彛綰跨敤涓夌嚎鐨勫彲浠ュ悧?   <br>涓嶅彲浠ワ紝鍥犱負鐢ㄤ覆鍙e悓姝ユ椂瑕佺敤鍒板叾浣欏彛鐨勭姸鎬併?nbsp; <br><br>   <br> <strong>    WINCE鏄惁鏀寔MAPI錛?/strong>  <br>涓嶆敮鎸併俉INCE鑷甫鐨刾mail.exe杞歡涔熶笉鏄緢濂界敤銆傚緩璁嚜寮鍙戦偖浠舵敹鍙戣蔣浠躲傚鏋滈渶瑕佽喘涔癢INCE涓嬮偖浠舵敹鍙戣蔣浠跺彲浠ヨ仈緋繪垜銆?nbsp; <br>  <br> <strong>濡備綍鏃嬭漿灞忓箷鏄劇ず鐨勫唴瀹癸紵</strong>  <br>渚嬪瓙浠g爜濡備笅錛堝墠鎻愭槸鏄劇ず椹卞姩紼嬪簭鏀寔鏃嬭漿錛夛細  <br>DEVMODE  devmode = {0};  <br> devmode.dmSize = sizeof(DEVMODE);  <br> devmode.dmDisplayOrientation = DMDO_90;       ///鍨傜洿妯″紡  <br> devmode.dmFields = DM_DISPLAYORIENTATION;  <br> ChangeDisplaySettingsEx(NULL, &devmode, NULL, 0, NULL);  ///鏀瑰彉鏄劇ず鐨勮緗?nbsp; <br> CRect  rcWorkArea(0, 0, 320, 240);    ///鏁翠釜灞忓箷灝哄  <br> ///璁劇疆瀹㈡埛鍖哄ぇ灝忓茍騫挎挱娑堟伅錛岃繖鏍鋒墍鏈夎蔣浠朵篃灝遍殢涔嬫洿鏀規(guī)樉紺?nbsp; <br> SystemParametersInfo(SPI_SETWORKAREA, 0, (void*)&rcWorkArea, SPIF_SENDCHANGE);   <br>  <br><strong> 璇烽棶濡備綍淇敼瀛楀艦緙撳瓨鐨勫閲忥紵  <br></strong>[HKEY_LOCAL_MACHINE\System\GDI\GLYPHCACHE]  <br>"limit"=dword:0400  <br>  <br><strong> 濡備綍寰楀埌浠嶹INCE鍚姩寮濮嬪埌鐜板湪鐨勬椂闂達紵</strong>  <br>璋冪敤API GetTickCount錛屽緱鍒扮殑鍊間負32浣嶆暣鏁幫紝鍗曚綅涓烘縐掋?nbsp; <br><strong>  <br> 濡備綍璋冪敤WINCE鐨勮蔣閿洏錛?/strong>  <br>璋冪敤API SipShowIM(SIPF_ON)錛屽墠鎻愭槸鍐呮牳鍔犲叆浜嗚蔣閿洏緇勪歡銆?nbsp; <br>  <br><strong> 鍩轟簬HIVE鐨勬敞鍐岃〃錛屽浣曞湪緋葷粺鍏抽棴鍓嶄繚瀛樻敞鍐岃〃鐨勬暟鎹埌鏂囦歡system.hv錛?/strong>  <br>璋冪敤API RegFlushKey鍑芥暟銆?nbsp; <br>  <br><strong> 浣跨敤VirtualAlloc鍜孷irtualCopy鐨勬椂鍊欓渶瑕佹敞鎰忓摢浜涗簨欏癸紵</strong>  <br>1銆乂irtualAlloc鐨勪綔鐢ㄦ槸鐢寵铏氭嫙鍦板潃絀洪棿錛岃繖鑲畾涓嶆槸鏈緇堢殑鐩殑錛屾渶緇堢洰鐨勫彲鑳芥槸鐢寵鐗╃悊鍐呭瓨銆佹槧灝勫瘎瀛樺櫒銆佹彁浜ゆ枃浠剁瓑銆傛病鏈変竴涓洰鐨勪細鍦ㄦ剰铏氭嫙鍦板潃絀洪棿鐨勪綅緗紝鎵浠ュ敖閲忎紶閫掑弬鏁?涓?錛屼篃灝辨槸璁¦INCE鑷姩鍒嗛厤铏氭嫙鍦板潃絀洪棿銆俈irtualAlloc鍒嗛厤鍦板潃絀洪棿瀹為檯涓婃槸浠?4KB涓哄崟浣嶏紝鎵浠ヨ鎸囧畾鐢寵鐨勮櫄鎷熺┖闂寸殑棣栧湴鍧鐨勮瘽錛屽弬鏁?搴旇涓?4KB鐨勬暣鏁板嶏紝鐢寵鐨勯暱搴︿篃搴旇涓?4KB鐨勬暣鏁板嶏紝鍗充嬌浣犱笉闇瑕侀偅涔堝ぇ銆?nbsp; <br>2銆乂irtualCopy鐨勪富瑕佷綔鐢ㄦ槸鏄犲皠鐗╃悊鍦板潃絀洪棿錛屽鏋滃弬鏁?涓虹墿鐞嗗湴鍧錛岄偅涔堟渶鍚庝竴涓弬鏁拌娣誨姞PAGE_PHYSICAL錛屽弬鏁?蹇呴』鏄?56鐨勬暣鏁板嶃傚鏋滃弬鏁?涓鴻櫄鎷熷湴鍧錛?x80000000浠ヤ笂錛夛紝閭d箞鏈鍚庝竴涓弬鏁板氨涓嶈娣誨姞PAGE_PHYSICAL錛學(xué)INCE鍐呮牳浼氭牴鎹繖涓櫄鎷熷湴鍧鎵懼埌瀵瑰簲鐨勭墿鐞嗗湴鍧銆?nbsp; <br>  <br><strong> 椹卞姩紼嬪簭鍜屽簲鐢ㄧ▼搴忎箣闂翠紶閫掓暟鎹椂浣曟椂璋冪敤MapPtrToProcess錛?nbsp; <br></strong>鍥犱負璁懼綆$悊鍣ㄨ礋璐e姞杞介┍鍔ㄧ▼搴廌LL錛岃繖鎰忓懗鐫褰撳簲鐢ㄧ▼搴忚皟鐢ㄩ┍鍔ㄧ▼搴忔帴鍙e嚱鏁扮殑鏃跺欙紝W(xué)INCE鍐呮牳浼氬皢璋冪敤椹卞姩紼嬪簭鎺ュ彛鍑芥暟鐨勭嚎紼嬭漿縐誨埌璁懼綆$悊鍣ㄧ殑榪涚▼絀洪棿鐒跺悗鎵ц鍏蜂綋鐨勯┍鍔ㄧ▼搴忎唬鐮侊紝搴旂敤紼嬪簭鍜岃澶囩鐞嗗櫒澶勪簬涓や釜榪涚▼絀洪棿錛岃繖灝遍犳垚璁懼綆$悊鍣ㄦ棤娉曡闂簲鐢ㄧ▼搴忎紶閫掔殑鎸囬拡錛堣櫄鎷熷湴鍧錛夛紝鎵浠ュ綋鎴戜滑鍦ㄥ簲鐢ㄧ▼搴忎腑浼犻掓寚閽堢粰嫻侀┍鍔ㄧ▼搴忔帴鍙e嚱鏁版椂錛學(xué)INCE鍐呮牳浠庝腑浣滀簡涓涓湴鍧鏄犲皠錛屼緥濡俁eadFile銆乄riteFile銆丏eviceIoControl鍑芥暟鐨勫弬鏁板嚒鏄寚閽堥兘緇忚繃浜嗘槧灝勬墠浼犻掔粰椹卞姩紼嬪簭錛屾墍浠ュ緢澶氶┍鍔ㄧ▼搴忓紑鍙戣呭茍涓嶄簡瑙e叾涓殑濂ョ灝卞彲浠ョ紪紼嬩簡銆備絾鏄鏋滃弬鏁版槸涓涓寚鍚戜竴涓粨鏋勪綋鐨勬寚閽堬紝鑰岀粨鏋勪綋閲屽寘鎷竴涓垨澶氫釜鎸囬拡錛岄偅涔圵INCE鍐呮牳騫朵笉璐熻矗鏄犲皠錛屾墍浠ュ氨闇瑕佸紑鍙戣呭湪椹卞姩紼嬪簭鎺ュ彛鍑芥暟涓皟鐢ˋPI鍑芥暟MapPtrToProcess鏉ユ槧灝勫湴鍧銆備緥濡傦細pPointer_retval = MapPtrToProcess(pPointer, GetCallerProcess());   <br>  <br> <strong>濡備綍鍒ゆ柇鍙彃鎷旂殑璁懼鏄惁瀛樺湪錛?/strong>  <br>1銆侀氳繃鏌ユ壘娉ㄥ唽琛ㄧ殑鍊箋傚嚒鏄敱API ActivateDeviceEx鍔犺澆鐨勯┍鍔ㄧ▼搴忛兘鍦╗HKEY_LOCAL_MACHINE\Drivers\Active]閿笅鏈夋敞鍐岄敭錛岄氳繃鏌ユ壘“name”鎴栬呭叾瀹冮敭鍊煎氨鑳藉鎵懼埌銆傝澶囩鐞嗗櫒灝辮皟鐢ㄨ繖涓狝PI銆傚鏋滄槸PCI璁懼錛屽湪娉ㄥ唽琛╗HLM\Drivers\BuiltIn\PCI\Instance]涓嬫煡鎵懼叧閿瓧錛屼緥濡俒HLM\Drivers\BuiltIn\PCI\Instance\WaveDev1]錛岃鏄庨煶棰戦┍鍔ㄥ凡緇忓姞杞姐?nbsp; <br>2銆佽皟鐢ㄩ┍鍔ㄧ▼搴忔帴鍙e嚱鏁幫紝鏍規(guī)嵁榪斿洖鍊兼垨鑰呮墽琛岀粨鏋滄潵鍒ゆ柇銆?nbsp; <br>  <br> <strong>濡備綍鍋氬埌閫氳繃涓插彛榪囨潵鐨勪竴涓俊鍙峰惎鍔ㄨ嚜宸卞紑鍙戠殑搴旂敤紼嬪簭錛?nbsp; <br></strong>鍒涘緩涓涓嚎紼嬭礋璐g瓑寰呬覆鍙h繃鏉ョ殑淇″彿錛岃皟鐢ˋPI SetCommMask璁劇疆瑕佺瓑寰呯殑淇″彿縐嶇被錛屽叿浣撳彲浠ョ瓑寰呯殑淇″彿縐嶇被鍙傝鍙傛暟2鐨勮鏄庛傜劧鍚庡啀璋冪敤API WaitCommEvent鍑芥暟絳夊緟榪欎釜淇″彿錛屾帴鏀朵箣鍚庡啀璋冪敤API CreateProcess鍚姩搴旂敤紼嬪簭銆?nbsp; <br>  <br><strong> 鍦╓INCE涓浣曞彧鑳藉惎鍔ㄥ簲鐢ㄧ▼搴忕殑涓涓疄渚嬶紵</strong>  <br>甯哥敤鐨勪袱縐嶅姙娉曪細  <br>1銆佸鏋滃簲鐢ㄧ▼搴忓疄渚嬪垱寤轟簡紿楀彛錛屽彲閫氳繃API FindWindow鍑芥暟閫氳繃紿楀彛綾誨悕鍜岀獥鍙f爣棰樺悕縐版潵鏌ユ壘錛屽墠鎻愭槸緋葷粺鍐呬笉浼氬嚭鐜扮獥鍙e悕縐伴噸澶嶇殑鎯呭喌銆?nbsp; <br>2銆佸簲鐢ㄧ▼搴忓垵濮嬪寲鐨勬椂鍊欏垱寤轟竴涓簨浠舵垨浜掓枼絳夊唴鏍稿璞★紝鍥犱負鍐呮牳瀵硅薄鏄敱鍐呮牳鍒涘緩錛屽悕縐板湪緋葷粺鍐呭敮涓銆?nbsp; <br>  <br><strong> 鑳戒笉鑳借嚜宸辯紪杈戜竴涓暟瀛楃鍚嶆枃浠跺鍏ュ埌鎵嬫満涓婏紝榪欐牱灝卞彲浠ョ敤榪欎釜絳懼悕絳捐嚜宸辯殑紼嬪簭浜嗭紵</strong>  <br>WINCE鐨勫唴鏍哥鍚嶆満鍒剁殑鐢ㄩ旀槸闄愬埗闈炴硶鐨勫彲鎵ц妯″潡EXE銆丏LL絳夊湪璁懼涓婅繍琛屻傝姹傚唴鏍哥殑鍔犺澆妯″潡鐢ㄥ叕閽ラ獙璇佽姹傚姞杞界殑EXE銆丏LL鐨勭鍚嶆槸鍚﹀悎娉曪紝鑰岃繖涓叕閽ユ槸鍦ㄥ畾鍒跺唴鏍哥殑鏃跺欏姞榪涘幓鐨勶紝鎵浠ラ櫎鍐呮牳鐨勫畾鍒惰呬互澶栫殑浜烘棤娉曚慨鏀硅繖涓獙璇佹満鍒躲?nbsp; <br>  <br> 鎴戞寜鐓х増涓葷殑鏂囩珷銆婂姞瀵哤INCE緋葷粺銆嬮噷鎿嶄綔錛屾彁紺洪敊璇涓嬶細  <br>Error 80090016 during CryptSignHash 1!  <br>Error signing hash  <br>榪欐槸鍥犱負浼犻掍簡鏃犳晥鐨勯挜瀹瑰櫒鍚嶇О錛屼嬌CryptoAPI璋冪敤澶辮觸銆傚簲璇ュ湪浣跨敤signfile宸ュ叿涔嬪墠鍒涘緩涓涓挜瀹瑰櫒錛屽湪妗岄潰Windows涓皟鐢ˋPI CryptAcquireContext鍒涘緩涓涓寚瀹氬悕縐扮殑閽ュ鍣紝鎺ョ潃鍐嶅垱寤轟竴涓鍚嶅瘑閽ュ錛岃繖鏃跺啀浣跨敤signfile宸ュ叿灝卞彲浠ヤ簡銆傛垜鍦ㄦ枃绔犻噷鍐欐垚-kfulinlin鏄洜涓烘垜鍒涘緩閽ュ鍣ㄧ殑鏃跺欐病鏈夋寚瀹氬悕縐幫紝緋葷粺灝遍噰鐢ㄥ綋鍓嶇櫥褰曠殑鐢ㄦ埛鍚嶄負瀹瑰櫒鍚嶃?nbsp; <br>  <br> <strong>緙栬瘧閿欒錛欳VTRES : fatal error CVT1102: out of memory; 42 bytes required 錛?/strong>  <br>澶氭暟鎯呭喌涓嬪嚭鐜拌繖縐嶉敊璇槸鍥燛VC鐨刡ug鑰岃搗錛屽簲璇ュ湪瀹夎EVC涔嬪悗灝辯珛鍒誨畨瑁匛VC鐨凷P琛ヤ竵銆傚彟澶栦負浜嗛伩寮BUG錛屼嬌鐢‥VC緙栫▼搴旇鍏繪垚涓浜涗範鎯紝姣斿瀹氭湡澶囦喚宸ョ▼鎵鏈夋枃浠訛紝姣忔緙栬瘧鏃墮噰鐢–lean + Rebuild All錛屾璋冭瘯鏃朵笉瑕佸叧闂ā鎷熷櫒絳夌瓑銆?nbsp; <br>  <br><strong> 鍦╓INCE涓嬫槸鍚﹁兘澶熷緱鍒版煇涓榪涚▼浣跨敤鐨勭墿鐞嗗唴瀛樻婚噺錛?/strong>  <br>鐩墠娌″彂鐜版湁榪欐牱涓涓狝PI鑳藉寰楀埌鎸囧畾榪涚▼浣跨敤鐨勭墿鐞嗗唴瀛樻婚噺銆傚彧鏈塆lobalMemoryStatus鑳藉寰楀埌鏁翠釜緋葷粺浣跨敤鐨勭墿鐞嗗唴瀛樻婚噺銆?nbsp; <br>  <br><strong> 搴旂敤紼嬪簭濡備綍鎺у埗lcd鐨勪寒搴︼紵濡備綍鑾峰緱鐢墊睜鐨勭數(shù)閲忥紵</strong>  <br>浠庡父瑙佺殑騫沖彴濡侴eode銆佷笁鏄烝RM緋誨垪鏉ョ湅錛岀殑紜湪椹卞姩鏂歸潰娌℃湁緇熶竴鐨勬帶鍒禠CD鎴栬呭叾瀹冪綾誨睆騫曚寒搴︾殑鎺ュ彛鍑芥暟錛屾墍浠ュ彧鑳芥牴鎹叿浣撳鉤鍙版彁渚涚殑鎺ュ彛鏉ュ仛銆備粠甯姪鏂囨。鏉ョ湅寰蔣鐨勫甫鏈塂irectDraw鍔熻兘鐨勬樉紺洪┍鍔ㄧ▼搴忕殑紜湁鏍囧噯鐨勫鍔犱寒搴︾殑鎺ュ彛鍑芥暟錛屽叧浜庤儗鏅厜鍙傝鏍囬涓?#8220;Enabling a Backlight”鐨勫府鍔╂枃妗c?nbsp; <br>鑾峰緱鐢墊睜鐢?shù)閲忔湁鏍囧噯鐨勬帴鍙e嚱鏁癎etSystemPowerStatusEx錛屽墠鎻愭槸椹卞姩紼嬪簭鍜岀‖浠墮兘瑕佹敮鎸併?nbsp; <br>  <br> <strong>WINCE鐨剆ocket鍑芥暟濂藉儚涓嶆敮鎸佸彂閫?鎺ユ敹瓚呮椂錛?/strong>  <br>鏄殑錛屾渶鏃╃増鏈殑WINCE鏀寔閫夐」SO_RCVTIMEO銆丼O_SNDTIMEO錛屽悗鏉ュ嵈涓嶆敮鎸佷簡銆?nbsp; <br>  <br> <strong>WINCE涓嬪浣曡緗獥鍙f渶澶у寲鍜屾渶灝忓寲錛?/strong>  <br>WINCE鐨勫府鍔╂枃妗e湪浠嬬粛API ShowWindow鍑芥暟鐨勫弬鏁版椂鎸囧嚭SW_MAXIMIZE, SW_MINIMIZE, SW_RESTORE, SW_SHOWDEFAULT, SW_SHOWMAXIMIZED, SW_SHOWMINIMIZED, SW_SHOWMINNOACTIVE閮戒笉琚敮鎸侊紝浣嗗疄闄呬笂騫朵笉瀹屽叏鏄繖鏍鳳紝鍏蜂綋鏉ヨ錛?nbsp; <br>SW_MAXIMIZE            姣斿師鏉ョ獥鍙eぇ錛屼絾涓嶆槸鏈澶у寲  <br>SW_MINIMIZE             緙栬瘧鎴愬姛錛屼絾鏄笉璧蜂綔鐢?nbsp; <br>SW_SHOWMAXIMIZED     鏈澶у寲  <br>SW_SHOWMINIMIZED      緙栬瘧鍑洪敊  <br>SW_RESTORE              鑳芥仮澶?nbsp; <br>SW_SHOWDEFAULT        緙栬瘧鍑洪敊  <br>SW_SHOWMINNOACTIVE   緙栬瘧鍑洪敊  <br>SW_HIDE                  鑳藉闅愯棌  <br>  <br><strong> 濡備綍鐢ㄧ▼搴忚皟鐢ㄦ帶鍒墮潰鏉跨殑瑙︽懜灞忔牎瀵圭▼搴忥紵</strong>   <br>涓ょ鍔炴硶錛?nbsp; <br>1銆佽皟鐢ˋPI TouchCalibrate鍑芥暟  <br>2銆佽皟鐢–reateProcess錛屽弬鏁?涓篖"\\windows\\ctlpnl.exe"錛屽弬鏁?涓篖"cplmain.cpl,9"銆?nbsp; <br>  <br> <strong>濡備綍鑾峰緱U鐩樻垨鑰呭叾瀹冪被鍨嬬殑瀛樺偍鍣ㄦ誨閲忓拰鍓╀綑鍙敤瀹歸噺錛?/strong>  <br>璋冪敤API GetStoreInfo寰楀埌鎵囧尯鏁般佹瘡鎵囧尯瀛楄妭鏁幫紝鐩鎬箻鍗蟲槸鎬誨閲忋傝皟鐢ˋPI GetDiskFreeSpaceEx寰楀埌鍓╀綑鍙敤瀹歸噺銆?nbsp; <br>  <br> <strong>涓夋槦2440澶存枃浠跺畾涔?define IIC_BASE 0xB1400000 // 54000000錛宒atasheet鏄?4000000錛岄偅涔堟庝箞杞垚0xB1400000錛?/strong>  <br>鐗╃悊鍦板潃鏄犲皠鏂規(guī)硶鍒嗕負涓ょ錛屼竴縐嶉潤鎬佹槧灝勫彟涓縐嶄負鍔ㄦ佹槧灝勩傚湪OEMAddressTable涓畾涔変簡鐗╃悊鍦板潃涓庤櫄鎷熷湴鍧鐨勬槧灝勫叧緋誨睘浜庨潤鎬佹槧灝勶紝鐢╒irtualCopy鏄犲皠灞炰簬鍔ㄦ佹槧灝勶紝閲囩敤鍝鍔炴硶閮藉彲浠ャ傞棶棰樹腑鎻愬埌鐨勫睘浜庨潤鎬佹槧灝勶紝2440鐨凚SP鍦╩ap.a鏂囦歡涓畾涔変簡IIC鎺у埗瀵勫瓨鍣ㄧ殑鐗╃悊璧峰鍦板潃鍜屽搴旂殑铏氭嫙鍦板潃濡備笅錛?nbsp; <br>DCD 0x91400000, 0x54000000, 1 ;  <br>鍦∣EMAddressTable涓畾涔夌殑铏氭嫙鍦板潃鑼冨洿鍦?x8000 0000鈥?x9FFF FFFF錛岃繖閮ㄥ垎鍙紦瀛橈紝閫傚悎鍐呮牳紼嬪簭鍜屽簲鐢ㄧ▼搴忎嬌鐢紝鍚屾椂WINCE鍐呮牳鍦?xA000 0000鈥?xBFFF FFFF涓槧灝勪簡鍙︿竴浠斤紝鎸囧悜浜嗗悓鏍風(fēng)殑鐗╃悊鍦板潃錛岃繖閮ㄥ垎涓嶅彲緙撳瓨錛岄傚悎椹卞姩紼嬪簭浣跨敤銆備笁鏄烝RM澶勭悊鍣ㄥ甫鏈塋1綰ч珮閫熺紦瀛橈紝鍙紦瀛樹細鎻愰珮鎵ц鏁堢巼銆傚浜庣壒孌婄殑璁懼瀵勫瓨鍣ㄩ傚悎鏄犲皠鍒頒笉鍙紦瀛樼殑铏氭嫙鍦板潃銆?nbsp; <br>褰撻┍鍔ㄧ▼搴忚皟鐢╒irtualCopy瀵?xB1400000鍦板潃璇誨啓鏃訛紝W(xué)INCE鑷姩灝嗚繖涓湴鍧鍑忓幓0x2000 0000錛屼篃灝辨槸0x91400000錛屽搴旂殑鐗╃悊鍦板潃灝辨槸0x54000000錛屼篃灝辨槸IIC鎺у埗瀵勫瓨鍣ㄧ殑鐗╃悊璧峰鍦板潃銆?nbsp; <br>  <br> <strong>鍩轟簬RAM鐨勬敞鍐岃〃濡備綍淇濆瓨鏁版嵁錛?/strong>  <br>璋冪敤API RegCopyFile澶囦喚娉ㄥ唽琛ㄣ傝皟鐢ˋPI RegRestoreFile鎭㈠娉ㄥ唽琛紝鐒跺悗璋冪敤KernelIoControl鐑惎鍔ㄤ嬌鎭㈠鐢熸晥銆?nbsp; <br>  <br> <strong>濡備綍闅愯棌鍜屾樉紺簑inCE涓嬫爣鍑嗗澹崇殑浠誨姟鏍忥紵</strong>  <br> HANDLE  hTaskBar = FindWindow(L"HHTaskBar", NULL);   <br> ShowWindow(hTaskBar, SW_HIDE);   <br> ShowWindow(hTaskBar, SW_SHOWNORMAL);   <br>  <br> <strong>濡傛灉鑳借WINCE鐨処E嫻忚鍣ㄦ挱鏀緁lash鍔ㄧ敾錛?/strong>  <br>鎾斁flash闇瑕丮acromedia Flash Player SDK錛屽弬瑙乭ttp://www.adobe.com/products/flashplayer_sdk/銆傝繖鍜宺eal player鐩鎬技錛岄兘闇瑕乄INCE騫沖彴鐨凷DK錛岄兘闇瑕佺敵璇楓?nbsp; <br>  <br> <strong>WINCE涓嬪唴鏍告ā寮忓拰鐢ㄦ埛妯″紡鏈変粈涔堝尯鍒紵</strong>  <br>涓轟簡浣胯鑰呰兘澶熻緇嗕簡瑙INCE鐨勫湴鍧鏄犲皠鍘熺悊榪樻湁涓ょ妯″紡錛屽湪榪欓噷鎴戝垎鍑犱釜閮ㄥ垎璇存槑錛?nbsp; <br>1銆乄INCE鍐呮牳nk.exe鐨勪換鍔℃槸綆$悊鎿嶄綔緋葷粺鏍稿績鍔熻兘銆傛寜鐓EMAddressTable鐨勬槧灝勮姹傦紝鎵鏈夌墿鐞嗗湴鍧閮芥槧灝勫埌0x80000000浠ヤ笂錛屾墍浠ュ浜庡唴鏍哥▼搴弉k.exe鍜屽唴鏍告ā寮忎笅鐨勭嚎紼嬫潵璇達紝鍙璁塊棶0x80000000浠ヤ笂鐨勬湁鏁堣櫄鎷熷湴鍧緇廙MU灝辮兘澶熻闂墿鐞嗗湴鍧錛屾棤闇鍐嶆槧灝勬槸鍐呮牳妯″紡鐨勪竴涓壒鐐廣傚唴鏍告ā寮忕殑絎簩涓壒鐐規(guī)槸娌℃湁鍦板潃璁塊棶闄愬埗錛屽唴鏍告ā寮忕嚎紼嬪彲浠ヨ闂換浣曟湁鏁堣櫄鎷熷湴鍧錛屾墍璋撴湁鏁堣櫄鎷熷湴鍧鏄寚鏈夊疄闄呬簨鐗╁搴斻?nbsp; <br>2銆佺敤鎴鋒ā寮忕嚎紼嬪彧鑳借闂?x80000000浠ヤ笅鐨勮櫄鎷熷湴鍧絀洪棿錛學(xué)INCE6.0涔嬪墠鐗堟湰鐨勫唴鏍鎬負姣忎釜榪涚▼鍒掑垎32MB鐨勫湴鍧絀洪棿錛屽湪涓嶈皟鐢ㄧ壒孌婂嚱鏁扮殑鎯呭喌涓嬩笉鑳界浉浜掕闂紝榪欐牱鐨勮璁′嬌寰梂INCE緋葷粺鏇村畨鍏ㄣ佹洿紼沖畾錛岄檺鍒惰闂湴鍧鏄敤鎴鋒ā寮忕殑絎竴涓壒鐐廣傜浜屼釜鐗圭偣灝辨槸闇瑕佸涓灞傛槧灝勶紝濡傛灉綰跨▼瑕佽闂墿鐞嗗唴瀛樼殑璇濋渶瑕佸厛鏄犲皠鍒?x80000000浠ヤ笂錛屽啀緇廙MU璁塊棶鐗╃悊鍐呭瓨鍦板潃銆?nbsp; <br>WINCE鐨勭嚎紼嬪叿鏈夎漿縐繪э紙鍙傝傾PI GetCallerProcess鐨勮鏄庯紝鏈変竴涓緢濂界殑渚嬪瓙錛夛紝褰撳簲鐢ㄧ▼搴忕殑綰跨▼璋冪敤API鎴栬呰皟鐢ㄩ┍鍔ㄧ▼搴忔帴鍙e嚱鏁版椂錛岃綰跨▼浼氳漿縐誨埌gwes.exe銆乨evice.exe銆乫ilesys.exe絳夎繘紼嬩腑鎵ц錛岃漿縐繪槸鐢盬INCE鍐呮牳鎿嶄綔鐨勶紝瀹冧細淇敼綰跨▼鐨勪笂涓嬫枃錛岃褰曠嚎紼嬬殑褰撳墠榪涚▼銆佽皟鐢ㄨ呰繘紼嬨佹嫢鏈夎呰繘紼嬩笁涓箋?nbsp; <br>3銆佸鏋滃湪瀹氬埗鍐呮牳鐨勬椂鍊欓夋嫨浜?#8220;Full Kernel Mode”錛岄偅涔堝湪榪欎釜鍐呮牳涓婅繍琛岀殑鎵鏈夌嚎紼嬮兘澶勪簬鍐呮牳妯″紡錛屽嵆浣胯皟鐢⊿etKMode(FALSE)鍚庣嚎紼嬩粛鐒跺叿鏈夊唴鏍告ā寮忕殑鐗圭偣錛岃兘澶熻闂換浣曟湁鏁堢殑铏氭嫙鍦板潃銆傚亣璁劇幇鏈変竴涓?4MB RAM鐨刉INCE浜у搧錛孯AM鏄犲皠浠?x80000000鍒?x84000000錛屽鏋滅嚎紼嬪浜庡唴鏍告ā寮忥紝瀹冨氨鐩存帴鍙互璁塊棶榪欎釜鑼冨洿鐨勮櫄鎷熷湴鍧錛?nbsp; <br>鍦∣nButton1()涓紪鍐?nbsp; <br>DWORD oldMode = SetKMode(FALSE);  <br>volatile int *piTemp = (volatile int*)(0x20000000+0x84000000-0x00019000); ///鎴栬?0x84000000-0x00019000)  <br>*piTemp = 12345;  <br>鍦∣nButton2()涓紪鍐?nbsp; <br>DWORD oldMode = SetKMode(FALSE);  <br>volatile int *piTemp = (volatile int*)(0x20000000+0x84000000-0x00019000); ///鎴栬?0x84000000-0x00019000)  <br>int iTemp = *piTemp;  <br>鍏堝彧鎵цOnButton1()鐒跺悗鍏抽棴紼嬪簭錛屽啀閲嶅惎紼嬪簭鐒跺悗鎵цOnButton2()錛宨Temp浠嶇劧絳変簬12345銆傜粨鏋滆鏄庝簡涓ょ偣錛氬唴鏍告ā寮忕嚎紼嬪彲浠ョ洿鎺ヨ闂?x80000000浠ヤ笂鐨勬湁鏁堣櫄鎷熷湴鍧錛涙垜浠啓鍒癛AM涓殑鏁版嵁娌℃湁涓㈠け錛岃鏄庤櫄鎷熷湴鍧鏈夋晥銆?nbsp; <br>濡傛灉鍦ㄥ畾鍒跺唴鏍哥殑鏃跺欐病鏈夐夋嫨“Full Kernel Mode”錛岄偅涔堝湪榪欎釜鍐呮牳涓婅繍琛岀殑鎵鏈夌嚎紼嬮兘澶勪簬鐢ㄦ埛妯″紡銆傚彲浠ヨ皟鐢⊿etKMode(TRUE)浣胯皟鐢ㄧ嚎紼嬫殏鏃跺浜庡唴鏍告ā寮忥紝榪樻槸鍘熸潵鐨勫亣璁劇幆澧冿紝鎴戝啀涓句釜渚嬪瓙錛?nbsp; <br>鍦∣nButton1()涓紪鍐?nbsp; <br>DWORD oldMode = SetKMode(TRUE);  <br>volatile int *piTemp = (volatile int*)(0x20000000+0x84000000-0x00019000); ///鎴栬?0x84000000-0x00019000)  <br>*piTemp = 12345;  <br>鍦ㄧ敤鎴鋒ā寮忎笅錛屽鏋滀笉璋冪敤SetKMode(TRUE)錛岄偅涔堟墽琛?piTemp = 12345涓瀹氫細寮瑰嚭瀵硅瘽妗嗭紝鎻愮ず鍦板潃璁塊棶闈炴硶錛屽鏋滆皟鐢⊿etKMode(TRUE)灝變笉浼氭彁紺哄湴鍧璁塊棶闈炴硶錛岃屼笖鍦∣nButton2()涓粛鐒惰兘寰楀埌12345榪欎釜鍊箋?nbsp; <br>閫氳繃榪欎袱涓緥瀛愭垜鐩鎬俊璇昏呰兘澶熷畬鍏ㄤ簡瑙d袱縐嶆ā寮忕殑鍖哄埆浜嗐?nbsp; <br>4銆乄INCE鎻愪緵浜嗕袱涓嚱鏁癝etKMode鍜孲etProcPermissions錛屽叾涓璖etKMode鑳藉鎶婅皟鐢ㄧ嚎紼嬪垏鎹㈠埌鍐呮牳妯″紡錛岃繕鍙互鍒囨崲鍥炵敤鎴鋒ā寮忋係etProcPermissions + GetCurrentPermissions娣誨姞褰撳墠榪涚▼璁塊棶鏉冮檺緇欒皟鐢ㄧ嚎紼嬶紝SetProcPermissions (0xFFFFFFFF)鑳借璋冪敤綰跨▼璁塊棶鎵鏈夎繘紼嬬┖闂達紝浣嗘槸璋冪敤綰跨▼浠嶇劧澶勪簬鐢ㄦ埛妯″紡銆係etKMode鍜孲etProcPermissions鍑芥暟浣垮緱鐢ㄦ埛妯″紡鐨勭壒鐐逛笉閭d箞鏄庢櫚銆?nbsp; <br>濡備笂鎵璇翠竴涓簲鐢ㄧ▼搴忕殑綰跨▼鍙兘杞Щ鍒板叾瀹冧袱涓繘紼嬪湴鍧絀洪棿涓鍐欐暟鎹紝鑰屾瘡涓涓嚎紼嬪湪琚垱寤虹殑鏃跺欏彧鏈夎闂垱寤哄畠鐨勮繘紼嬪湴鍧絀洪棿鐨勬潈闄愶紝鎵浠ラ┍鍔ㄧ▼搴忓紑鍙戣呭繀欏誨湪椹卞姩紼嬪簭璇誨啓鏁版嵁鍓嶈皟鐢⊿etKMode鎴栬匰etProcPermissions澧炲姞璋冪敤姝ゅ嚱鏁扮殑綰跨▼璁塊棶鍏跺畠榪涚▼絀洪棿鐨勬潈闄愩傚鏋滀竴涓簲鐢ㄧ▼搴忕殑綰跨▼鍙漿縐誨埌涓涓繘紼嬪湴鍧絀洪棿錛屼竴鑸負璁懼綆$悊鍣ㄨ繘紼媎evice.exe錛岃繖縐嶆儏鍐典笅涓嶅繀澧炲姞綰跨▼璁塊棶鍏跺畠榪涚▼絀洪棿鐨勬潈闄愶紝浣嗗鏋滈┍鍔ㄧ▼搴忔湰韜垱寤轟簡涓涓嚎紼嬶紝閭h繕鏄璋冪敤SetKMode鎴栬匰etProcPermissions澧炲姞鏂扮殑綰跨▼璁塊棶鍏跺畠榪涚▼鐨勬潈闄愮殑錛屽洜涓洪┍鍔ㄧ▼搴忓垱寤虹嚎紼嬫椂錛屽綋鍓嶈繘紼嬩負璁懼綆$悊鍣紝鎵浠ユ柊綰跨▼鍙叿鏈夎闂澶囩鐞嗗櫒榪涚▼絀洪棿鐨勬潈闄愶紝鑰屼笉鍏峰璁塊棶搴旂敤紼嬪簭榪涚▼絀洪棿鐨勬潈闄愩?nbsp; <br>5銆佸彲鑳戒竴涓紪鍐欒繃綆鍗曠殑嫻侀┍鍔ㄧ殑鍒濆鑰呬細寰堢枒鎯戯紝鍥犱負寮鍙戜竴涓畝鍗曠殑嫻侀┍鍔ㄧ▼搴忔牴鏈笉闇瑕佽皟鐢ㄨ繖浜涘嚱鏁幫紝涔熸病鏈夎皟鐢ㄨ繃MapPtrToProcess錛岄偅鏄洜涓哄鏋滄爣鍑嗘祦椹卞姩鎺ュ彛鍑芥暟鐨勫弬鏁頒負鎸囬拡錛圧eadFile銆乄riteFile銆丏eviceIoControl鍙傛暟閮芥湁鎸囬拡錛夛紝W(xué)INCE鍐呮牳浼氳嚜鍔ㄦ槧灝勬寚閽堝寘鍚殑鍦板潃錛屼絾浠呮鑰屽凡錛屽叾浣欎換浣曟儏鍐甸兘瑕佹眰寮鍙戣呰嚜琛屽鐞嗭紝姣斿嫻佹帴鍙e嚱鏁扮殑鍙傛暟鏄竴涓寚鍚戠粨鏋勪綋鐨勬寚閽圥A錛岃岀粨鏋勪綋涓寘鎷寚閽圥B錛孭B鎸囬拡灝卞繀欏誨湪嫻佹帴鍙e嚱鏁頒腑鏄犲皠錛屾槧灝勫悗鎵嶈兘璁塊棶錛屽惁鍒欏氨浼氶犳垚鍦板潃璁塊棶闈炴硶銆傛墍浠ョ粨鏋勪綋涓瘡涓寚閽堥兘瑕佹槧灝勩?nbsp; <br>涓轟簡璁╄鑰呰兘浜嗚В鍏朵腑鐨勫師鍥狅紝鎴戜婦涓緥瀛愶細  <br>鍋囪璁懼綆$悊鍣ㄨ鍔犺澆鍒癝lot4錛屽簲鐢ㄧ▼搴廇琚姞杞藉埌Slot 8錛孉鍙湁涓涓富綰跨▼T錛孴寮濮嬫墽琛岋紝鎸夌収WINCE鐨勮瀹氾紝姝h幏寰桟PU鐨勮繘紼嬪繀欏繪槧灝勫埌Slot0錛岄偅涔堝湪鎵ц浠g爜鐨勬椂鍊橝鐨勬墍鏈夎櫄鎷熷湴鍧閮借鍑忓幓涓涓亸縐誨鹼紝涔熷氨鏄?×0x02000000錛孉璋冪敤DeviceIoControl錛屼紶閫掍竴涓寚鍚戜竴涓粨鏋勪綋鐨勬寚閽圔錛岃岃繖涓粨鏋勪綋涓寘鍚竴涓寚閽圕錛屾寚閽圕鍖呭惈鐨勫湴鍧鍋囪涓?x00030000錛屽綋鎵цDeviceIoControl鏃禬INCE鎶婅澶囩鐞嗗櫒鐨勮繘紼嬪湴鍧絀洪棿鏄犲皠鍒癝lot0錛屽洜涓烘斁鍦ㄦ敞鍐岃〃[HKLM\Drivers\BuiltIn]涓嬬殑椹卞姩紼嬪簭鏄敱璁懼綆$悊鍣ㄥ姞杞界殑錛岃嚜鐒墮┍鍔ㄧ▼搴忕殑浠g爜孌佃鍔犺澆鍒拌澶囩鐞嗗櫒榪涚▼絀洪棿錛屼絾鏄嚎紼嬩粛鐒舵槸T錛屾鏃禩鐨勫綋鍓嶆墍鍦ㄨ繘紼嬩負璁懼綆$悊鍣紙CurrentProcess錛夛紝A鍙樻垚浜員鐨勮皟鐢ㄨ呰繘紼嬶紙CallerProcess錛夛紝T鑷姩鍏鋒湁浜嗚闂皟鐢ㄨ呰繘紼嬬┖闂寸殑鏉冮檺銆傝繖鏃惰闂甋lot0涓殑铏氭嫙鍦板潃鍏跺疄璐ㄥ氨鏄闂澶囩鐞嗗櫒鐨勮繘紼嬪湴鍧絀洪棿錛岃鎶婂湴鍧鍔犱笂涓涓亸縐誨鹼紝涔熷氨鏄?×0x02000000錛屾墍浠eviceIoControl璁塊棶鎸囬拡C鍖呭惈鐨勫湴鍧鏃舵湰搴旇鍔犱笂8×0x02000000錛屽嵈鍔犱笂4×0x02000000錛岀粨鏋滃湴鍧騫朵笉鏄澶囩鐞嗗櫒鐨勫悎娉曞尯鍩燂紝緋葷粺灝變細鎻愮ず鍦板潃璁塊棶闈炴硶銆傝屽鏋滃仛浜嗕竴涓槧灝勶紝鎸囬拡C鍖呭惈鐨勫湴鍧灝變細琚姞涓涓紜殑鍋忕Щ鍊鹼紝浣垮湴鍧澶勪簬A鐨勫湴鍧絀洪棿Slot 8涓紝T姝ゆ椂鍏鋒湁璁塊棶A榪涚▼絀洪棿鐨勬潈闄愶紝璁塊棶鍒版紜殑铏氭嫙鍦板潃褰撶劧浼氬緱鍒版紜殑鏁版嵁浜嗐?nbsp; <br>  <br><strong> 涓轟粈涔圵INCE鐩綍涓嬬殑渚嬪瓙鐢╞uild+sysgen鑳藉緙栬瘧鎴怑XE鏂囦歡錛岃屾垜娣誨姞鐨勪緥瀛愬氨涓嶈兘緙栬瘧鍛紵</strong>  <br>濡傛灉榪欎釜渚嬪瓙鏄竴涓簲鐢ㄧ▼搴忥紝閭d箞鑲畾鍖呮嫭浠g爜鏂囦歡錛?h .c .cpp錛夊拰璧勬簮鏂囦歡錛?rc鍜屽叾瀹冭祫婧愭枃浠訛級錛宐uild宸ュ叿鏍規(guī)嵁source鏂囦歡鍐呭鎶婁唬鐮佹枃浠剁紪璇戞垚lib鏂囦歡錛岃祫婧愭枃浠剁紪璇戞垚.res鏂囦歡錛宻ysgen宸ュ叿鏍規(guī)嵁makefile鏂囦歡鍐呭灝唖ource鏂囦歡涓垪鍑虹殑闇瑕侀摼鎺ョ殑鍚勪釜搴撴枃浠跺悎騫舵垚涓涓狤XE鏂囦歡銆傛墍浠ヨ鍏抽敭鍦ㄤ簬makefile鏂囦歡錛學(xué)INCE鐩綍涓嬪嚒鏄兘澶熺敤build+sysgen緙栬瘧鐨勯兘鍦╩akefile涓湁濡備綍閾炬帴鐨勮緗紝鑰屾垜浠坊鍔犵殑渚嬪瓙褰撶劧娌℃湁鍦╩akefile涓壘鍒板浣曢摼鎺ョ殑璁劇疆錛宯make宸ュ叿灝變細鎻愮ず涓嶇煡閬撳浣曞垱寤恒?nbsp; <br>  <br> <strong>pcienum.exe騫蹭粈涔堢敤鐨勶紵</strong>  <br>濡傛灉浣犺寮鍙戞煇涓涓狿CI璁懼鐨勯┍鍔ㄧ▼搴忥紝棣栧厛瑕佺煡閬撹繖涓狿CI璁懼鐨勪俊鎭紙濡俈endorID銆丏eviceID銆丅aseClass銆丼ubClass錛夊拰PCI鎬葷嚎鐨勪俊鎭傝繍琛岃繖涓猵cienum.exe灝辮兘寰楀埌鐩稿叧淇℃伅銆俻cienum.exe鎻愪緵浜嗘簮鐮侊紝浣嶇疆\Public\Common\Oak\Drivers\Ceddk\Test\Pcienum銆?nbsp; <br>  <br> <strong>wince涓嬪浣曡鎿嶄綔緋葷粺榪涘叆寰呮満妯″紡錛熷張濡備綍鎶婂畠嬋媧伙紵</strong>  <br>閫氳繃娉ㄥ唽琛ㄥ氨鍙互璁劇疆錛屽墠鎻愭槸浣犵殑椹卞姩鍜岀‖浠墮兘鏀寔銆傛敞鍐岃〃欏瑰弬瑙佹爣棰樹負“GWES Suspend Time-outs”鐨勫府鍔╂枃妗c?nbsp; <br>[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power]  <br>    "BattPowerOff"=dword:300  <br>    "ExtPowerOff"=dword:0  <br>    "WakeupPowerOff"=dword:60  <br>    "ScreenPowerOff"=dword:0  <br>  <br> <strong>鐜版湁涓涓狦PRS妯″潡錛屽浣曢氳繃GPRS榪炴帴鍒癐nternet錛?/strong>  <br>1銆佸厛鍦ㄥ唴鏍鎬腑鍔犲叆WAN涓嬮潰鐨勫嚑涓粍浠訛紝濡俁AS/PPP銆乀API銆俉INCE閲囩敤unimodem椹卞姩錛屾墍浠ヤ笉蹇呮媴蹇冩病鏈塎odem椹卞姩鐨勬敮鎸併?nbsp; <br>2銆乄INCE鍚姩鍚庢柊寤轟竴涓嫧鍙瘋繛鎺ワ紝姣斿鍚嶇О鍙?#8220;gprs1”錛岃緭鍏ョ敤鎴峰悕銆佸瘑鐮併佺數(shù)璇濆彿鐮併傜數(shù)璇濆彿鐮佷笉鍚岋紝鎵閲囩敤鐨勬ā寮忎笉涓鏍鳳紝渚嬪“*99#”鏄疓PRS妯″紡錛?#8220;17201”鏄櫘閫氱殑鏁版嵁妯″紡錛岄熷害宸緢澶氾紝浠烽挶涔熷樊寰堝銆?nbsp; <br>3銆佸紑濮嬭繛鎺ワ紝榪炴帴榪囩▼浼氬湪瀵硅瘽妗嗕腑鏄劇ず錛岀洿鍒版樉紺?#8220;榪炴帴鎴愬姛”銆?nbsp; <br>4銆佹墦寮嫻忚鍣ㄦ垨鑰呰嚜宸卞紑鍙戠殑閫氳杞歡嫻嬭瘯緗戠粶榪炴帴鎯呭喌銆?nbsp; <br>5銆佸叧闂繛鎺ャ?nbsp; <br>6銆佷繚瀛榌HKEY_CURRENT_USER\Comm\RasBook\gprs1]涓嬬殑鎵鏈夋暟鎹紝娣誨姞鍒皃roject.reg涓紝閲嶆柊緙栬瘧鍚庡唴鏍鎬腑灝辨湁浜嗕竴涓嫧鍙瘋繛鎺?#8220;gprs1”銆?nbsp; <br>7銆佽皟鐢≧AS鍑芥暟鍙互淇敼鎷ㄥ彿榪炴帴“gprs1”鐨勫弬鏁幫紝濡傜敤鎴峰悕銆佸瘑鐮併佺數(shù)璇濆彿鐮侊紝浣嗘槸涓嶈兘淇敼紜歡璁劇疆錛屽娉㈢壒鐜囥佷覆鍙c佹暟鎹綅銆佸仠姝綅絳夈俁AS鍑芥暟榪樿兘澶熸嫧鍙楓佹寕鏂備負浜嗕慨鏀規(guī)嘗鐗圭巼鍙互澶氫繚瀛樺嚑涓嫧鍙瘋繛鎺ワ紝涔熷彲浠ョ洿鎺ヨ皟鐢═API寮鍙戞嫧鍙瘋蔣浠訛紝鍙﹀WINCE鑷甫鐨勬嫧鍙瘋繛鎺ユ槸鏈夋簮鐮佺殑錛屼綅緗湪\PUBLIC\COMMON\OAK\DRIVERS\NETSAMP\CONNMC銆?nbsp; <br>  <br> <strong>閲囩敤鍩轟簬HIVE鐨勬敞鍐岃〃濡備綍鍒犻櫎鐢ㄦ埛淇濆瓨鍦ㄦ敞鍐岃〃涓殑鏁版嵁錛屾仮澶嶅埌鍑哄巶鏃剁殑娉ㄥ唽琛紵</strong>  <br>鐢ㄦ埛淇敼鐨勬暟鎹繚瀛樺湪user.hv鏂囦歡涓紝鐩存帴鍒犻櫎涓瀹氬け璐ワ紝鎵浠ヤ笉鑳介氳繃鍒犻櫎鏂囦歡瀹炵幇鎭㈠鍑哄巶璁劇疆銆傚井杞冭檻鍒頒簡榪欎釜闂錛屽湪WINCE鍚姩榪囩▼涓璮ilesys.exe鍔犺澆娉ㄥ唽琛ㄦ椂浼氳皟鐢∣EMIoControl鍑芥暟騫朵紶閫掍竴涓狪OCTL錛岃繖涓狪OCTL鍦╬kfuncs.h涓畾涔夊涓嬶細  <br>#define  IOCTL_HAL_GET_HIVE_CLEAN_FLAG  CTL_CODE(FILE_DEVICE_HAL, 49, METHOD_BUFFERED, FILE_ANY_ACCESS)  <br>filesys.exe浼氬垎鍒紶閫掑弬鏁癏IVECLEANFLAG_SYSTEM鍜孒IVECLEANFLAG_USERS錛屽鏋滆繑鍥炲間負TRUE閭d箞filesys.exe娓呴櫎鍘熸潵鐨勬敞鍐岃〃鏂囦歡錛屽鏋滆繑鍥炲間負FALSE閭d箞filesys.exe淇濈暀鍘熸潵鐨勬敞鍐岃〃鏂囦歡銆傞粯璁INCE騫舵病鏈夊疄鐜拌繖涓狪OCTL錛屾墍浠EM瑕佸垹闄ゆ敞鍐岃〃鏂囦歡灝卞繀欏誨厛緙栧啓榪欎釜IOCTL浠g爜銆備唬鐮佺殑渚嬪瓙鍙弬鑰冩爣棰樹負“IOCTL_HAL_GET_HIVE_CLEAN_FLAG”鐨勫府鍔╂枃妗c傚彟澶栧繀欏誨湪ioctl.h鍜宨octl.c涓や釜鏂囦歡涓紪鍐欒浠g爜銆傚湪ioctl.c鏂囦歡涓壘鍒癱onst OAL_IOCTL_HANDLER g_oalIoCtlTable[]錛屾坊鍔營OCTL鍜屽搴旂殑澶勭悊鍑芥暟銆傝榪涗竴姝ヤ簡瑙h繖涓叏灞鏁扮粍錛屽弬瑙佹爣棰樹負“IOCTL Library”鐨勫府鍔╂枃妗c?nbsp; <br>  <br> <strong>濡備綍鍦ㄤ笉鍒犻櫎蹇呰緇勪歡鐨勫墠鎻愪笅鍑忓皬鍐呮牳鏂囦歡闀垮害錛?/strong>  <br>瑕佸噺灝忓唴鏍告枃浠墮暱搴﹂鍏堣鍦ㄤ嬌鐢≒B鐨勫畾鍒跺唴鏍稿悜瀵間腑閫夋嫨鑷畾涔夛紝涔熷氨鏄瀵逛簬姣忎釜緇勪歡閮界敱鑷繁鏉ラ夋嫨錛岃屼笉鏄夋嫨PB鐨勬爣鍑嗛厤緗備絾鍑忓皬鍐呮牳鏂囦歡闀垮害鏈鏈夋晥鏈鐩存帴鐨勫姙娉曟槸緙╁皬瀛椾綋錛屽挨鍏跺浜庝笢浜氬瓧浣擄紝閲囩敤瀛椾綋鍘嬬緝鎶鏈茍涓旈夋嫨鍚堢悊鐨勫瓧搴撴枃浠跺皢鏄庢樉緙╁皬鏂囦歡闀垮害銆?nbsp; <br>1銆佸湪瀹氬埗鍐呮牳鏃墮夋嫨AGFA AC3 Font Compression緇勪歡銆係YSGEN鍙橀噺涓篠YSGEN_AGFA_FONT銆?nbsp; <br>2銆佸弬鑰冩爣棰樹負“East Asian Font Versions”鐨勫府鍔╂枃妗o紝浠庝腑閫夋嫨浣犻渶瑕佺殑瀛楀簱鏂囦歡鍔犲埌鍐呮牳涓紝浠庢枃妗e彲浠ョ湅鍑哄姞AC3鍘嬬緝姣斾笉鍔犲帇緙╁湪鏂囦歡闀垮害鏂歸潰宸窛寰堝ぇ銆?nbsp; <br>  <br> <strong>濡備綍寰楀埌WAV鏂囦歡鎾斁鐨勬繪椂闂達紵</strong>  <br>1銆佺洿鎺ヨ鍙杦av鏂囦歡澶翠俊鎭紝浠庢枃浠惰搗濮嬪湴鍧鍋忕Щ28涓瓧鑺傞暱搴︿負4涓瓧鑺備繚瀛樼殑鏄瘡縐掗挓鎾斁鐨勫瓧鑺傛暟錛屼粠鏂囦歡璧峰鍦板潃鍋忕Щ40涓瓧鑺傞暱搴︿負4涓瓧鑺備繚瀛樼殑鏄0闊蟲暟鎹殑鎬葷殑瀛楄妭鏁幫紝鐩擱櫎灝辨槸鎾斁鏃墮棿銆?nbsp; <br>2銆佽皟鐢↖GraphBuilder::RenderFile鎵撳紑涓涓獁av鏂囦歡錛岀劧鍚庨氳繃IGraphBuilder寰楀埌IMediaSeeking鎸囬拡錛屽啀璋冪敤IMediaSeeking::GetDuration寰楀埌鎬葷殑鏃墮棿錛堢粨鏋滆闄や互10000000錛夛紝IMediaSeeking::GetCurrentPosition寰楀埌褰撳墠鎾斁鏃墮棿銆?nbsp; <br>  <br> <strong>濡備綍鍦―ialog-Based紼嬪簭涓姞鍏enubar錛?/strong>  <br>鍏堣皟鐢–ommandBar_Create鍐嶈皟鐢–ommandBar_InsertMenubar銆?nbsp; <br>  <br> <strong>璇烽棶MultiByteToWideChar涓巁T銆丩銆乀EXT鐨勫尯鍒紵</strong>  <br>MultiByteToWideChar鍑芥暟杞崲鐨勫璞″彲浠ユ槸甯擱噺涔熷彲浠ユ槸鍙橀噺銆傚叾瀹冨彧鑳借漿鎹㈠父閲忋俖T鍜孴EXT浼氭牴鎹綋鍓嶇郴緇熸槸鍚﹀畾涔塤UNICODE瀹忔潵鍐沖畾鏄惁杞崲錛岃孡灝辨槸杞崲鎴愬瀛楃錛屽綋鐒朵篃鍖呮嫭鍏朵粬綾誨瀷甯擱噺鐨勮漿鎹€?nbsp; <br>  <br> <strong>鍦ㄧ敤UBS綰跨紗閫氳繃ActiveSync鍚屾鏈夋晥鐨勬儏鍐典笅錛屽浣曟彃涓奤SB綰跨紗鍚嶹INCE鑷姩涓嶱C鍚屾錛?/strong>  <br>1銆佹柊寤轟竴涓嫧鍙瘋繛鎺ワ紝鍋囪鍚嶇О涓?#8220;usb1”錛岄夋嫨榪炴帴綾誨瀷涓?#8220;鐩存帴榪炴帴”錛屽茍鍦ㄨ繛鎺ヨ澶囬噷閫夋嫨閫氳繃USB綰跨紗榪炴帴銆?nbsp; <br>2銆佸皢娉ㄥ唽琛╗HKEY_CURRENT_USER\Comm\RasBook\usb1]涓嬬殑鏁版嵁娣誨姞鍒皃roject.reg鎴栬卲latform.reg涓?nbsp; <br>3銆佸湪[HKEY_CURRENT_USER\ControlPanel\Comm]涓嬫坊鍔犲涓嬶細  <br>"AutoCnct"=dword:1  ///鐩存帴榪炴帴  <br>"Cnct"="usb1"       ///榪炴帴鍚嶇О  <br>4銆侀噸鏂扮紪璇戝唴鏍搞備負浜嗚妭鐪佺紪璇戞椂闂翠篃鍙互鍦ㄥ唴鏍稿伐紼嬩笅鎼滅儲*.reg鏂囦歡錛屽皢2銆?姝ラ涓殑娉ㄥ唽琛ㄦ暟鎹坊鍔犲叾涓紝鐒跺悗鐩存帴make image銆?nbsp; <br>  <br> <strong>濡備綍閫氳繃榪涚▼鍙ユ焺鏉ヨ幏寰楄榪涚▼鐨勪富紿楀彛鍙ユ焺錛?/strong>  <br>濂藉儚娌℃湁API鑳藉閫氳繃榪涚▼鍙ユ焺鐩存帴鑾峰緱涓葷獥鍙g殑鍙ユ焺錛屽洜涓哄茍闈炴瘡涓簲鐢ㄧ▼搴忛兘甯I銆備絾鏄彲浠ュ弽榪囨潵錛屽厛鏋氫婦褰撳墠緋葷粺鎵鏈変富紿楀彛錛岀劧鍚庢牴鎹瘡涓獥鍙g殑鍙ユ焺璋冪敤GetWindowThreadProcessId鍑芥暟寰楀埌榪涚▼鐨処D錛屽啀璋冪敤OpenProcess寰楀埌榪涚▼鍙ユ焺錛屼笌鐜版湁鐨勮繘紼嬪彞鏌勬瘮杈冦?nbsp; <br>  <br> 鎴戝仛鐨勬樉紺洪┍鍔―LL宸茬粡緙栬瘧鎴愬姛浜嗭紝浣嗘槸鍦ㄥ姞杞芥樉紺洪┍鍔ㄧ殑榪囩▼涓脊鍑鴻瘽妗嗭紝鎻愮ず濡備笅錛?nbsp; <br>unhandled exception  in  gwes.exe  (0xc0000005 access violation)  <br>鎻愮ず鐨勯敊璇斺斿湴鍧璁塊棶闈炴硶錛岃〃鏄庝綘鐨勯┍鍔ㄧ▼搴忎唬鐮佸茍娌℃湁鍦ㄨ鍐欐暟鎹墠娣誨姞SetKMode(TRUE)鎴栬匰etProcPermissions(0xFFFFFFFF)鍑芥暟璁╃嚎紼嬭兘澶熻闂換浣曡繘紼嬬殑鍦板潃絀洪棿銆備綘鍙互璋冪敤 IsBadReadPtr鍜孖sBadWritePtr鍑芥暟媯嫻嬪湴鍧鏄惁鑳藉鍚堟硶璁塊棶銆傜紪鍐欏拰gwes鏈夊叧鐨勯┍鍔ㄧ▼搴忓簲璇ラ鍏堣皟鐢⊿etKMode(TRUE)鎴栬匰etProcPermissions(0xFFFFFFFF)鍑芥暟錛岃繖鏄竴涓ソ涔犳儻銆?nbsp; <br>  <br><strong> 璇烽棶鍦ㄥ祵鍏ュ紡緋葷粺涓浣曡緗瓽PRS鎷斿彿鐢ㄧ殑APN錛?/strong>  <br>瀵逛竴涓嫧鍙瘋繛鎺ユ瘮濡?#8220;鎴戠殑榪炴帴”鍗曞嚮榧犳爣鍙抽敭錛屽湪寮瑰嚭鐨勮彍鍗曚腑閫夋嫨“灞炴?#8221;錛岀劧鍚庡崟鍑?#8220;閰嶇疆”鈥?#8220;鎷ㄥ彿閫夐」”錛屽湪“闄勫姞璁劇疆”涓坊鍔燗T鍛戒護濡?#8220;+cgdcont=1,"ip","cmnet"”銆?#8220;cmnet”浣嶇疆鍗充負APN銆?nbsp; <br>  <br> <strong>WINCE鐨処P Phone鍔熻兘濡備綍錛?/strong>  <br>WINCE鐨剉oip闇瑕乧-s-c緇撴瀯錛屾棦闇瑕佹湇鍔″櫒鐨勪腑杞紝鑰宻kype閲囩敤絎笁浠2p鎶鏈氨涓嶉渶瑕佷腑杞紝浣嗘槸鍦╣prs涓嬩篃鍋氫笉鍒拌闊蟲祦鐣呫俿kype鏈塸ocket pc鐗堟湰錛屼絾鏄棤綰挎柟闈㈤渶瑕亀lan鎴栬卌dma銆?nbsp; <br>  <br> <strong>涓夋槦ARM騫沖彴濡備綍瀹氫箟鑷繁鐨勪腑鏂璉D錛?/strong>  <br>浠3C2410涓轟緥錛屽湪oalintr.h鏂囦歡涓畾涔変腑鏂璉D錛屼篃縐癝YSINTR錛屼緥濡?nbsp;#define SYSINTR_MYINT  (SYSINTR_FIRMWARE+20)錛屾渶澶у間笉鑳借秴榪嘢YSINTR_FIRMWARE+23銆傜劧鍚庡湪armint.c鏂囦歡涓壘鍒癘EMInterruptHandler鍑芥暟錛岀敤if (IntPendVal == INTSRC_XXX) 鍒ゆ柇褰撳墠鍙戠敓鐨勪腑鏂簮鍙鳳紝鐒跺悗榪斿洖SYSINTR_MYINT銆傚唴鏍稿垎鍒皟鐢∣EMInterruptDisable錛堢姝㈠綋鍓嶄腑鏂級銆丱EMInterruptDone錛堜腑鏂鐞嗙粨鏉燂級銆丱EMInterruptEnable錛堝綋鍓嶄腑鏂湁鏁堬級涓変釜鍑芥暟錛屽弬鏁伴兘涓轟腑鏂璉D錛屽湪榪欎笁涓嚱鏁頒腑鐢?nbsp;case SYSINTR_MYINT鍒ゆ柇褰撳墠瑕佸鐞嗙殑涓柇銆?nbsp; <br>  <br> <strong>濡備綍寮鍙戣蔣浠朵粠PC绔鍒舵枃浠跺埌鍩轟簬WINCE鐨勮澶囷紵</strong>  <br>璋冪敤RAPI錛圧emote Application Programming Interface錛夊嚱鏁幫紝姝ゅ嚱鏁伴泦鐢辨闈㈣綆楁満璋冪敤錛岀敱鍩轟簬WINCE鐨勮澶囨墽琛屻備竴鏃﹁繛鎺ヤ笂灝卞彲浠ュ湪妗岄潰璁$畻鏈虹璋冪敤RAPI銆傞氳繃娉ㄥ唽琛ㄨ繕鍙互闄愬埗RAPI鑳藉璁塊棶鐩綍鐨勮寖鍥淬傚叿浣撳弬鑰僐API鍜孯DP錛堣繙紼嬫闈㈠崗璁級銆?nbsp; <br>  <br> <strong>璇烽棶濡備綍瀵筃andFlash鍒嗗尯銆佹牸寮忓寲錛?/strong>  <br>浣犵湅鐪媁INCE420\PUBLIC\COMMON\OAK\DRIVERS\ETHDBG\BOOTPART\bootpart.cpp錛屽湪Eboot涓厛瑕佽皟鐢˙P_LowLevelFormat(  <br>DWORD dwStartBlock, DWORD dwNumBlocks, DWORD dwFlags)鍐峟lash鐨勪竴涓尯鍩熷緩绔嬬┖鐨凪BR,鐒跺悗榪炵畫涓ゆ璋冪敤BP_OpenPartition(DWORD dwStartSector, DWORD dwNumSectors, DWORD dwPartType, BOOL fActive, DWORD dwCreationFlags)鍑芥暟鏉ュ緩绔婤INFS鍜孎AT鍒嗗尯銆傚緩濂藉悗錛屽皢nk.bin鐑у叆binfs鍒嗗尯涓?nbsp; <br>  <br>  <strong>瑕佸仛涓脊鍑哄璇濇鍏鋒湁 always on top 灞炴э紝濡備綍瀹炵幇錛?/strong>  <br>璋冪敤SetWindowPos(.. , HWND_TOPMOST, ...., SWP_NOACTIVATE)銆?nbsp; <br>  <br> <strong>s3c2410錛媁INCE涓嬬綉緇淧ING涓浼氬氨鏂紝濡備綍瑙e喅錛?/strong>  <br>鍘熷洜鍦ㄤ簬涓柇澶勭悊紼嬪簭鎶婂凡緇忎駭鐢熺殑涓柇鏍囧織娓呴櫎鎺変簡錛岃繖鏍峰氨涓㈠け涓嬈′腑鏂傚洜涓哄師椹卞姩閲岄厤緗腑鏂負涓婂崌娌胯Е鍙戯紝涓嬈′腑鏂涪澶卞氨瀵艱嚧涓嶄細鍐嶄駭鐢熶腑鏂俊鍙瘋煩鍙橈紝鍥犱負鍙湁鍦ㄤ腑鏂湇鍔′腑璇誨彇浜哻s8900鐨?nbsp;Interrupt status queue瀵勫瓨鍣ㄥ悗錛屾墠浼氫駭鐢熶笅涓嬈′腑鏂紒瑙e喅鍔炴硶錛?nbsp; <br>1銆佸湪cfw.c鏂囦歡涓叏灞瀹氫箟BOOL Inited = FALSE  <br>2銆佷慨鏀筄EMInterruptEnable()涓璫ase SYSINTR_ETHER: 涓嬮潰鐨勮鍙ヤ負錛?nbsp; <br>if(Inited == FALSE)   <br>{   <br>s2410IOP->rEINTPEND = 0x200;   <br>s2410INT->rSRCPND = BIT_EINT8_23;   <br>if (s2410INT->rINTPND & BIT_EINT8_23)   <br>s2410INT->rINTPND = BIT_EINT8_23;   <br>Inited = TRUE;   <br>}   <br>s2410IOP->rEINTMASK &= ~0x200;   <br>s2410INT->rINTMSK &= ~BIT_EINT8_23;   <br>break錛?nbsp;  <br>娉細鏈В鍐沖姙娉曡漿杞戒簬http://stoned.blogchina.com/stoned/3083045.html錛岄潪鎴戞湰浜虹爺絀舵垚鏋溿?nbsp; <br>  <br> <strong>宸茬粡鎼滅儲鍒版枃浠訛紝濡備綍鐢–ListBox浠ュ浘鏍囧艦寮忔樉紺哄嚭鏉ワ紵</strong>  <br>CListCtrl        ListCtrl;  <br>CImageList      ImageList;  <br>ImageList.Create(IDB_BITMAP, 48, 2, RGB(0,0,0));  <br>ListCtrl.SetImageList(&ImageList, LVSIL_NORMAL);  <br>ListCtrl.InsertItem(iListIndex, strItem, 1);   <br>  <br> <strong>濡備綍鏀瑰彉鎺у埗闈㈡澘涓數(shù)婧愬睘鎬у璇濇鐨勫昂瀵?</strong>   <br>1銆侀渶瑕佷慨鏀瑰璇濇鐨勫昂瀵告槸鍥犱負瀵硅瘽妗嗘槸浠ヨ祫婧愭柟寮忓姞杞界殑錛屼笉浼氭牴鎹綋鍓嶇郴緇熸樉紺哄垎杈ㄧ巼鑰岃嚜鎴戣皟鑺傚昂瀵搞?nbsp; <br>2銆佸畨瑁匴INCE鍚庢湁涓浜涚粍浠訛紙feature錛夌殑璧勬簮鏂囦歡*.res灝卞凡緇忔湁浜嗭紝濡傛灉浣犱笉鏀瑰彉錛岄偅涔坆uild鍐呮牳鐨勬椂鍊橮B鍙槸鎶婅繖浜?res澶嶅埗鍒板伐紼嬬洰褰曚笅錛岀劧鍚庝笌*.obj鍚堝茍鎴怑XE銆丏LL銆丆PL銆傛墍浠ヤ慨鏀逛簡.rc鏂囦歡閲岄潰鐨勫璇濇灝哄鍚庤閲嶆柊緙栬瘧.rc鏂囦歡涓?res鏂囦歡錛岀劧鍚庡啀瑕嗙洊鍘熸潵WINCE鑷甫鐨?res鏂囦歡銆?nbsp; <br>3銆佹敼鍙樺璇濇灝哄鏈変袱縐嶅姙娉曪細涓縐嶆柟娉曟槸鏇存敼緋葷粺瀛椾綋瀛楀彿錛岀郴緇熷瓧浣撶殑瀛楀彿鍙樺寲浼氬獎鍝嶅璇濇鐨勫昂瀵革紝浣嗘槸緙虹偣鏄墍鏈夌郴緇熷瓧浣撴湁鍏崇殑UI閮戒細鏀瑰彉銆傚彟涓縐嶆槸鍦?rc鏂囦歡涓皟鏁村璇濇灝哄錛岀劧鍚庣紪璇戞垚.res鏂囦歡錛屽啀灝?res澶嶅埗鍒板搴旂殑璇█鐩綍閲岋紝姣斿鐩綍鍚嶄負0804錛堜腑鏂囷級錛屽啀鎵цRebuild鍛戒護閲嶆柊緙栬瘧鍐呮牳錛屾垨鑰呮墽琛宻ysgen錛媌uild銆傚湪鐮旂┒涓垜鍙戠幇.res鏂囦歡铏界劧鑳藉鐩存帴鐢‥VC鎵撳紑銆佷慨鏀廣佷繚瀛橈紝浣嗘槸鍜屽叾瀹僌bj閾炬帴鎴怑XE銆丏LL銆丆PL鍚庡茍涓嶈兘榪愯錛屾墍浠ヨ繕鏄緩璁鑰呯敤CE鑷甫鐨剅c宸ュ叿緙栬瘧鏈濂姐傝鑰呭彲鍦≒B鐨勫懡浠よ涓敭鍏?#8220;rc /?”浜嗚Вrc.exe宸ュ叿鐨勭敤閫斿拰鍙傛暟銆?nbsp; <br>  <br> <strong>浣跨敤EVC build涔嬪悗榪炴帴妯℃嫙鍣ㄧ殑鏃跺欙紝鎻愮ずdownload file絳変簡涓浼氬張鍑虹幇download failed錛?/strong>  <br>涓鑸繖鏍風(fēng)殑闂浠庝笅闈㈠嚑涓楠よВ鍐籌細  <br>1銆佸鏋滀箣鍓嶈兘鍚姩妯℃嫙鍣ㄨ岀幇鍦ㄤ笉鑳斤紝閭d箞鍏坈lean鐒跺悗閲嶅惎璁$畻鏈哄啀build銆?nbsp; <br>2銆佸鏋滃紑鍙戠殑涓繪満涓篧INXP+SP2錛屽彲鑳藉瓨鍦ㄤ笌EVC妯℃嫙鍣ㄤ笉鍏煎鐨勬儏鍐碉紝媯鏌:\boot.ini錛屽皢/noexecute=optin鏀逛負/execute=optin銆?nbsp; <br>3銆佹鏌ヤ綘鐨勬ā鎷熷櫒鏄惁鑳借繍琛岋紝鍋囪浣犳鐢ㄧ殑SDK鍚嶇О涓篗YSDK錛屽崟鍑昏彍鍗晅ools鈥攃onfigure platform manager錛岄夋嫨MYSDK鈥擬YSDK emulator錛屽啀鍗曞嚮properties鈥攖est錛岀湅鐪嬫ā鎷熷櫒鏄惁鑳藉鍚姩錛屽鏋滆兘鍚姩閭i棶棰樺氨涓嶅ぇ銆?nbsp; <br>4銆佸崟鍑昏彍鍗昩uild鈥攗pdate remote output files錛岀湅鐪嬫ā鎷熷櫒鏄惁鑳藉鍚姩銆?nbsp; <br>5銆佸鏋滀笂榪板姙娉曞潎涓嶈錛屽叧闂璄VC鐒跺悗閲嶆柊寤虹珛涓涓柊鐨勫伐紼嬶紝緙栬瘧錛岀湅鐪嬫ā鎷熷櫒鏄惁鑳藉鍚姩錛屽鏋滆兘鍚姩璇存槑鍘熸潵宸ョ▼鍑轟簡闂錛屾渶濂芥仮澶嶅師宸ョ▼鐨勫浠姐?nbsp; <br>  <br> <strong>濡備綍璁劇疆鑳藉鑷姩鎷ㄥ彿銆佺姝㈣嚜鍔ㄦ嫧鍙鳳紵</strong>  <br>鍦╗HKEY_LOCAL_MACHINE\Comm\Autodial]涓嬫槸鑷姩鎷ㄥ彿鐨勬敞鍐岃〃璁劇疆銆?nbsp; <br>Enabled=DWORD:1          ///鏄惁鑳藉鑷姩鎷ㄥ彿  <br>FailRetryWaitMS=DWORD    ///濡傛灉澶辮觸鍐嶆鎷ㄥ彿鐨勭瓑寰呮椂闂?nbsp; <br>RasEntryName1= REG_SZ     ///鑷姩鎷ㄥ彿閲囩敤鐨勬嫧鍙瘋繛鎺ュ悕縐?nbsp; <br>鏇村緇嗚妭璇峰弬鑰冩爣棰樹負“Auto Dial Registry Settings”鐨勫府鍔╂枃妗c?nbsp; <img src ="http://m.shnenglu.com/kuronca/aggbug/49332.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/kuronca/" target="_blank">闆跺畤</a> 2008-05-09 17:24 <a href="http://m.shnenglu.com/kuronca/archive/2008/05/09/49332.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title> (杞?鎴愪負宓屽叆寮忕▼搴忓憳搴旂煡閬撶殑10涓熀鏈棶棰?http://m.shnenglu.com/kuronca/archive/2008/05/09/49330.html闆跺畤闆跺畤Fri, 09 May 2008 09:22:00 GMThttp://m.shnenglu.com/kuronca/archive/2008/05/09/49330.htmlhttp://m.shnenglu.com/kuronca/comments/49330.htmlhttp://m.shnenglu.com/kuronca/archive/2008/05/09/49330.html#Feedback0http://m.shnenglu.com/kuronca/comments/commentRss/49330.htmlhttp://m.shnenglu.com/kuronca/services/trackbacks/49330.html       浠庤闈㈣瘯鑰呯殑瑙掑害鏉ヨ錛屼綘鑳戒簡瑙h澶氬叧浜庡嚭棰樿呮垨鐩戣冭呯殑鎯呭喌銆傝繖涓祴璇曞彧鏄嚭棰樿呬負鏄劇ず鍏跺ANSI鏍囧噯緇嗚妭鐨勭煡璇嗚屼笉鏄妧鏈妧宸ц岃璁″悧錛熻繖鏄釜鎰氳牏鐨勯棶棰樺悧錛熷瑕佷綘絳斿嚭鏌愪釜瀛楃鐨凙SCII鍊箋傝繖浜涢棶棰樼潃閲嶈冨療浣犵殑緋葷粺璋冪敤鍜屽唴瀛樺垎閰嶇瓥鐣ユ柟闈㈢殑鑳藉姏鍚楋紵榪欐爣蹇楃潃鍑洪鑰呬篃璁歌姳鏃墮棿鍦ㄥ井鏈轟笂鑰屼笉鏄湪宓屽叆寮忕郴緇熶笂銆傚鏋滀笂榪頒換浣曢棶棰樼殑絳旀鏄?鏄?鐨勮瘽錛岄偅涔堟垜鐭ラ亾鎴戝緱璁ょ湡鑰冭檻鎴戞槸鍚﹀簲璇ュ幓鍋氳繖浠藉伐浣溿?br>       浠庨潰璇曡呯殑瑙掑害鏉ヨ錛屼竴涓祴璇曚篃璁歌兘浠庡鏂歸潰鎻ず搴旇瘯鑰呯殑绱犺川錛氭渶鍩烘湰鐨勶紝浣犺兘浜嗚В搴旇瘯鑰匔璇█鐨勬按騫熾備笉綆℃庝箞鏍鳳紝鐪嬩竴涓嬭繖浜哄浣曞洖絳斾粬涓嶄細鐨勯棶棰樹篃鏄弧鏈夎叮銆傚簲璇曡呮槸浠ュソ鐨勭洿瑙夊仛鍑烘槑鏅虹殑閫夋嫨錛岃繕鏄彧鏄瀻钂欏憿錛熷綋搴旇瘯鑰呭湪鏌愪釜闂涓婂崱浣忔椂鏄壘鍊熷彛鍛紝榪樻槸琛ㄧ幇鍑哄闂鐨勭湡姝g殑濂藉蹇冿紝鎶婅繖鐪嬫垚瀛︿範鐨勬満浼氬憿錛熸垜鍙戠幇榪欎簺淇℃伅涓庝粬浠殑嫻嬭瘯鎴愮嘩涓鏍鋒湁鐢ㄣ?br>       鏈変簡榪欎簺鎯蟲硶錛屾垜鍐沖畾鍑轟竴浜涚湡姝i拡瀵瑰祵鍏ュ紡緋葷粺鐨勮冮錛屽笇鏈涜繖浜涗護浜哄ご鐥涚殑鑰冮鑳界粰姝e湪鎵懼伐浣滅殑浜轟竴鐐瑰府鍔┿傝繖浜涢棶棰橀兘鏄垜榪欎簺騫村疄闄呯鍒扮殑銆傚叾涓湁浜涢寰堥毦錛屼絾瀹冧滑搴旇閮借兘緇欎綘涓鐐瑰惎榪?br>       榪欎釜嫻嬭瘯閫備簬涓嶅悓姘村鉤鐨勫簲璇曡咃紝澶у鏁板垵綰ф按騫崇殑搴旇瘯鑰呯殑鎴愮嘩浼氬緢宸紝緇忛獙涓板瘜鐨勭▼搴忓憳搴旇鏈夊緢濂界殑鎴愮嘩銆備負浜嗚浣犺兘鑷繁鍐沖畾鏌愪簺闂鐨勫亸濂斤紝姣忎釜闂娌℃湁鍒嗛厤鍒嗘暟錛屽鏋滈夋嫨榪欎簺鑰冮涓轟綘鎵鐢紝璇瘋嚜琛屾寜浣犵殑鎰忔濆垎閰嶅垎鏁般?br> 
 棰勫鐞嗗櫒錛圥reprocessor錛?/strong>
 
 1 . 鐢ㄩ澶勭悊鎸囦護#define 澹版槑涓涓父鏁幫紝鐢ㄤ互琛ㄦ槑1騫翠腑鏈夊灝戠錛堝拷鐣ラ棸騫撮棶棰橈級
          #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
 鎴戝湪榪欐兂鐪嬪埌鍑犱歡浜嬫儏錛?br> 1) #define 璇硶鐨勫熀鏈煡璇嗭紙渚嬪錛氫笉鑳戒互鍒嗗彿緇撴潫錛屾嫭鍙風(fēng)殑浣跨敤錛岀瓑絳夛級
 2)鎳傚緱棰勫鐞嗗櫒灝嗕負浣犺綆楀父鏁拌〃杈懼紡鐨勫鹼紝鍥犳錛岀洿鎺ュ啓鍑轟綘鏄浣曡綆椾竴騫翠腑鏈夊灝戠鑰屼笉鏄綆楀嚭瀹為檯鐨勫鹼紝鏄洿娓呮櫚鑰屾病鏈変唬浠風(fēng)殑銆?br> 3) 鎰忚瘑鍒拌繖涓〃杈懼紡灝嗕嬌涓涓?6浣嶆満鐨勬暣鍨嬫暟婧㈠嚭-鍥犳瑕佺敤鍒伴暱鏁村瀷絎﹀彿L,鍛婅瘔緙栬瘧鍣ㄨ繖涓父鏁版槸鐨勯暱鏁村瀷鏁般?br> 4) 濡傛灉浣犲湪浣犵殑琛ㄨ揪寮忎腑鐢ㄥ埌UL錛堣〃紺烘棤絎﹀彿闀挎暣鍨嬶級錛岄偅涔堜綘鏈変簡涓涓ソ鐨勮搗鐐廣傝浣忥紝絎竴鍗拌薄寰堥噸瑕併?br> 
 2 . 鍐欎竴涓?鏍囧噯"瀹廙IN 錛岃繖涓畯杈撳叆涓や釜鍙傛暟騫惰繑鍥炶緝?yōu)畯鐨勪竴涓?br>         #define MIN(A,B) 錛堬紙A錛?<= (B) ? (A) : (B))
 榪欎釜嫻嬭瘯鏄負涓嬮潰鐨勭洰鐨勮岃鐨勶細
 1) 鏍囪瘑#define鍦ㄥ畯涓簲鐢ㄧ殑鍩烘湰鐭ヨ瘑銆傝繖鏄緢閲嶈鐨勩傚洜涓哄湪  宓屽叆(inline)鎿嶄綔絎?鍙樹負鏍囧噯C鐨勪竴閮ㄥ垎涔嬪墠錛屽畯鏄柟渚夸駭鐢熷祵鍏ヤ唬鐮佺殑鍞竴鏂規(guī)硶錛屽浜庡祵鍏ュ紡緋葷粺鏉ヨ錛屼負浜嗚兘杈懼埌瑕佹眰鐨勬ц兘錛屽祵鍏ヤ唬鐮佺粡甯告槸蹇呴』鐨勬柟娉曘?br> 2)涓夐噸鏉′歡鎿嶄綔絎︾殑鐭ヨ瘑銆傝繖涓搷浣滅瀛樺湪C璇█涓殑鍘熷洜鏄畠浣垮緱緙栬瘧鍣ㄨ兘浜х敓姣攊f-then-else鏇翠紭鍖栫殑浠g爜錛屼簡瑙h繖涓敤娉曟槸寰堥噸瑕佺殑銆?br> 3) 鎳傚緱鍦ㄥ畯涓皬蹇冨湴鎶婂弬鏁扮敤鎷彿鎷搗鏉?br> 4) 鎴戜篃鐢ㄨ繖涓棶棰樺紑濮嬭璁哄畯鐨勫壇浣滅敤錛屼緥濡傦細褰撲綘鍐欎笅闈㈢殑浠g爜鏃朵細鍙戠敓浠涔堜簨錛?br>         least = MIN(*p++, b);
 
 3. 棰勫鐞嗗櫒鏍囪瘑#error鐨勭洰鐨勬槸浠涔堬紵
 濡傛灉浣犱笉鐭ラ亾絳旀錛岃鐪嬪弬鑰冩枃鐚?銆傝繖闂瀵瑰尯鍒嗕竴涓甯哥殑浼欒鍜屼竴涓功鍛嗗瓙鏄緢鏈夌敤鐨勩傚彧鏈変功鍛嗗瓙鎵嶄細璇籆璇█璇炬湰鐨勯檮褰曞幓鎵懼嚭璞¤繖縐嶉棶棰樼殑絳旀銆傚綋鐒跺鏋滀綘涓嶆槸鍦ㄦ壘涓涓功鍛嗗瓙錛岄偅涔堝簲璇曡呮渶濂藉笇鏈涜嚜宸變笉瑕佺煡閬撶瓟妗堛?br> 
 
 姝誨驚鐜紙Infinite loops錛?/strong>
 
 4. 宓屽叆寮忕郴緇熶腑緇忓父瑕佺敤鍒版棤闄愬驚鐜紝浣犳庝箞鏍風(fēng)敤C緙栧啓姝誨驚鐜憿錛?br> 榪欎釜闂鐢ㄥ嚑涓В鍐蟲柟妗堛傛垜棣栭夌殑鏂規(guī)鏄細
 
 while(1)
 {
 
 }
 
 涓浜涚▼搴忓憳鏇村枩嬈㈠涓嬫柟妗堬細
 
 for(;;)
 {
 
 }
 
 榪欎釜瀹炵幇鏂瑰紡璁╂垜涓洪毦錛屽洜涓鴻繖涓娉曟病鏈夌‘鍒囪〃杈懼埌搴曟庝箞鍥炰簨銆傚鏋滀竴涓簲璇曡呯粰鍑鴻繖涓綔涓烘柟妗堬紝鎴戝皢鐢ㄨ繖涓綔涓轟竴涓満浼氬幓鎺㈢┒浠栦滑榪欐牱鍋氱殑鍩烘湰鍘熺悊銆傚鏋滀粬浠殑鍩烘湰絳旀鏄細"鎴戣鏁欑潃榪欐牱鍋氾紝浣嗕粠娌℃湁鎯沖埌榪囦負浠涔堛?榪欎細緇欐垜鐣欎笅涓涓潖鍗拌薄銆?br> 
 絎笁涓柟妗堟槸鐢?goto
 Loop:
 ...
 goto Loop;
 搴旇瘯鑰呭緇欏嚭涓婇潰鐨勬柟妗堬紝榪欒鏄庢垨鑰呬粬鏄竴涓眹緙栬璦紼嬪簭鍛橈紙榪欎篃璁告槸濂戒簨錛夋垨鑰呬粬鏄竴涓兂榪涘叆鏂伴鍩熺殑BASIC/FORTRAN紼嬪簭鍛樸?br> 
 
 鏁版嵁澹版槑錛圖ata declarations錛?/strong>
 
 5. 鐢ㄥ彉閲廰緇欏嚭涓嬮潰鐨勫畾涔?br> a) 涓涓暣鍨嬫暟錛圓n integer錛?
 b)涓涓寚鍚戞暣鍨嬫暟鐨勬寚閽堬紙 A pointer to an integer錛?
 c)涓涓寚鍚戞寚閽堢殑鐨勬寚閽堬紝瀹冩寚鍚戠殑鎸囬拡鏄寚鍚戜竴涓暣鍨嬫暟錛?A pointer to a pointer to an intege錛塺
 d)涓涓湁10涓暣鍨嬫暟鐨勬暟緇勶紙 An array of 10 integers錛?
 e) 涓涓湁10涓寚閽堢殑鏁扮粍錛岃鎸囬拡鏄寚鍚戜竴涓暣鍨嬫暟鐨勩傦紙An array of 10 pointers to integers錛?
 f) 涓涓寚鍚戞湁10涓暣鍨嬫暟鏁扮粍鐨勬寚閽堬紙 A pointer to an array of 10 integers錛?
 g) 涓涓寚鍚戝嚱鏁扮殑鎸囬拡錛岃鍑芥暟鏈変竴涓暣鍨嬪弬鏁板茍榪斿洖涓涓暣鍨嬫暟錛圓 pointer to a function that takes an integer as an argument and returns an integer錛?
 h) 涓涓湁10涓寚閽堢殑鏁扮粍錛岃鎸囬拡鎸囧悜涓涓嚱鏁幫紝璇ュ嚱鏁版湁涓涓暣鍨嬪弬鏁板茍榪斿洖涓涓暣鍨嬫暟錛?An array of ten pointers to functions that take an integer argument and return an integer 錛?br> 
 絳旀鏄細
 a) int a; // An integer
 b) int *a; // A pointer to an integer
 c) int **a; // A pointer to a pointer to an integer
 d) int a[10]; // An array of 10 integers
 e) int *a[10]; // An array of 10 pointers to integers
 f) int (*a)[10]; // A pointer to an array of 10 integers
 g) int (*a)(int); // A pointer to a function a that takes an integer argument and returns an integer
 h) int (*a[10])(int); // An array of 10 pointers to functions that take an integer argument and return an integer 
 
    浜轟滑緇忓父澹扮О榪欓噷鏈夊嚑涓棶棰樻槸閭g瑕佺炕涓涓嬩功鎵嶈兘鍥炵瓟鐨勯棶棰橈紝鎴戝悓鎰忚繖縐嶈娉曘傚綋鎴戝啓榪欑瘒鏂囩珷鏃訛紝涓轟簡紜畾璇硶鐨勬紜э紝鎴戠殑紜煡浜嗕竴涓嬩功銆備絾鏄綋鎴戣闈㈣瘯鐨勬椂鍊欙紝鎴戞湡鏈涜闂埌榪欎釜闂錛堟垨鑰呯浉榪戠殑闂錛夈傚洜涓哄湪琚潰璇曠殑榪欐鏃墮棿閲岋紝鎴戠‘瀹氭垜鐭ラ亾榪欎釜闂鐨勭瓟妗堛傚簲璇曡呭鏋滀笉鐭ラ亾鎵鏈夌殑絳旀錛堟垨鑷沖皯澶ч儴鍒嗙瓟妗堬級錛岄偅涔堜篃灝辨病鏈変負榪欐闈㈣瘯鍋氬噯澶囷紝濡傛灉璇ラ潰璇曡呮病鏈変負榪欐闈㈣瘯鍋氬噯澶囷紝閭d箞浠栧張鑳戒負浠涔堝嚭鍑嗗鍛紵
 
 Static
 
 6. 鍏抽敭瀛梥tatic鐨勪綔鐢ㄦ槸浠涔堬紵
 榪欎釜綆鍗曠殑闂寰堝皯鏈変漢鑳藉洖絳斿畬鍏ㄣ傚湪C璇█涓紝鍏抽敭瀛梥tatic鏈変笁涓槑鏄劇殑浣滅敤錛?br> 1)鍦ㄥ嚱鏁頒綋錛屼竴涓澹版槑涓洪潤鎬佺殑鍙橀噺鍦ㄨ繖涓鍑芥暟琚皟鐢ㄨ繃紼嬩腑緇存寔鍏跺間笉鍙樸?br> 2) 鍦ㄦā鍧楀唴錛堜絾鍦ㄥ嚱鏁頒綋澶栵級錛屼竴涓澹版槑涓洪潤鎬佺殑鍙橀噺鍙互琚ā鍧楀唴鎵鐢ㄥ嚱鏁拌闂紝浣嗕笉鑳借妯″潡澶栧叾瀹冨嚱鏁拌闂傚畠鏄竴涓湰鍦扮殑鍏ㄥ眬鍙橀噺銆?br> 3) 鍦ㄦā鍧楀唴錛屼竴涓澹版槑涓洪潤鎬佺殑鍑芥暟鍙彲琚繖涓妯″潡鍐呯殑鍏跺畠鍑芥暟璋冪敤銆傞偅灝辨槸錛岃繖涓嚱鏁拌闄愬埗鍦ㄥ0鏄庡畠鐨勬ā鍧楃殑鏈湴鑼冨洿鍐呬嬌鐢ㄣ?br> 
    澶у鏁板簲璇曡呰兘姝g‘鍥炵瓟絎竴閮ㄥ垎錛屼竴閮ㄥ垎鑳芥紜洖絳旂浜岄儴鍒嗭紝鍚屾槸寰堝皯鐨勪漢鑳芥噦寰楃涓夐儴鍒嗐傝繖鏄竴涓簲璇曡呯殑涓ラ噸鐨勭己鐐癸紝鍥犱負浠栨樉鐒朵笉鎳傚緱鏈湴鍖栨暟鎹拰浠g爜鑼冨洿鐨勫ソ澶勫拰閲嶈鎬с?br> 
 
 Const
 
 7錛庡叧閿瓧const鏈変粈涔堝惈鎰忥紵
     鎴戝彧瑕佷竴鍚埌琚潰璇曡呰錛?const鎰忓懗鐫甯告暟"錛屾垜灝辯煡閬撴垜姝e湪鍜屼竴涓笟浣欒呮墦浜ら亾銆傚幓騫碊an Saks宸茬粡鍦ㄤ粬鐨勬枃绔犻噷瀹屽叏姒傛嫭浜哻onst鐨勬墍鏈夌敤娉曪紝鍥犳ESP(璇戣咃細Embedded Systems Programming)鐨勬瘡涓浣嶈鑰呭簲璇ラ潪甯哥啛鎮(zhèn)塩onst鑳藉仛浠涔堝拰涓嶈兘鍋氫粈涔?濡傛灉浣犱粠娌℃湁璇誨埌閭g瘒鏂囩珷錛屽彧瑕佽兘璇村嚭const鎰忓懗鐫"鍙"灝卞彲浠ヤ簡銆傚敖綆¤繖涓瓟妗堜笉鏄畬鍏ㄧ殑絳旀錛屼絾鎴戞帴鍙楀畠浣滀負涓涓紜殑絳旀銆傦紙濡傛灉浣犳兂鐭ラ亾鏇磋緇嗙殑絳旀錛屼粩緇嗚涓涓婼aks鐨勬枃绔犲惂銆傦級
    濡傛灉搴旇瘯鑰呰兘姝g‘鍥炵瓟榪欎釜闂錛屾垜灝嗛棶浠栦竴涓檮鍔犵殑闂錛?br>    涓嬮潰鐨勫0鏄庨兘鏄粈涔堟剰鎬濓紵
 
 const int a;
 int const a;
 const int *a;
 int * const a;
 int const * a const;
 
 /******/
    鍓嶄袱涓殑浣滅敤鏄竴鏍鳳紝a鏄竴涓父鏁村瀷鏁般傜涓変釜鎰忓懗鐫a鏄竴涓寚鍚戝父鏁村瀷鏁扮殑鎸囬拡錛堜篃灝辨槸錛屾暣鍨嬫暟鏄笉鍙慨鏀圭殑錛屼絾鎸囬拡鍙互錛夈傜鍥涗釜鎰忔漚鏄竴涓寚鍚戞暣鍨嬫暟鐨勫父鎸囬拡錛堜篃灝辨槸璇達紝鎸囬拡鎸囧悜鐨勬暣鍨嬫暟鏄彲浠ヤ慨鏀圭殑錛屼絾鎸囬拡鏄笉鍙慨鏀圭殑錛夈傛渶鍚庝竴涓剰鍛崇潃a鏄竴涓寚鍚戝父鏁村瀷鏁扮殑甯告寚閽堬紙涔熷氨鏄錛屾寚閽堟寚鍚戠殑鏁村瀷鏁版槸涓嶅彲淇敼鐨勶紝鍚屾椂鎸囬拡涔熸槸涓嶅彲淇敼鐨勶級銆傚鏋滃簲璇曡呰兘姝g‘鍥炵瓟榪欎簺闂錛岄偅涔堜粬灝辯粰鎴戠暀涓嬩簡涓涓ソ鍗拌薄銆傞『甯︽彁涓鍙ワ紝涔熻浣犲彲鑳戒細闂紝鍗充嬌涓嶇敤鍏抽敭瀛?const錛屼篃榪樻槸鑳藉緢瀹規(guī)槗鍐欏嚭鍔熻兘姝g‘鐨勭▼搴忥紝閭d箞鎴戜負浠涔堣繕瑕佸姝ょ湅閲嶅叧閿瓧const鍛紵鎴戜篃濡備笅鐨勫嚑涓嬬悊鐢憋細
 1) 鍏抽敭瀛梒onst鐨勪綔鐢ㄦ槸涓虹粰璇諱綘浠g爜鐨勪漢浼犺揪闈炲父鏈夌敤鐨勪俊鎭紝瀹為檯涓婏紝澹版槑涓涓弬鏁頒負甯擱噺鏄負浜嗗憡璇変簡鐢ㄦ埛榪欎釜鍙傛暟鐨勫簲鐢ㄧ洰鐨勩傚鏋滀綘鏇捐姳寰堝鏃墮棿娓呯悊鍏跺畠浜虹暀涓嬬殑鍨冨溇錛屼綘灝變細寰堝揩瀛︿細鎰熻阿榪欑偣澶氫綑鐨勪俊鎭傦紙褰撶劧錛屾噦寰楃敤const鐨勭▼搴忓憳寰堝皯浼氱暀涓嬬殑鍨冨溇璁╁埆浜烘潵娓呯悊鐨勩傦級
 2) 閫氳繃緇欎紭鍖栧櫒涓浜涢檮鍔犵殑淇℃伅錛屼嬌鐢ㄥ叧閿瓧const涔熻鑳戒駭鐢熸洿绱у噾鐨勪唬鐮併?br> 3) 鍚堢悊鍦頒嬌鐢ㄥ叧閿瓧const鍙互浣跨紪璇戝櫒寰堣嚜鐒跺湴淇濇姢閭d簺涓嶅笇鏈涜鏀瑰彉鐨勫弬鏁幫紝闃叉鍏惰鏃犳剰鐨勪唬鐮佷慨鏀廣傜畝鑰岃█涔嬶紝榪欐牱鍙互鍑忓皯bug鐨勫嚭鐜般?br> 
 
 Volatile
 
 8. 鍏抽敭瀛梫olatile鏈変粈涔堝惈鎰?騫剁粰鍑轟笁涓笉鍚岀殑渚嬪瓙銆?br>    涓涓畾涔変負volatile鐨勫彉閲忔槸璇磋繖鍙橀噺鍙兘浼氳鎰忔兂涓嶅埌鍦版敼鍙橈紝榪欐牱錛岀紪璇戝櫒灝變笉浼氬幓鍋囪榪欎釜鍙橀噺鐨勫間簡銆傜簿紜湴璇村氨鏄紝浼樺寲鍣ㄥ湪鐢ㄥ埌榪欎釜鍙橀噺鏃跺繀欏繪瘡嬈¢兘灝忓績鍦伴噸鏂拌鍙栬繖涓彉閲忕殑鍊鹼紝鑰屼笉鏄嬌鐢ㄤ繚瀛樺湪瀵勫瓨鍣ㄩ噷鐨勫浠姐備笅闈㈡槸volatile鍙橀噺鐨勫嚑涓緥瀛愶細
 1) 騫惰璁懼鐨勭‖浠跺瘎瀛樺櫒錛堝錛氱姸鎬佸瘎瀛樺櫒錛?br> 2) 涓涓腑鏂湇鍔″瓙紼嬪簭涓細璁塊棶鍒扮殑闈炶嚜鍔ㄥ彉閲?Non-automatic variables)
 3) 澶氱嚎紼嬪簲鐢ㄤ腑琚嚑涓換鍔″叡浜殑鍙橀噺
 
    鍥炵瓟涓嶅嚭榪欎釜闂鐨勪漢鏄笉浼氳闆囦劍鐨勩傛垜璁や負榪欐槸鍖哄垎C紼嬪簭鍛樺拰宓屽叆寮忕郴緇熺▼搴忓憳鐨勬渶鍩烘湰鐨勯棶棰樸傛悶宓屽叆寮忕殑瀹朵紮浠粡甯稿悓紜歡銆佷腑鏂丷TOS絳夌瓑鎵撲氦閬擄紝鎵鏈夎繖浜涢兘瑕佹眰鐢ㄥ埌volatile鍙橀噺銆備笉鎳傚緱volatile鐨勫唴瀹瑰皢浼氬甫鏉ョ伨闅俱?br>    鍋囪琚潰璇曡呮紜湴鍥炵瓟浜嗚繖鏄棶棰橈紙鍡紝鎬鐤戞槸鍚︿細鏄繖鏍鳳級錛屾垜灝嗙◢寰繁絀朵竴涓嬶紝鐪嬩竴涓嬭繖瀹朵紮鏄笉鏄洿姝f噦寰梫olatile瀹屽叏鐨勯噸瑕佹с?br> 1)涓涓弬鏁版棦鍙互鏄痗onst榪樺彲浠ユ槸volatile鍚楋紵瑙i噴涓轟粈涔堛?br> 2); 涓涓寚閽堝彲浠ユ槸volatile 鍚楋紵瑙i噴涓轟粈涔堛?br> 3); 涓嬮潰鐨勫嚱鏁版湁浠涔堥敊璇細
 
 int square(volatile int *ptr)
 {
         return *ptr * *ptr;
 }
 
 涓嬮潰鏄瓟妗堬細
 1)鏄殑銆備竴涓緥瀛愭槸鍙鐨勭姸鎬佸瘎瀛樺櫒銆傚畠鏄痸olatile鍥犱負瀹冨彲鑳借鎰忔兂涓嶅埌鍦版敼鍙樸傚畠鏄痗onst鍥犱負紼嬪簭涓嶅簲璇ヨ瘯鍥懼幓淇敼瀹冦?br> 2); 鏄殑銆傚敖綆¤繖騫朵笉寰堝父瑙併備竴涓緥瀛愭槸褰撲竴涓腑鏈嶅姟瀛愮▼搴忎慨璇ヤ竴涓寚鍚戜竴涓猙uffer鐨勬寚閽堟椂銆?br> 3) 榪欐浠g爜鏈夌偣鍙樻併傝繖孌典唬鐮佺殑鐩殑鏄敤鏉ヨ繑鎸囬拡*ptr鎸囧悜鍊肩殑騫蟲柟錛屼絾鏄紝鐢變簬*ptr鎸囧悜涓涓獀olatile鍨嬪弬鏁幫紝緙栬瘧鍣ㄥ皢浜х敓綾諱技涓嬮潰鐨勪唬鐮侊細
 
 int square(volatile int *ptr)
 {
     int a,b;
     a = *ptr;
     b = *ptr;
     return a * b;
 }
 
    鐢變簬*ptr鐨勫煎彲鑳借鎰忔兂涓嶅埌鍦拌鍙橈紝鍥犳a鍜宐鍙兘鏄笉鍚岀殑銆傜粨鏋滐紝榪欐浠g爜鍙兘榪斾笉鏄綘鎵鏈熸湜鐨勫鉤鏂瑰鹼紒姝g‘鐨勪唬鐮佸涓嬶細
 
 long square(volatile int *ptr)
 {
     int a;
     a = *ptr;
     return a * a;
 }
 
 浣嶆搷浣滐紙Bit manipulation錛?/strong>
 
 9. 宓屽叆寮忕郴緇熸繪槸瑕佺敤鎴峰鍙橀噺鎴栧瘎瀛樺櫒榪涜浣嶆搷浣溿傜粰瀹氫竴涓暣鍨嬪彉閲廰錛屽啓涓ゆ浠g爜錛岀涓涓緗產(chǎn)鐨刡it 3錛岀浜屼釜娓呴櫎a 鐨刡it 3銆傚湪浠ヤ笂涓や釜鎿嶄綔涓紝瑕佷繚鎸佸叾瀹冧綅涓嶅彉銆?br>    瀵硅繖涓棶棰樻湁涓夌鍩烘湰鐨勫弽搴?br> 1)涓嶇煡閬撳浣曚笅鎵嬨傝琚潰鑰呬粠娌″仛榪囦換浣曞祵鍏ュ紡緋葷粺鐨勫伐浣溿?br> 2) 鐢╞it fields銆侭it fields鏄鎵斿埌C璇█姝昏鐨勪笢瑗匡紝瀹冧繚璇佷綘鐨勪唬鐮佸湪涓嶅悓緙栬瘧鍣ㄤ箣闂存槸涓嶅彲縐繪鐨勶紝鍚屾椂涔熶繚璇佷簡鐨勪綘鐨勪唬鐮佹槸涓嶅彲閲嶇敤鐨勩傛垜鏈榪戜笉騫哥湅鍒?Infineon涓哄叾杈冨鏉傜殑閫氫俊鑺墖鍐欑殑椹卞姩紼嬪簭錛屽畠鐢ㄥ埌浜哹it fields鍥犳瀹屽叏瀵規(guī)垜鏃犵敤錛屽洜涓烘垜鐨勭紪璇戝櫒鐢ㄥ叾瀹冪殑鏂瑰紡鏉ュ疄鐜癰it fields鐨勩備粠閬撳痙璁詫細姘歌繙涓嶈璁╀竴涓潪宓屽叆寮忕殑瀹朵紮綺樺疄闄呯‖浠剁殑杈廣?br> 3) 鐢?#defines 鍜?bit masks 鎿嶄綔銆傝繖鏄竴涓湁鏋侀珮鍙Щ妞嶆х殑鏂規(guī)硶錛屾槸搴旇琚敤鍒扮殑鏂規(guī)硶銆傛渶浣崇殑瑙e喅鏂規(guī)濡備笅錛?br> 
 #define BIT3 (0x1 << 3)
 static int a;
 
 void set_bit3(void)
 {
     a |= BIT3;
 }
 void clear_bit3(void)
 {
     a &= ~BIT3;
 }
 
    涓浜涗漢鍠滄涓鴻緗拰娓呴櫎鍊艱屽畾涔変竴涓帺鐮佸悓鏃跺畾涔変竴浜涜鏄庡父鏁幫紝榪欎篃鏄彲浠ユ帴鍙楃殑銆傛垜甯屾湜鐪嬪埌鍑犱釜瑕佺偣錛氳鏄庡父鏁般亅=鍜?amp;=~鎿嶄綔銆?br> 
 
 璁塊棶鍥哄畾鐨勫唴瀛樹綅緗紙Accessing fixed memory ***s錛?/strong>
 
 10. 宓屽叆寮忕郴緇熺粡甯稿叿鏈夎姹傜▼搴忓憳鍘昏闂煇鐗瑰畾鐨勫唴瀛樹綅緗殑鐗圭偣銆傚湪鏌愬伐紼嬩腑錛岃姹傝緗竴緇濆鍦板潃涓?x67a9鐨勬暣鍨嬪彉閲忕殑鍊間負0xaa66銆傜紪璇戝櫒鏄竴涓函綺圭殑ANSI緙栬瘧鍣ㄣ傚啓浠g爜鍘誨畬鎴愯繖涓浠誨姟銆?br>    榪欎竴闂?gòu)箣璇曚綘鏄惁鐭ラ亾湄撲簡璁块棶涓緇濆鍦板潃鎶婁竴涓暣鍨嬫暟寮哄埗杞崲錛坱ypecast錛変負涓鎸囬拡鏄悎娉曠殑銆傝繖涓闂鐨勫疄鐜版柟寮忛殢鐫涓漢椋庢牸涓嶅悓鑰屼笉鍚屻傚吀鍨嬬殑綾諱技浠g爜濡備笅錛?br>     int *ptr;
     ptr = (int *)0x67a9;
     *ptr = 0xaa55;
 
  A more obscure approach is:
 涓涓緝鏅︽訂鐨勬柟娉曟槸錛?br> 
     *(int * const)(0x67a9) = 0xaa55;
 
 鍗充嬌浣犵殑鍝佸懗鏇存帴榪戠浜岀鏂規(guī)錛屼絾鎴戝緩璁綘鍦ㄩ潰璇曟椂浣跨敤絎竴縐嶆柟妗堛?br> 
 涓柇錛圛nterrupts錛?/strong>
 
 11. 涓柇鏄祵鍏ュ紡緋葷粺涓噸瑕佺殑緇勬垚閮ㄥ垎錛岃繖瀵艱嚧浜嗗緢澶氱紪璇戝紑鍙戝晢鎻愪緵涓縐嶆墿灞曗旇鏍囧噯C鏀寔涓柇銆傚叿浠h〃浜嬪疄鏄紝浜х敓浜嗕竴涓柊鐨勫叧閿瓧 __interrupt銆備笅闈㈢殑浠g爜灝變嬌鐢ㄤ簡__interrupt鍏抽敭瀛楀幓瀹氫箟浜嗕竴涓腑鏂湇鍔″瓙紼嬪簭(ISR)錛岃璇勮涓涓嬭繖孌典唬鐮佺殑銆?br> 
 __interrupt double compute_area (double radius)
 {
     double area = PI * radius * radius;
     printf("\nArea = %f", area);
     return area;
 }
 
 榪欎釜鍑芥暟鏈夊お澶氱殑閿欒浜嗭紝浠ヨ嚦璁╀漢涓嶇煡浠庝綍璇磋搗浜嗭細
 1)ISR 涓嶈兘榪斿洖涓涓箋傚鏋滀綘涓嶆噦榪欎釜錛岄偅涔堜綘涓嶄細琚泧鐢ㄧ殑銆?br> 2) ISR 涓嶈兘浼犻掑弬鏁般傚鏋滀綘娌℃湁鐪嬪埌榪欎竴鐐癸紝浣犺闆囩敤鐨勬満浼氱瓑鍚岀涓欏廣?br> 3) 鍦ㄨ澶氱殑澶勭悊鍣?緙栬瘧鍣ㄤ腑錛屾誕鐐逛竴鑸兘鏄笉鍙噸鍏ョ殑銆傛湁浜涘鐞嗗櫒/緙栬瘧鍣ㄩ渶瑕佽棰濆鐨勫瘎瀛樺櫒鍏ユ爤錛屾湁浜涘鐞嗗櫒/緙栬瘧鍣ㄥ氨鏄笉鍏佽鍦↖SR涓仛嫻偣榪愮畻銆傛澶栵紝ISR搴旇鏄煭鑰屾湁鏁堢巼鐨勶紝鍦↖SR涓仛嫻偣榪愮畻鏄笉鏄庢櫤鐨勩?br> 4) 涓庣涓夌偣涓鑴夌浉鎵匡紝printf()緇忓父鏈夐噸鍏ュ拰鎬ц兘涓婄殑闂銆傚鏋滀綘涓㈡帀浜嗙涓夊拰絎洓鐐癸紝鎴戜笉浼氬お涓洪毦浣犵殑銆備笉鐢ㄨ錛屽鏋滀綘鑳藉緱鍒板悗涓ょ偣錛岄偅涔堜綘鐨勮闆囩敤鍓嶆櫙瓚婃潵瓚婂厜鏄庝簡銆?br> 
 
 浠g爜渚嬪瓙錛圕ode examples錛?/strong>
 
 12 . 涓嬮潰鐨勪唬鐮佽緭鍑烘槸浠涔堬紝涓轟粈涔堬紵
 
 void foo(void)
 {
     unsigned int a = 6;
     int b = -20;
     (a+b > 6) ? puts("> 6") : puts("<= 6");
 }
    榪欎釜闂?gòu)箣璇曚綘鏄惁鎳傚緱C璇█涓殑鏁存暟鑷姩杞崲鍘熷垯錛屾垜鍙戠幇鏈変簺寮鍙戣呮噦寰楁瀬灝戣繖浜涗笢瑗褲備笉綆″浣曪紝榪欐棤絎﹀彿鏁村瀷闂鐨勭瓟妗堟槸杈撳嚭鏄?">6"銆傚師鍥犳槸褰撹〃杈懼紡涓瓨鍦ㄦ湁絎﹀彿綾誨瀷鍜屾棤絎﹀彿綾誨瀷鏃舵墍鏈夌殑鎿嶄綔鏁伴兘鑷姩杞崲涓烘棤絎﹀彿綾誨瀷銆傚洜姝?20鍙樻垚浜嗕竴涓潪甯稿ぇ鐨勬鏁存暟錛屾墍浠ヨ琛ㄨ揪寮忚綆楀嚭鐨勭粨鏋滃ぇ浜?銆傝繖涓鐐瑰浜庡簲褰撻綣佺敤鍒版棤絎﹀彿鏁版嵁綾誨瀷鐨勫祵鍏ュ紡緋葷粺鏉ヨ鏄赴甯擱噸瑕佺殑銆傚鏋滀綘絳旈敊浜嗚繖涓棶棰橈紝浣犱篃灝卞埌浜嗗緱涓嶅埌榪欎喚宸ヤ綔鐨勮竟緙樸?br> 
 13. 璇勪環(huán)涓嬮潰鐨勪唬鐮佺墖鏂細
 
 unsigned int zero = 0;
 unsigned int compzero = 0xFFFF;
 /*1's complement of zero */
 
 瀵逛簬涓涓猧nt鍨嬩笉鏄?6浣嶇殑澶勭悊鍣ㄤ負璇達紝涓婇潰鐨勪唬鐮佹槸涓嶆紜殑銆傚簲緙栧啓濡備笅錛?br> 
 unsigned int compzero = ~0;
 
 榪欎竴闂鐪熸鑳芥彮闇插嚭搴旇瘯鑰呮槸鍚︽噦寰楀鐞嗗櫒瀛楅暱鐨勯噸瑕佹с傚湪鎴戠殑緇忛獙閲岋紝濂界殑宓屽叆寮忕▼搴忓憳闈炲父鍑嗙‘鍦版槑鐧界‖浠剁殑緇嗚妭鍜屽畠鐨勫眬闄愶紝鐒惰孭C鏈虹▼搴忓線寰鎶婄‖浠朵綔涓轟竴涓棤娉曢伩鍏嶇殑鐑︽伡銆?br> 鍒頒簡榪欎釜闃舵錛屽簲璇曡呮垨鑰呭畬鍏ㄥ瀭澶翠撫姘斾簡鎴栬呬俊蹇冩弧婊″織鍦ㄥ繀寰椼傚鏋滄樉鐒跺簲璇曡呬笉鏄緢濂斤紝閭d箞榪欎釜嫻嬭瘯灝卞湪榪欓噷緇撴潫浜嗐備絾濡傛灉鏄劇劧搴旇瘯鑰呭仛寰椾笉閿欙紝閭d箞鎴戝氨鎵斿嚭涓嬮潰鐨勮拷鍔犻棶棰橈紝榪欎簺闂鏄瘮杈冮毦鐨勶紝鎴戞兂浠呬粎闈炲父浼樼鐨勫簲璇曡呰兘鍋氬緱涓嶉敊銆傛彁鍑鴻繖浜涢棶棰橈紝鎴戝笇鏈涙洿澶氱湅鍒板簲璇曡呭簲浠橀棶棰樼殑鏂規(guī)硶錛岃屼笉鏄瓟妗堛備笉綆″浣曪紝浣犲氨褰撴槸榪欎釜濞變箰鍚?..
 
 
 鍔ㄦ佸唴瀛樺垎閰嶏紙Dynamic memory al***錛?/strong>
 
 14. 灝界涓嶅儚闈炲祵鍏ュ紡璁$畻鏈洪偅涔堝父瑙侊紝宓屽叆寮忕郴緇熻繕鏄湁浠庡爢錛坔eap錛変腑鍔ㄦ佸垎閰嶅唴瀛樼殑榪囩▼鐨勩傞偅涔堝祵鍏ュ紡緋葷粺涓紝鍔ㄦ佸垎閰嶅唴瀛樺彲鑳藉彂鐢熺殑闂鏄粈涔堬紵
    榪欓噷錛屾垜鏈熸湜搴旇瘯鑰呰兘鎻愬埌鍐呭瓨紕庣墖錛岀鐗囨敹闆嗙殑闂錛屽彉閲忕殑鎸佽鏃墮棿絳夌瓑銆傝繖涓富棰樺凡緇忓湪ESP鏉傚織涓騫挎硾鍦拌璁鴻繃浜嗭紙涓昏鏄?P.J. Plauger, 浠栫殑瑙i噴榪滆繙瓚呰繃鎴戣繖閲岃兘鎻愬埌鐨勪換浣曡В閲婏級錛屾墍鏈夊洖榪囧ご鐪嬩竴涓嬭繖浜涙潅蹇楀惂錛佽搴旇瘯鑰呰繘鍏ヤ竴縐嶈櫄鍋囩殑瀹夊叏鎰熻鍚庯紝鎴戞嬁鍑鴻繖涔堜竴涓皬鑺傜洰錛?br>    涓嬮潰鐨勪唬鐮佺墖孌電殑杈撳嚭鏄粈涔堬紝涓轟粈涔堬紵
 
 char *ptr;
 if ((ptr = (char *)malloc(0)) == NULL)
     puts("Got a null pointer");
 else
     puts("Got a valid pointer");
 
    榪欐槸涓涓湁瓚g殑闂銆傛渶榪戝湪鎴戠殑涓涓悓浜嬩笉緇忔剰鎶?鍊間紶緇欎簡鍑芥暟malloc錛屽緱鍒頒簡涓涓悎娉曠殑鎸囬拡涔嬪悗錛屾垜鎵嶆兂鍒拌繖涓棶棰樸傝繖灝辨槸涓婇潰鐨勪唬鐮侊紝璇ヤ唬鐮佺殑杈撳嚭鏄?Got a valid pointer"銆傛垜鐢ㄨ繖涓潵寮濮嬭璁鴻繖鏍風(fēng)殑涓闂錛岀湅鐪嬭闈㈣瘯鑰呮槸鍚︽兂鍒板簱渚嬬▼榪欐牱鍋氭槸姝g‘銆傚緱鍒版紜殑絳旀鍥虹劧閲嶈錛屼絾瑙e喅闂鐨勬柟娉曞拰浣犲仛鍐沖畾鐨勫熀鏈師鐞嗘洿閲嶈浜涖?br> 
 Typedef
 
 15 Typedef 鍦–璇█涓綣佺敤浠ュ0鏄庝竴涓凡緇忓瓨鍦ㄧ殑鏁版嵁綾誨瀷鐨勫悓涔夊瓧銆備篃鍙互鐢ㄩ澶勭悊鍣ㄥ仛綾諱技鐨勪簨銆備緥濡傦紝鎬濊冧竴涓嬩笅闈㈢殑渚嬪瓙錛?br> 
 #define dPS struct s *
 typedef struct s * tPS;
 
    浠ヤ笂涓ょ鎯呭喌鐨勬剰鍥鵑兘鏄瀹氫箟dPS 鍜?tPS 浣滀負涓涓寚鍚戠粨鏋剆鎸囬拡銆傚摢縐嶆柟娉曟洿濂藉憿錛燂紙濡傛灉鏈夌殑璇濓級涓轟粈涔堬紵
    榪欐槸涓涓潪甯稿井濡欑殑闂錛屼換浣曚漢絳斿榪欎釜闂錛堟褰撶殑鍘熷洜錛夋槸搴斿綋琚伃鍠滅殑銆傜瓟妗堟槸錛歵ypedef鏇村ソ銆傛濊冧笅闈㈢殑渚嬪瓙錛?br> 
 dPS p1,p2;
 tPS p3,p4;
 
 絎竴涓墿灞曚負
 
 struct s * p1, p2;
 .
    涓婇潰鐨勪唬鐮佸畾涔塸1涓轟竴涓寚鍚戠粨鏋勭殑鎸囷紝p2涓轟竴涓疄闄呯殑緇撴瀯錛岃繖涔熻涓嶆槸浣犳兂瑕佺殑銆傜浜屼釜渚嬪瓙姝g‘鍦板畾涔変簡p3 鍜宲4 涓や釜鎸囬拡銆?br> 
 
 
 鏅︽訂鐨勮娉?/strong>
 
 16 . C璇█鍚屾剰涓浜涗護浜洪渿鎯婄殑緇撴瀯,涓嬮潰鐨勭粨鏋勬槸鍚堟硶鐨勫悧錛屽鏋滄槸瀹冨仛浜涗粈涔堬紵
 
 int a = 5, b = 7, c;
 c = a+++b;
 
    榪欎釜闂灝嗗仛涓鴻繖涓祴楠岀殑涓涓剦蹇殑緇撳熬銆備笉綆′綘鐩鎬笉鐩鎬俊錛屼笂闈㈢殑渚嬪瓙鏄畬鍏ㄥ悎涔庤娉曠殑銆傞棶棰樻槸緙栬瘧鍣ㄥ浣曞鐞嗗畠錛熸按騫充笉楂樼殑緙栬瘧浣滆呭疄闄呬笂浼氫簤璁鴻繖涓棶棰橈紝鏍規(guī)嵁鏈澶勭悊鍘熷垯錛岀紪璇戝櫒搴斿綋鑳藉鐞嗗敖鍙兘鎵鏈夊悎娉曠殑鐢ㄦ硶銆傚洜姝わ紝涓婇潰鐨勪唬鐮佽澶勭悊鎴愶細
 
 c = a++ + b;
 
    鍥犳, 榪欐浠g爜鎸佽鍚巃 = 6, b = 7, c = 12銆?br>    濡傛灉浣犵煡閬撶瓟妗堬紝鎴栫寽鍑烘紜瓟妗堬紝鍋氬緱濂姐傚鏋滀綘涓嶇煡閬撶瓟妗堬紝鎴戜篃涓嶆妸榪欎釜褰撲綔闂銆傛垜鍙戠幇榪欎釜闂鐨勬渶澶уソ澶勬槸榪欐槸涓涓叧浜庝唬鐮佺紪鍐欓鏍鹼紝浠g爜鐨勫彲璇繪э紝浠g爜鐨勫彲淇敼鎬х殑濂界殑璇濋銆?br> 
 
    濂戒簡錛屼紮璁′滑錛屼綘鐜板湪宸茬粡鍋氬畬鎵鏈夌殑嫻嬭瘯浜嗐傝繖灝辨槸鎴戝嚭鐨凜璇█嫻嬭瘯棰橈紝鎴戞鐫鎰夊揩鐨勫績鎯呭啓瀹屽畠錛屽笇鏈涗綘浠ュ悓鏍風(fēng)殑蹇冩儏璇誨畬瀹冦傚鏋滄槸璁や負榪欐槸涓涓ソ鐨勬祴璇曪紝閭d箞灝介噺閮界敤鍒頒綘鐨勬壘宸ヤ綔鐨勮繃紼嬩腑鍘誨惂銆傚ぉ鐭ラ亾涔熻榪囦釜涓涓ゅ勾錛屾垜灝變笉鍋氱幇鍦ㄧ殑宸ヤ綔錛屼篃闇瑕佹壘涓涓?br>

闆跺畤 2008-05-09 17:22 鍙戣〃璇勮
]]>
姘寸叜TCPMP (杞?http://m.shnenglu.com/kuronca/archive/2007/11/23/37188.html闆跺畤闆跺畤Fri, 23 Nov 2007 02:28:00 GMThttp://m.shnenglu.com/kuronca/archive/2007/11/23/37188.htmlhttp://m.shnenglu.com/kuronca/comments/37188.htmlhttp://m.shnenglu.com/kuronca/archive/2007/11/23/37188.html#Feedback0http://m.shnenglu.com/kuronca/comments/commentRss/37188.htmlhttp://m.shnenglu.com/kuronca/services/trackbacks/37188.html鍘誨勾騫村簳甯埆浜哄仛涓涓」鐩紝浜嗚В浜嗕竴涓婽CPMP錛岃寰楄繖涓蔣浠剁殑緇撴瀯鍐欏緱寰堝ソ灝卞仛浜嗕簺璁板綍錛屼粖澶╁伓鐒剁炕鍑烘潵鐪嬬湅瑙夊緱鍙兘瀵規(guī)鍦ㄧ爺絀惰繖涓蔣浠剁殑浜烘湁鐐瑰府鍔╁氨璐村嚭鏉ャ傚鏋滆漿杞借娉ㄦ槑鍑哄錛岃阿璋€?/p>

TCPMP鏄竴涓姛鑳藉己澶у紑鏀懼紡鐨勫紑婧愬濯掍綋鎾斁鍣紝
鎾斁鍣ㄤ富瑕佺敱鏍稿績妗嗘灦妯″潡錛坈ommon宸ョ▼錛夊拰瑙g爜鍣ㄥ垎紱誨櫒鎻掍歡緇勬垚銆?br>TCPMP鐨勬彃浠墮潪甯稿錛屻乴ibmad鎴戜滑鑱斿悎鍑犱釜鏈甯哥敤鐨勬彃浠訛紙ffmpeg銆乻plitter錛夋潵璇存槑錛屽叾涓璱nterface鎻掍歡瀹炵幇TCPMP鐨勭晫闈紝鐢變簬浠栧拰濯掍綋鎾斁娌℃湁浠涔堝叧緋伙紝榪欓儴鍒嗗彲浠ュ畬鍏ㄨ鏇挎崲鎺夛紝鏇挎崲鎴愯嚜宸辯殑鐣岄潰銆?br>ffmpeg宸ョ▼鏄郴緇熶富瑕佺殑闊寵棰戣В鐮佹ā鍧楋紝ffmpeg鏄竴涓泦褰曞埗銆佽漿鎹€侀煶/瑙嗛緙栫爜瑙g爜鍔熻兘涓轟竴浣撶殑瀹屾暣鐨勫紑婧愯В鍐蟲柟妗堛侳Fmpeg鐨勫紑鍙戞槸鍩轟簬Linux鎿嶄綔緋葷粺錛屼絾鏄彲浠ュ湪澶у鏁版搷浣滅郴緇熶腑緙栬瘧鍜屼嬌鐢ㄣ俧fmpeg鏀寔MPEG銆丏ivX銆丮PEG4銆丄C3銆丏V銆丗LV絳?0澶氱緙栫爜錛孉VI銆丮PEG銆丱GG銆丮atroska銆丄SF絳?0澶氱瑙g爜銆傚緢澶氬紑婧愭挱鏀懼櫒閮界敤鍒頒簡ffmpeg銆備絾鏄痜fmpeg紼嬪簭瑙g爜鏁堢巼涓嶆槸寰堥珮錛岀郴緇熶粎浠呬嬌鐢ㄤ簡FFmpeg鐨勯儴鍒嗚В鐮佸姛鑳姐?br>ffmpeg涓葷洰褰曚笅涓昏鏈塴ibavcodec銆乴ibavformat鍜宭ibavutil絳夊瓙鐩綍銆傚叾涓璴ibavcodec鐢ㄤ簬瀛樻斁鍚勪釜encode/decode妯″潡錛宭ibavformat鐢ㄤ簬瀛樻斁muxer/demuxer妯″潡錛宭ibavutil鐢ㄤ簬瀛樻斁鍐呭瓨鎿嶄綔絳夊父鐢ㄦā鍧椼傛湰緋葷粺鐨勫獟浣撴枃浠跺垎紱誨櫒鏈夊崟鐙殑splitter妯″潡瀹屾垚鎵浠ヤ笉闇瑕乴ibavformat瀛愮洰褰曘俧fmpeg鐩綍涓媗ibavcodec銆乴ibavutil淇濈暀瀛愮洰褰曘?/p>

libmad宸ョ▼鐢ㄤ簬MP3鏂囦歡瑙g爜錛岃宸ョ▼鍖呭惈涓や釜鍔熻兘妯″潡錛屼竴涓礋璐hВ鏋怣P3鏂囦歡鏍煎紡錛屽寘鎷琈PEG1闊抽鏂囦歡 (MP1,MP2,MP3,MPA)錛岃鍙栨瘡涓甯ч煶棰戞暟鎹紱鍙︿竴涓礋璐hВ鐮丮PEG1闊抽鏁版嵁錛岃В鐮佷唬鐮佸湪libmad瀛愮洰褰曚腑銆?br>libmad鏄竴涓紑婧愮殑楂樼簿搴?MPEG1闊抽瑙g爜搴擄紝鏀寔 MPEG-1錛圠ayer I, Layer II 鍜?LayerIII錛屼篃灝辨槸 MP3錛夈俵ibmad鎻愪緵 24-bit 鐨?PCM 杈撳嚭錛屽畬鍏ㄦ槸瀹氱偣璁$畻錛岄潪甯擱傚悎娌℃湁嫻偣鏀寔鐨勫鉤鍙頒笂浣跨敤銆備嬌鐢?libmad 鎻愪緵鐨勪竴緋誨垪 API錛屽氨鍙互闈炲父綆鍗曞湴瀹炵幇 MP3 鏁版嵁瑙g爜宸ヤ綔銆傚湪 libmad 鐨勬簮浠g爜鏂囦歡鐩綍涓嬬殑 mad.h 鏂囦歡涓紝鍙互鐪嬪埌緇濆ぇ閮ㄥ垎璇ュ簱鐨勬暟鎹粨鏋勫拰 API 絳夈俵ibmad鏄敤鐨刦ixed-integer錛岄氳繃鏁存暟妯℃嫙灝忔暟璁$畻鐨勶紝綺懼害鍙兘淇濊瘉鍒板皬鏁扮偣鍚庣9浣嶏紙澶т簬0鐨勬渶灝忓?0.00000000372529錛夛紝铏界劧瑙g爜綺懼害浼氭湁鎹熷け錛屼絾鏄瀬澶ф彁楂樹簡瑙g爜鏁堢巼錛岀壒鍒槸鍦ㄥ祵鍏ュ紡璁懼涓婁篃鍙互瀹炵幇楂樼爜鐜嘙P3鏂囦歡鐨勮В鐮併?/p>

splitter宸ョ▼鐢ㄤ簬瑙f瀽澶氱闊寵棰戞枃浠舵牸寮忋傚彲浠ヨВ鏋愮殑鏂囦歡鏍煎紡鍖呮嫭錛欰SF濯掍綋鏂囦歡錛岃棰戞枃浠?(AVI,DIVX)錛學(xué)indows娉㈠艦鏂囦歡 (WAV,RMP)錛孧PEG鐢?shù)濯勬枃錃g (MPEG,MPG,MPV)錛孧PEG4鏂囦歡 (MP4,3GP,M4A,M4B,K3G)銆備互涓婃牸寮忓彲浠ヨ瑙f瀽浣嗘槸鏁版嵁緙栫爜涓嶄竴瀹氳兘姝g‘瑙g爜錛岄渶瑕佷緷璧栫郴緇熺殑瑙g爜鍣ㄣ?/p>

common宸ョ▼鏄牳蹇冩ā鍧楋紝鏄竴涓紑鏀劇殑闆嗘暟鎹緭鍏ャ佽漿鎹€侀煶/瑙嗛瑙g爜銆佷俊鍙瘋緭鍑虹瓑鍔熻兘涓轟竴浣撶殑瀹屾暣鐨勫濯掍綋鎾斁妗嗘灦銆傝繖涓鏋惰嚜韜笉鍖呭惈浠諱綍鐨凞ecode鍜孲plit鍔熻兘錛岃繖浜涘姛鑳界敱鎻掍歡瀹炵幇錛屾牳蹇冩ā鍧椾互涓涓爲(wèi)鐘剁粨鏋勭鐞嗘墍鏈夌殑鍔熻兘妯″潡鍜屾彃浠舵ā鍧楋紝瀹炵幇鏁版嵁Render鍔熻兘錛屽杈撳叆銆佽漿鎹€佽緭鍑烘祦紼嬬殑鎺у埗錛屾帴鍙楁挱鏀捐繃紼嬩腑鐨勬搷浣滃拰瀵逛簨浠惰繘琛屽鐞嗭紝鍚屾椂涔熷疄鐜扮郴緇熻繍琛屼腑緇忓父浣跨敤鐨勪竴浜涘叡鐢ㄥ嚱鏁幫紝姣斿瑙g爜榪囩▼涓粡甯鎬嬌鐢ㄧ殑閫嗙鏁d綑寮﹀彉鎹紝鍐呭瓨鎿嶄綔錛岀晫闈腑闇瑕佷嬌鐢ㄧ殑澶氳璦瀛楃澶勭悊絳夈俢ommon宸ョ▼鐨勪富鐩綍涓嬩富瑕佹湁錛歜lit銆乨yncode銆乷verlay銆乸cm銆乻oftidct銆亀in32銆亃lib絳夊瓙鐩綍銆傚叾涓璪lit鍜宱verlay瀛樻斁鏄棰戜俊鍙鋒覆鏌撴ā鍧楋紝pcm瀛樻斁PCM闊抽淇″彿杞崲妯″潡錛宻oftidct瀛樻斁閫嗙鏁d綑寮﹀彉鎹㈠嚱鏁幫紝win32瀛樻斁鍐呭瓨鎿嶄綔絳夊父鐢ㄦā鍧楋紝dyncode榪欎釜鐩綍鐨勪唬鐮佹瘮杈冩櫐娑╋紝瀛樻斁鐨勬槸紼嬪簭榪愯鏄姩鎬佺敓鎴愪唬鐮佹ā鍧楋紝閽堝涓嶅悓鐨凜PU鎸囦護闆嗭紝PCM鏁版嵁鏁版嵁澹伴亾鍜岄噰鏍風(fēng)巼涓嶅悓錛岃棰戞覆鏌撴暟鎹牸寮忓拰鑹叉繁絳変笉鍚屾儏鍐靛姩鎬佺敓鎴愪笉鍚岀殑浼樺寲浠g爜錛堣繖孌典唬鐮侀潪甯哥簿褰╋紝涓嶈兘涓嶈浜轟僵鏈峊CPMP浣滆呯殑楂樿秴姘村鉤錛夈傛牳蹇冩ā鍧楁湁涓涓笂涓嬫枃瀵硅薄context錛岃瀵硅薄鍦ㄥ垵濮嬪寲鍑芥暟bool_t Context_Init(……)涓欏垱寤轟簡涓涓瀵硅薄瀹炰緥銆傝瀵硅薄瀹炰緥璁板綍綆$悊鍚勪釜鍔熻兘妯″潡錛岀敤鎴風(fēng)晫闈㈠彲浠ラ氳繃璇ュ璞″拰鏍稿績妯″潡浜や簰錛岀鐞嗘帶鍒舵挱鏀捐繃紼嬨?br> Context瀵硅薄璇存槑錛?br>typedef struct context
{
 int Version; //鐗堟湰淇℃伅
 uint32_t ProgramId;
 const tchar_t* ProgramName;  //搴旂敤紼嬪簭鍚嶇О
 const tchar_t* ProgramVersion; //紼嬪簭鐗堟湰鍙鳳紝瀛楃涓?br> const tchar_t* CmdLine;   //紼嬪簭鍛戒護琛屼俊鎭?br> void* Wnd;   //瑙嗛娓叉煋紿楀彛鍙ユ焺
 void* NodeLock;  //鍔熻兘妯″潡璁塊棶涓寸晫鍖轟簰鏂ュ彉閲?br> array Node;   //鍔熻兘妯″潡鏁版嵁瀵硅薄鏁扮粍
 array NodeClass;  //鍔熻兘妯″潡瀹氫箟瀵硅薄鏁扮粍錛屾寜鐓х郴緇熼昏緫鍏崇郴緇勭粐
 array NodeClassPri; //鍔熻兘妯″潡瀹氫箟瀵硅薄鏁扮粍錛屾寜鐓х郴緇熼昏緫鍏崇郴鍜屾ā鍧椾紭鍏堢駭鎺掑垪
 array NodeModule;  //澶栭儴鎻掍歡妯″潡鏁扮粍
 int LoadModuleNo;  //褰撳墠姝e湪瑁呰澆鐨勫閮ㄦ彃浠跺簭鍙?br> void* LoadModule;
 array StrTable[2];  //瀛楃涓茶祫婧愭暟緇勶紝瀛楃涓插垎涓?br>      //緇欏簳灞備嬌鐢ㄧ殑鏍囧噯瀛楃涓茶祫婧愬拰
      //緇欑晫闈嬌鐢ㄧ殑鏄劇ず瀛楃涓茶祫婧愶紝涓ょ璧勬簮鐢ㄤ袱涓暟緇勮〃紺?br> array StrBuffer;
 array StrModule;  //鏈嬌鐢?br> void* StrLock;  //瀛楃涓叉暟緇勮闂復(fù)鐣屽尯浜掓枼鍙橀噺
 uint32_t Lang;   //褰撳墠浣跨敤璇█鏍囧織
 int CodePage;   //褰撳墠浣跨敤浠g爜欏墊爣蹇?br> struct pcm_soft* PCM; //PCM闊抽淇″彿杞崲妯″潡
 struct blitpack* Blit; //瑙嗛淇″彿娓叉煋妯″潡
 struct node* Platform; //寰楀埌騫沖彴鐩稿叧淇℃伅
 struct node* Advanced; //寰楀埌鎾斁妯″潡楂樼駭淇℃伅
 struct node* Player;  //鎾斁鎺у埗妯″潡
 notify Error;   //淇℃伅閿欒鍥炶皟鍑芥暟
 //灞忓箷鏃嬭漿淇℃伅錛屽湪鏌愪簺緋葷粺涓睆騫曞彲浠ユ棆杞?0搴︽垨180搴?br> int (*HwOrientation)(void*);
 void *HwOrientationContext;
 bool_t TryDynamic;  //鏈嬌鐢?br> int SettingsPage;   //鏈嬌鐢?br> size_t StartUpMemory;  //鍙互浣跨敤鐨勬湁鏁堝唴瀛樻暟
 bool_t InHibernate;   //鏄惁榪涘叆浼戠湢鐘舵?br> bool_t WaitDisable;   //鏈嬌鐢?br> int FtrId;     //鏈嬌鐢?br> bool_t LowMemory;  //鍙互浣跨敤鐨勬湁鏁堝唴瀛樻暟鏄惁灝忎簬緋葷粺瑕佹眰鐨勬渶浣庤姹?br> //鍔ㄦ佷唬鐮佺敓鎴愪腑闂寸姸鎬佸強鏁版嵁
 bool_t CodeFailed;
 bool_t CodeMoveBack;
 bool_t CodeDelaySlot;
 void* CodeLock;
 void* CodeInstBegin;
 void* CodeInstEnd;
 int NextCond;
 bool_t NextSet;
 bool_t NextByte;
 bool_t NextHalf;
 bool_t NextSign;
 
 uint32_t* FlushCache;  //鏈嬌鐢?br> void* CharConvertUTF8; //鏈嬌鐢?br> void* CharConvertCustom; //鏈嬌鐢?br> int CustomCodePage;  //鏈嬌鐢?br> void* CharConvertAscii; //鏈嬌鐢?br> void* Application;
 void* Logger;    //鏈嬌鐢?br> bool_t KeepDisplay;  //鏄惁淇濇寔鑳屽厜闀夸寒
 int DisableOutOfMemory; //鏈嬌鐢?/p>

} context;
鏍稿績妯″潡涓婁笅鏂囨寚閽堝彲浠ラ氳繃鍏ㄥ眬鍑芥暟鑾峰緱context* Context();
鍒濆鍖栦笂涓嬫枃瀵硅薄鐨勫叏灞鍑芥暟鏄痓ool_t Context_Init(const tchar_t* Name,const tchar_t* Version,int Id,const tchar_t* CmdLine,void* Application);鍏朵腑Name鍙傛暟涓哄簲鐢ㄧ▼搴忓悕縐幫紝Version涓虹増鏈俊鎭瓧絎︿覆銆?br>閲婃斁涓婁笅鏂囧璞$殑鍏ㄥ眬鍑芥暟鏄痸oid Context_Done();銆?br>void Context_Wnd(void*);鍑芥暟灝嗚棰戞挱鏀劇獥鍙e彞鏌勫垵濮嬪寲緇欒澶囦笂涓嬫枃銆?/p>

鍔熻兘妯″潡鍖呭惈瀹氫箟瀵硅薄鍜屾暟鎹璞★紝瀹氫箟瀵硅薄鎻忚堪鍔熻兘妯″潡鐩鎬簰闂寸殑閫昏緫緇撴瀯錛屾暟鎹璞¤褰曟ā鍧楀睘鎬у拰鏂規(guī)硶銆?br>鎵鏈夌殑鍔熻兘妯″潡緇撴瀯鎸変竴涓爲(wèi)鐘剁粨鏋勬潵緇勭粐錛岀粨鏋勫叧緋誨涓嬶紝NODE鏄暣涓粨鏋勭殑鏍圭粨鐐癸紝鍏朵笅涓哄瓙鑺傜偣錛岃妭鐐規(guī)寜綾誨瀷鍙垎涓哄疄鑺傜偣錛屽叏灞鑺傜偣錛岃緗妭鐐癸紝鎶借薄鑺傜偣銆?br>#define CF_SIZE   0x00FFFFFF
#define CF_GLOBAL  0x01000000
#define CF_SETTINGS  0x02000000
#define CF_ABSTRACT  0x08000000
鎶借薄鑺傜偣娌℃湁瀵瑰簲鐨勫璞″疄渚嬶紝綾諱技C++鐨勬娊璞″熀綾伙紝涓轟簡鎸夌収閫昏緫鍏崇郴緇勭粐緋葷粺緇撴瀯鑰屽瓨鍦紝渚嬪NODE灝辨槸鎶借薄鑺傜偣銆傚叏灞鑺傜偣鍏ㄥ眬鍙湁涓涓璞$殑瀹炰緥錛屽鎾斁鎺у埗妯″潡PLAYER_ID銆傝緗妭鐐硅〃紺哄拰緋葷粺鎾斁璁劇疆鐩稿叧錛屾瘮濡傚0闊沖潎琛″櫒妯″潡EQUALIZER_ID錛岄鑹叉帶鍒舵ā鍧桟OLOR_ID銆傚疄鑺傜偣涓庢娊璞¤妭鐐逛笉鍚岋紝鎸囧彲浠ョ敓鎴愬璞″疄渚嬬殑鑺傜偣錛屽疄鑺傜偣娌℃湁鐗規(guī)畩鏍囪瘑錛屼竴鑸互鏁版嵁瀵硅薄鍗犵敤鍐呭瓨澶у皬琛ㄧず鏄惁鏄竴涓疄鑺傜偣錛屽垱寤鴻妭鐐規(guī)椂瑕佹牴鎹淇℃伅鍒嗛厤鍐呭瓨鍗曞厓錛屽疄鑺傜偣涔熷彲浠ユ湁瀛愯妭鐐癸紝渚嬪錛歁MS_ID鐨勭埗鑺傜偣鏄疕TTP_ID銆傚叏灞鑺傜偣錛岃緗妭鐐瑰拰瀹炶妭鐐瑰彲浠ョ浉浜掔粍鍚堬紝姣斿鎾斁鎺у埗鑺傜偣鍚屾椂鏄叏灞鑺傜偣錛岃緗妭鐐瑰拰瀹炶妭鐐廣傝妭鐐瑰悕縐板悗甯ID鐨勫氨鏄疄鑺傜偣錛屽惁鍒欏氨鏄娊璞¤妭鐐廣?/p>

    NODE 錛堟牴鑺傜偣錛?br>    鈹溾攢FLOW 錛堟祦鎺у埗妯″潡錛?br>    鈹?nbsp; 鈹溾攢CODEC 錛堣В鐮佹ā鍧楋級
    鈹?nbsp; 鈹?nbsp; 鈹溾攢EQUALIZER_ID 錛堝0闊沖潎琛″櫒妯″潡錛?br>    鈹?nbsp; 鈹?nbsp; 鈹溾攢VBUFFER_ID 錛堣棰戠紦鍐叉ā鍧楋級
    鈹?nbsp; 鈹?nbsp; 鈹溾攢DMO 錛圖irectX Media Object錛?br>    鈹?nbsp; 鈹?nbsp; 鈹?nbsp; 鈹溾攢WMV_ID
    鈹?nbsp; 鈹?nbsp; 鈹?nbsp; 鈹溾攢WMS_ID
    鈹?nbsp; 鈹?nbsp; 鈹?nbsp; 鈹溾攢WMVA_ID
    鈹?nbsp; 鈹?nbsp; 鈹?nbsp; 鈹溾攢WMA_ID
    鈹?nbsp; 鈹?nbsp; 鈹?nbsp; 鈹斺攢WMAV_ID
    鈹?nbsp; 鈹?nbsp; 鈹溾攢FFMPEG VIDEO 錛團FMpeg 瑙g爜妯″潡錛?br>    鈹?nbsp; 鈹?nbsp; 鈹斺攢LIBMAD_ID 錛圠ibmad Mp3瑙g爜妯″潡錛?br>    鈹?nbsp; 鈹溾攢OUT 錛堜俊鍙鋒覆鏌撴ā鍧楋級
    鈹?nbsp; 鈹?nbsp; 鈹溾攢AOUT 錛堥煶棰戜俊鍙鋒覆鏌擄級
    鈹?nbsp; 鈹?nbsp; 鈹?nbsp; 鈹溾攢NULLAUDIO_ID
    鈹?nbsp; 鈹?nbsp; 鈹?nbsp; 鈹斺攢WAVEOUT_ID
    鈹?nbsp; 鈹?nbsp; 鈹斺攢VOUT 錛堣棰戜俊鍙鋒覆鏌擄級
    鈹?nbsp; 鈹?nbsp;     鈹溾攢NULLVIDEO_ID
    鈹?nbsp; 鈹?nbsp;     鈹斺攢OVERLAY
    鈹?nbsp; 鈹溾攢IDCT 錛堢鏁d綑寮﹁В鐮佹ā鍧楋級
    鈹?nbsp; 鈹?nbsp; 鈹斺攢SOFTIDCT_ID
    鈹?nbsp; 鈹斺攢CODECIDCT錛堢鏁d綑寮﹁В鐮佹ā鍧楋紝鍑芥暟姣擨DCT瑕佸皯錛?br>    鈹?nbsp;     鈹斺攢MPEG1_ID
    鈹溾攢MEDIA 錛堝獟浣撴枃浠舵牸寮忕紪鐮佽В鏋愭ā鍧楋級
    鈹?nbsp; 鈹溾攢FORMAT 錛堟牸寮忚В鏋愭ā鍧楋級
    鈹?nbsp; 鈹?nbsp; 鈹斺攢FORMATBASE
    鈹?nbsp; 鈹?nbsp;     鈹溾攢RAWAUDIO
    鈹?nbsp; 鈹?nbsp;     鈹?nbsp; 鈹斺攢MP3_ID
    鈹?nbsp; 鈹?nbsp;     鈹溾攢RAWIMAGE
    鈹?nbsp; 鈹?nbsp;     鈹溾攢ASF_ID
    鈹?nbsp; 鈹?nbsp;     鈹溾攢AVI_ID
    鈹?nbsp; 鈹?nbsp;     鈹溾攢MP4_ID
    鈹?nbsp; 鈹?nbsp;     鈹溾攢MPG_ID
    鈹?nbsp; 鈹?nbsp;     鈹溾攢NSV_ID
    鈹?nbsp; 鈹?nbsp;     鈹斺攢WAV_ID
    鈹?nbsp; 鈹溾攢PLAYLIST 錛堟挱鏀懼垪琛ㄦā鍧楋級
    鈹?nbsp; 鈹?nbsp; 鈹溾攢ASX_ID
    鈹?nbsp; 鈹?nbsp; 鈹溾攢M3U_ID
    鈹?nbsp; 鈹?nbsp; 鈹斺攢PLS_ID
    鈹?nbsp; 鈹斺攢STREAMPROCESS 錛堟暟鎹祦澶勭悊妯″潡錛?br>    鈹溾攢STREAM 錛堟暟鎹緭鍏ユā鍧楋級
    鈹?nbsp; 鈹溾攢MEMSTREAM_ID 錛堝唴瀛樻暟鎹祦妯″潡錛?br>    鈹?nbsp; 鈹溾攢FILE_ID 錛堟枃浠禝O妯″潡錛?br>    鈹?nbsp; 鈹斺攢HTTP_ID 錛堢綉緇滄暟鎹幏鍙栨ā鍧楋級
    鈹溾攢TIMER 錛堝畾鏃跺櫒妯″潡錛?br>    鈹?nbsp; 鈹斺攢SYSTIMER_ID
    鈹溾攢ASSOCIATION_ID 錛堟枃浠舵墿灞曞悕鑷姩鍏寵仈妯″潡錛?br>    鈹溾攢ADVANCED_ID 錛堥珮綰ц緗ā鍧楋級
    鈹溾攢COLOR_ID 錛堥鑹叉帶鍒舵ā鍧楋級
    鈹溾攢PLATFORM_ID 錛堝鉤鍙頒俊鎭ā鍧楋級
    鈹溾攢XSCALEDRIVER_ID 錛圛ntel XScale CPU 淇℃伅妯″潡錛?br>    鈹溾攢PLAYER_ID 錛堟挱鏀炬帶鍒舵ā鍧楋級
    鈹斺攢PLAYER_BUFFER_ID 錛堟挱鏀劇紦鍐叉ā鍧楋級
   
    鑺傜偣鏍?wèi)鐘毒l撴瀯鐢辮嫢騫蹭釜闈欐佸畾涔夊璞?nodedef)瀹炰緥瀹炵幇錛?br>        typedef struct nodedef
  {
   int    Flags;
   int    Class;
   int    ParentClass;
   int    Priority;
   nodecreate  Create;
   nodedelete  Delete;
  } nodedef;
 Flags琛ㄧず褰撳墠鑺傜偣鐨勭被鍨嬶細鎶借薄銆佸疄鑺傜偣銆佸叏灞銆佽緗?br> Class琛ㄧず褰撳墠鑺傜偣鐨勬爣璇嗭紝濡侻EDIA_CLASS鎴朅SF_ID絳夌瓑銆?br> ParentClass琛ㄧず褰撳墠鑺傜偣鐨勭埗鑺傜偣鏍囪瘑錛屽SYSTIMER_ID瀵硅薄鐨勭埗鑺傜偣鏄疶IMER_CLASS銆?br> Priority琛ㄧず褰撳墠鑺傜偣浼樺厛綰с?br> Create鍜孌elete鏄袱涓嚱鏁版寚閽堬紝琛ㄧず璇ヨ妭鐐圭殑鍒涘緩鍑芥暟鍜岄攢姣佸嚱鏁般?br> 濡傛挱鏀炬帶鍒舵ā鍧楃殑緇撴瀯瀹氫箟鏄?br> static const nodedef Player =
 {
  sizeof(player_base)|CF_GLOBAL|CF_SETTINGS,
  PLAYER_ID,
  NODE_CLASS,
  PRI_MAXIMUM+600,
  (nodecreate)Create,
  (nodedelete)Delete,
 };
 
 緇濆ぇ澶氭暟鑺傜偣閮芥湁涓涓搴旂殑鏁版嵁瀵硅薄錛岃褰曡鑺傜偣鐨勬暟鎹拰鏂規(guī)硶錛屾瘡涓涓瓙鑺傜偣瀵硅薄閮芥槸浠ョ埗鑺傜偣瀵硅薄浣滀負璇ヨ妭鐐逛竴涓厓绱狅紝綾諱技C++鐨勫皝瑁呯戶鎵挎満鍒躲傚鏋滃瓙鑺傜偣鐨勭埗鑺傜偣娌℃湁鏁版嵁瀵硅薄錛岃鑺傜偣鍙互浠巒ode鑺傜偣鐩存帴緇ф壙銆傛瘡涓涓妭鐐歸兘鍙互鐪嬫垚Node鑺傜偣鐨勭洿鎺ユ垨闂存帴瀛愯妭鐐癸紝鎵浠ユ墍鏈夎妭鐐瑰ご浠ヤ竴涓浉鍚岀殑node緇撴瀯寮澶達紝瀛愯妭鐐瑰彲鑳借繕鏈夎嚜宸辯殑灞炴э紝鍦ㄧ戶鎵跨埗瀵硅薄鍚庡氨鏄瓙鑺傜偣鑷繁鐨勫厓绱犮?br>    typedef struct node
 {
  int   Class;
  nodeenum Enum;
  nodeget  Get;
  nodeset  Set;
 } node;
 Class琛ㄧず璇ュ璞$殑鏍囪瘑錛屽PLAYER_ID銆?br> Enum鏄竴涓嚱鏁版寚閽堬紝鎸囧悜涓涓嚱鏁扮敤浜庢灇涓懼綋鍓嶈妭鐐圭殑灞炴с?br> Get鏄竴涓嚱鏁版寚閽堬紝寰楀埌褰撳墠鑺傜偣鏌愪竴灞炴у箋?br> Set鏄竴涓嚱鏁版寚閽堬紝璁劇疆褰撳墠鑺傜偣鐨勬煇涓灞炴ф暟鍊箋?br> 
 鑺傜偣鐨勫睘鎬у兼暟鎹壒鎬у湪涓涓猻tatic const datatable xxxParams[] = {……};鐨勯潤鎬佹暟緇勯噷瀹氫箟銆?br> typedef struct datatable
 {
  int No;
  int Type;
  int Flags;
  int Format1;
  int Format2;
 } datatable;
 
 No琛ㄧず灞炴х殑鏍囪瘑錛屽鎾斁鎺у埗妯″潡鐨?define PLAYER_PLAY 0x32 灝辮〃紺烘帶鍒舵挱鏀懼櫒鎾斁鎴栨殏鍋溿?br> Type琛ㄧず灞炴х殑鏁版嵁綾誨瀷錛屽彲鐢ㄥ煎湪node.h涓畾涔夈?br> Flags鏄睘鎬ф暟鎹殑鏍囧織錛岃〃紺鴻鏁版嵁鏄笉鏄彧璇繪暟鎹紝鏄惁鏈夋渶澶ф渶灝忓肩瓑絳夛紝鍙敤鍊煎湪node.h涓畾涔夛紝濡傛灉璇ユ爣蹇楀寘鍚獶F_SETUP鍚屾椂涓嶅寘鍚獶F_NOSAVE鍜孌F_RDONLY灞炴э紝璇ュ睘鎬т細琚褰曞湪娉ㄥ唽琛ㄤ腑錛屼笅嬈″惎鍔ㄦ椂鐢ㄦ敞鍐岃〃鐨勬暟鎹垵濮嬪寲璇ュ睘鎬с?br> Format1鍜孎ormat2鏄彲閫夋爣蹇椾笌Flags閰嶅悎浣跨敤錛屾瘮濡傚鏋淔lags琛ㄧず璇ュ睘鎬у瓨鍦ㄦ渶澶ф渶灝忓鹼紝Format1鍜孎ormat2鍙互鍒嗗埆琛ㄧず鏈灝忓拰鏈澶ф暟鍊箋?br> 
 鍦ㄥ湪緋葷粺涓婁笅鏂囧璞′腑鏈変袱涓厓绱犺褰曡妭鐐逛俊鎭痑rray Node;鍜宎rray NodeClass;錛宎rray鏄暟緇勬暟鎹被鍨嬶紝Node鏄妭鐐規(guī)暟鎹璞$殑鏁扮粍錛孨odeClass鑺傜偣瀵硅薄鐨勬暟緇勶紝鎸夌収緋葷粺閫昏緫鍏崇郴緇勭粐銆?br> 鍒涘緩鑺傜偣鏃朵紶鍏odedef瀵硅薄鍒拌妭鐐瑰垱寤哄嚱鏁幫紝鍑芥暟浼氭牴鎹畁odedef淇℃伅鐢熸垚瀵瑰簲nodeclass瀵硅薄娣誨姞鍒癗odeClass鏁扮粍錛屽悓鏃舵牴鎹畁odedef淇℃伅鍒嗛厤鏁版嵁瀵硅薄鐨勫唴瀛樼┖闂淬傚湪璇ヨ妭鐐圭殑Create鍑芥暟閲岄潰鍐嶅垵濮嬪寲璇ヨ妭鐐圭殑鏁版嵁瀵硅薄銆?/p>

鍦ㄦ墍鏈夊姛鑳芥ā鍧椾腑鍜岀晫闈㈠姞浜や簰鐨勪富瑕佸氨鏄挱鏀炬帶鍒舵ā鍧梥truct node* Player;浣跨敤鏂規(guī)硶濡備笅錛?br>context* p = Context();
player* myplayer = NULL;
if(p) myplayer = (player*)(p->Player);
鎺у埗鎾斁鍙傛暟浣跨敤Set(void* This,int No,const void* Data,int Size);鍑芥暟錛岀涓涓弬鏁版槸鎾斁妯″潡鎸囬拡錛岀浜屼釜鍙傛暟鏄帶鍒朵唬鐮侊紝鍗寵榪涜浠涔堟搷浣滐紝絎笁涓弬鏁版槸闇瑕佽祴鍊肩粰鎺у埗浠g爜鐨勬暟鍊鹼紝鏈鍚庝竴涓弬鏁版槸鎵璧嬫暟鍊肩殑鍗犵敤鍐呭瓨鐨勫ぇ灝忋?br>渚嬪寮濮嬫挱鏀劇殑浠g爜鏄細
myplayer->Set(myplayer,PLAYER_PLAY,1,sizeof(int));
PLAYER_PLAY涓烘帶鍒朵唬鐮侊紝琛ㄧず褰撳墠鎺у埗鐨勬槸鎾斁鏆傚仠鍔熻兘錛屾暟鍊間負1琛ㄧず鎾斁涓?琛ㄧず鏆傚仠銆?br>寰楀埌鏌愪竴鎺у埗灞炴т嬌鐢℅et(void* This,int No,void* Data,int Size);鍑芥暟錛屽弬鏁板惈涔夊拰Set鍑芥暟鐩稿悓銆?br>鎺у埗浠g爜鏄竴緇勫畯錛屽畾涔夊湪player.h鏂囦歡涓傛瘮杈冮噸瑕佺殑鎺у埗鍙傛暟鏈?br>// play or pause (bool_t)
#define PLAYER_PLAY   0x32
// position in fraction (fraction)
#define PLAYER_PERCENT  0x25
// position in time (tick_t)
#define PLAYER_POSITION  0x28
// current format (format*)
#define PLAYER_FORMAT  0x2B
// current file in playlist (int)
#define PLAYER_LIST_CURRENT 0x2F
// current file index (suffled) in playlist (int)
#define PLAYER_LIST_CURRIDX 0xA2
// fullscreen mode (bool_t)
#define PLAYER_FULLSCREEN 0x3E
// stop
#define PLAYER_STOP   0xB2
// skin viewport rectangle (rect)
#define PLAYER_SKIN_VIEWPORT 0x3C
鎾斁鎺у埗妯″潡鎵鏈夊彲鐢ㄥ弬鏁拌static const datatable PlayerParams[]緇撴瀯銆?/p>

娣誨姞涓涓獟浣撴枃浠跺埌鎾斁妯″潡浣跨敤int PlayerAdd(player* Player,int Index, const tchar_t* Path, const tchar_t* Title);
絎竴涓弬鏁頒負鎾斁妯″潡鎸囬拡錛岀浜屼釜鍙傛暟鏄坊鍔犲埌鎾斁妯″潡鏂囦歡闃熷垪鐨勫簭鍙鳳紝濡傛灉鏄嬌鏂囦歡鎴愪負絎竴涓枃浠惰鍙傛暟璁句負0錛岀涓変釜鍙傛暟鏄獟浣撴枃浠剁殑鐩綍鍜屽悕縐幫紝絎洓涓弬鏁頒負濯掍綋鏂囦歡鏍囬錛岃鍙傛暟鍙互蹇界暐銆?/p>

鏍稿績妯″潡涔熺鐞嗗璇█瀛楃涓詫紝浣跨敤鍑芥暟const tchar_t* LangStr(int Class, int Id);鍜宑onst tchar_t* LangStrDef(int Class, int Id)鍙互寰楀埌瀵瑰簲瀛楃涓詫紝緋葷粺瀛楃涓茶祫婧愭湁涓ょ錛屾爣鍑嗗瓧絎︿覆鍜岀壒孌婂瓧絎﹂泦瀛楃涓層傛爣鍑嗗瓧絎︿覆璧勬簮鏂囦歡鏄伐紼嬬洰褰曚笅鐨刲ang_std.txt鏂囦歡錛岃鏂囦歡瀛楃涓蹭負ASCII瀛楃錛屽彲涓庡叾浠栦唬鐮侀〉瀛楃鍏煎銆傝鏂囦歡璁板綍鐨勬槸鏍稿績妯″潡榪愯鏃墮渶瑕佷嬌鐢ㄧ殑瀛楃涓詫紝Decode鍜孲plite妯″潡鍙互澶勭悊鐨勭紪鐮佹牸寮忓拰鏂囦歡鏍煎紡涔熷湪榪欎釜鏂囦歡涓褰曪紝渚嬪lang_std.txt鏂囦歡涓殑
MP3_0001=audio/mpeg
MP3_0002=mp1:A;mp2:A;mp3:A;mpa:A
MP3_0200=acodec/0x0055
綰綍浜哅P3鏂囦歡鍒嗙鍣ㄥ搴旂殑鏂囦歡綾誨瀷銆佹墿灞曞悕鍜屾枃浠剁壒寰佺爜銆?br>瑕佸緱鍒版爣鍑嗗瓧絎︿覆浣跨敤鍑芥暟LangStrDef錛岀涓涓弬鏁拌〃紺哄瓧絎︾被鍒紝絎簩涓弬鏁拌〃紺哄瓧絎D銆傜晫闈㈢浉鍏崇殑鏄壒孌婂瓧絎﹂泦鐨勫瓧絎︿覆錛屼嬌鐢ㄥ嚱鏁癓angStr錛岀涓涓弬鏁拌〃紺哄瓧絎︾被鍒紝絎簩涓弬鏁拌〃紺哄瓧絎D銆傚叧浜庡瓧絎︿覆璧勬簮鏂囦歡緇撴瀯鍚箟灝嗗湪浠ュ悗鐨勬枃妗d腑璇存槑銆?a >http://blog.csdn.net/navi_dx/archive/2007/11/14/1885780.aspx



闆跺畤 2007-11-23 10:28 鍙戣〃璇勮
]]>
浠g爜涔﹀啓緇嗚妭http://m.shnenglu.com/kuronca/archive/2007/08/28/31048.html闆跺畤闆跺畤Tue, 28 Aug 2007 12:36:00 GMThttp://m.shnenglu.com/kuronca/archive/2007/08/28/31048.htmlhttp://m.shnenglu.com/kuronca/comments/31048.htmlhttp://m.shnenglu.com/kuronca/archive/2007/08/28/31048.html#Feedback0http://m.shnenglu.com/kuronca/comments/commentRss/31048.htmlhttp://m.shnenglu.com/kuronca/services/trackbacks/31048.html濂戒箙錛屾病鏉ヨ繖閲屽啓浜涗粈涔堜簡銆傝繖涓や釜鏈堜竴鐩村繖鐫宸ヤ綔錛屼粖澶╁拷鐒墮棽涓嬫潵錛屾兂鎯蟲妸榪欎袱涓湀紕板埌鐨勪竴浜涚粏鑺傞棶棰樹笌澶у鍏變韓涓嬨傚ソ錛岃佹牱瀛愬厛鐪嬫浠g爜:
鍦ㄨ創(chuàng)浠g爜鍓嶏紝鎴戝厛鍋氫釜澹版槑錛氫唬鐮佸湪windows騫沖彴涓嬭繍琛屻傚仛UI鐨勬湅鍙嬬粡甯哥敤鍒癉rawText()榪欎釜API錛屽畠閲岄潰鏈変釜鍙傛暟鏄叧浜庢枃瀛楀榻愭柟寮忕殑. 鎴戜滑鍐欐帶浠惰緭鍑轟俊鎭椂錛岄兘鑰冭檻澧炲姞榪欎箞綾誨瀷鐨勫彉閲忔潵鎺у埗鏂囧瓧淇℃伅杈撳嚭錛屾渶鍏稿瀷鐨勫氨鏄寜閽備竴鑸儏鍐典笅錛屾垜浠棤闇媯嫻嬭鍙橀噺錛岀洿鎺ュ紩鐢ㄥ氨濂姐備絾鏈夋椂鍊欎負浜嗚鐣岄潰鏇翠漢鎬у寲錛屾垜浠渶瑕佹嫻嬭鍙橀噺錛屽茍鍋氫簺璋冩暣銆傚ソ錛岀幇鍦ㄧ湅榪欐浠g爜錛?br> 瀹冩牴鎹榻愬睘鎬ф槸鍚﹀寘鍚?DT_LEFT錛岃屽仛涓浜涘伐浣?br>void OnPaint()
{
      銆傘傘傘傘傘傘?br>      銆傘傘傘傘傘傘?br>
      if(  m_uAlign  &  DT_LEFT )                                                      //浠g爜 孌?1
            DoA();
      else
            DoB();

      if( m_uAlign  &  DT_LEFT  ==  DT_LEFT )                              //浠g爜 孌?nbsp;2
            DoA();
      else
            DoB();

      if( (m_uAlign  &  DT_LEFT ) ==  DT_LEFT )                            //浠g爜 孌?nbsp;3
            DoA();
      else
            DoB();

      銆傘傘傘傘傘傘?br>}

涓婇潰涓変釜浠g爜孌電殑鎵ц榪囩▼涓猴細1錛氭案榪滄墽琛?DoB() 鍑芥暟浣擄紱
  2錛氬鏋?m_uAlign 鏈鏈綅鏄浂 錛屽垯鎵ц DoB()鍑芥暟浣?   鍚﹀垯鍒欐墽琛?DoA()鍑芥暟浣擄紱

3錛氬彧瑕?m_uAlign 鍖呭惈 鏍囧織浣?DT_LEFT 錛屽垯鎵ц DoA()鍑芥暟浣?   鍏朵粬鍒欐墽琛?DoB()鍑芥暟浣擄紱

 璨屼技錛?鍜? 閮戒笉鏄垜浠兂瑕佺殑銆傚彧鏈?鏄紜殑銆傞犳垚榪欑鐜拌薄鐨勫師鍥犳槸浠涔堬紵
1錛?nbsp; 榪欎釜涓嶅鏄撴煡鍑烘潵錛屾垜浠竴璐殑鍐欐硶閮借繖鏍鋒庝箞浼氫笉瀵瑰憿錛?鍏跺疄錛屾垜浠湅鐪嬩粬鐨勫畾涔夊氨鐭ラ亾浜?#define DT_LEFT  0x00000000 
        鍛靛懙錛岀紭鐢卞嚭鏉ヤ簡錛?br>2 錛氭湁浜? 錛? 灝辨洿綆鍗曚簡錛屽氨鏄繍綆楃浼樺厛綰х殑闂錛?br>3錛涙紜紱瀹冩紨紺轟簡鑹ソ鐨勪唬鐮侀鏍鹼紱

鎬葷粨錛屽叾瀹炶繖涓嶇畻澶ч棶棰橈紝閮芥槸緇嗚妭涓婄殑闂銆傚彲鏄粏鑺備笂鐨勯棶棰橈紝寰寰鏄渶涓嶅鏄撳療瑙夌殑錛屽氨綆椾綘鍙戠幇闂錛屽彲鏄兂瀵逛唬鐮佹鐨勫畾浣嶆洿鏄洶闅撅紝浠栦滑鏄殣褰㈢殑铏瓙銆備負姝わ紝鎴戜滑鏈夊繀瑕佸吇鎴愯壇濂界殑浠g爜涔﹀啓涔犳儻鍜岄鏍箋傚浠婂ぉ閬囧埌鐨勯棶棰橈紝鎴戞葷粨涓ゆ潯錛?br>a)  鍦ㄨ繘琛屼綅鏍囧織媯嫻嬫椂錛屼竴瀹氳灝嗘嫻嬬粨鏋滀笌鍘熷兼瘮杈冿紱
b) 鍦ㄤ綘涓嶇‘瀹氳繍綆楃鐨勪紭鍏堢駭鏃訛紝璇蜂竴瀹氳鐢ㄦ嫭鍙鋒嫭璧鋒潵錛?br>浠婂ぉ錛屽氨鍐欓亾榪欓噷銆傚笇鏈涜繖涓ゆ潯瀵瑰ぇ瀹舵湁甯姪銆備互鍚庣鍒扮被浼奸棶棰橈紝鑳芥兂鍒板氨濂斤紒

闆跺畤 2007-08-28 20:36 鍙戣〃璇勮
]]>
WTL ---Good Boy!http://m.shnenglu.com/kuronca/archive/2007/05/30/25132.html闆跺畤闆跺畤Wed, 30 May 2007 08:44:00 GMThttp://m.shnenglu.com/kuronca/archive/2007/05/30/25132.htmlhttp://m.shnenglu.com/kuronca/comments/25132.htmlhttp://m.shnenglu.com/kuronca/archive/2007/05/30/25132.html#Feedback0http://m.shnenglu.com/kuronca/comments/commentRss/25132.htmlhttp://m.shnenglu.com/kuronca/services/trackbacks/25132.html      鍞夛紝璇存潵鎯劎銆傝寰楀湪鍓嶉潰璇磋繃錛屾墦綆楀湪浜斾竴鏈熼棿鐮旂┒涓婸PC涓婃庝箞緇欑▼搴忔崲鑲わ紝緇撴灉璁″垝涓嶅鍙樺寲錛氭嫓瑙佹湭鏉ョ殑宀崇埗宀蟲瘝鑺變簡3澶╋紝鍚屽緇撳鑺變簡涓澶┿傚洖鏉ュ悗錛屼篃娌″暐蹇冩濇悶浜嗭紝涓嶈繃澶ф榪樻槸鐭ラ亾浜涗笢瑗褲傝閫氳繃hook鎶鏈揪鍒版崲鑲ょ殑鏂規(guī)硶錛岃繕鏄瘮杈冨洶闅懼湴鍟娿傚ソ浜嗭紝榪囧幓鐨勪笉璇翠簡銆備笉榪囷紝浠ュ悗鎴戞湁鏈轟細榪樻槸浼氱戶緇悶鎼烇紙鐜伴樁孌墊噦鐨勮繕鏄皯鍟婏級銆?br> 
      鐜板湪鍒囧叆姝i錛歐TL 銆備粈涔堟槸WTL錛焀TL 鐨勫叏縐頒負 Windows Template Library錛?鏄井杞疉TL寮鍙戠粍鎴愬憳Nenad Stefanovic鍏堢敓鍦?span style="COLOR: red">ATL Windowing鏈哄埗涓婂彂灞曡搗鏉ョ殑涓鏁村GUI妗嗘灦銆傚畠榪愮敤妯℃澘錛坱emplate錛夋妧鏈?/span>緇勭粐鍜屽垱寤篏UI瀵硅薄錛屾瀯鎴愪簡綺懼埗鐨勯潰鍚戝璞℃鏋訛紝浣塊潰鍚戝璞′笌妯℃澘杈炬垚浜嗙簿鍒剁殑铻嶅悎銆?br>
      涓婇潰灝辨槸WTL鐨勫畾涔夛紝鍑嗙‘鍦版弿榪頒簡浠涔堟槸WTL銆傝娉ㄦ剰鎴戠敤綰㈣壊鏍囪鐨勪袱涓湴鏂癸紝閭e彲浠ヨ鏄疻TL鐨勭簿楂撱傞鍏堬紝W(xué)TL鍏跺疄鍩轟簬ATL鐨勶紝瀹冩槸ATL闈㈠悜GUI緙栫▼鐨勬墿灞曪紱鍏舵錛學(xué)TL榪愮敤妯℃澘鎶鏈紝榪欐牱鏋勫緩鐨勭▼搴忕簿鑷寸煭灝忋?br>
       闇瑕佹寚鍑虹殑鏄疻TL鐩墠涓嶈寰蔣瀹樻柟鏀寔涔熸病鏈夊紑鍙戞枃妗o紝涓嶈繃鑳藉鍦ㄥ叾瀹樻柟緗戠珯涓嬪埌sdk銆俉TL璨屼技鍦ㄦ皯闂撮潪甯稿彈嬈㈣繋錛岀敤榪囩殑浜洪兘璇村ソ, 鐢氳嚦鏈変漢璇翠細瓚呰繃MFC銆傜幇鍦ㄦ渶鏂扮増鐨刉TL鏄?.0 beta2鐗堬紝07騫?鏈?8鏃ユ墠鍙戝竷鐨勩?br> 
      瀵規(guī)瘮WTL鍜孧FC錛屼粬浠ぇ閮ㄥ垎鏄浉閫氱殑銆傚浜庝竴涓湁榪嘙FC緙栫▼緇忛獙鐨勪漢鏉ヨ錛岀啛鎮(zhèn)塛TL榪樻槸姣旇緝瀹規(guī)槗鐨勩備笅闈㈡槸浠栦滑鐨勬瘮杈?br>
Feature MFC WTL
Stand-alone library Yes No (built on ATL)
AppWizard support Yes Yes
ClassWizard support Yes No
Officially supported by Microsoft Yes No (Supported by volunteers inside MS)
Support for OLE Documents Yes No
Support for Views Yes Yes
Support for Documents Yes No
Basic Win32 & Common Control Wrappers Yes Yes
Advanced Common Control Wrappers (Flat scrollbar, IP Address, Pager Control, etc.) No Yes
Command Bar support (including bitmapped context menus) No (MFC does provide dialog bars) Yes
CString Yes Yes
GDI wrappers Yes Yes
Helper classes (CRect, Cpoint, etc.) Yes Yes
Property Sheets/Wizards Yes Yes
SDI, MDI support Yes Yes
Multi-SDI support No Yes
MRU Support Yes Yes
Docking Windows/Bars Yes No
Splitters Yes Yes
DDX Yes Yes (not as extensive as MFC)
Printing/Print Preview Yes Yes
Scrollable Views Yes Yes
Custom Draw/Owner Draw Wrapper No Yes
Message/Command Routing Yes Yes
Common Dialogs Yes Yes
HTML Views Yes Yes
Single Instance Applications No No
UI Updating Yes Yes
Template-based No Yes
Size of a statically linked do-nothing SDI application with toolbar, status bar, and menu 228KB +
MSVCRT.DLL (288KB)
24k (with /OPT:NOWIN98)
(+ MSVCRT.DLL if you use CString)
Size of a dynamically linked do-nothing SDI application with toolbar, status bar, and menu 24KB +
MFC42.DLL (972KB) +
MSVCRT.DLL (288KB)
N/A
Runtime Dependencies CRT (+ MFC42.DLL, if dynamically linked) None (CRT if you use CString)

        鍚浠嶹TL7.5寮濮嬫敮鎸丳PC涓婄紪紼嬶紝榪欏彲璁╂垜澶т負寮蹇冦傛湁鏈轟細璇曡瘯鐢╓TL鍦≒PC涓婂啓涓▼搴忋?/p>

闆跺畤 2007-05-30 16:44 鍙戣〃璇勮
]]>
鐢ㄦ埛灞備笅鎷︽埅緋葷粺api鐨勫師鐞嗕笌瀹炵幇 (杞澆) http://m.shnenglu.com/kuronca/archive/2007/04/28/23126.html闆跺畤闆跺畤Sat, 28 Apr 2007 09:23:00 GMThttp://m.shnenglu.com/kuronca/archive/2007/04/28/23126.htmlhttp://m.shnenglu.com/kuronca/comments/23126.htmlhttp://m.shnenglu.com/kuronca/archive/2007/04/28/23126.html#Feedback0http://m.shnenglu.com/kuronca/comments/commentRss/23126.htmlhttp://m.shnenglu.com/kuronca/services/trackbacks/23126.html闃呰鍏ㄦ枃

闆跺畤 2007-04-28 17:23 鍙戣〃璇勮
]]>
鍙堟槸涓騫粹滀簲涓榛勯噾鍛ㄢ?/title><link>http://m.shnenglu.com/kuronca/archive/2007/04/26/22868.html</link><dc:creator>闆跺畤</dc:creator><author>闆跺畤</author><pubDate>Thu, 26 Apr 2007 03:29:00 GMT</pubDate><guid>http://m.shnenglu.com/kuronca/archive/2007/04/26/22868.html</guid><wfw:comment>http://m.shnenglu.com/kuronca/comments/22868.html</wfw:comment><comments>http://m.shnenglu.com/kuronca/archive/2007/04/26/22868.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/kuronca/comments/commentRss/22868.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/kuronca/services/trackbacks/22868.html</trackback:ping><description><![CDATA[          鍙堟槸涓騫?#8220;浜斾竴榛勯噾鍛?#8221;錛?#8220;浜斾竴”涓鍒版劅瑙変竴騫村幓浜嗕竴鍗婏紝鏃墮棿椋為濆晩錛佸綋鍒濅篃涓嶇煡閬撹皝鎻愬嚭榪欎箞涓蹇碉紝鎼炲緱鍏ㄥ浗涓婁笅銆佺鍥藉悇鍦般佸ぇ姹熷崡鍖楅兘浜哄0榧庢哺錛岃濺姘撮┈榫欙紙涓嶇煡閬撴垚璇敤鐨勫涓嶏紵<img src="http://m.shnenglu.com/CuteSoft_Client/CuteEditor/images/emembarrassed.gif" align=absMiddle border=0>錛夊ソ涓媧劇箒鑽f櫙璞★紝榪欒鎴戞兂璧蜂竴涓瘮鍠伙細灝辮灝忔椂鍊欑殑椹渹紿濆惂錛屽鉤鏃剁湅涓嶅嚭鏉ラ┈铚傚錛屽彲鏄粡灝忓浠竴鎹i紦閭e嚭鏉ョ殑鍙槸榛戝帇鍘嬬殑涓鐗囥傛妸鍏ㄥ浗鍚岃優(yōu)姣斾綔椹渹鏄湁鐐逛笉鍚堥傚晩錛屾槸璋佸張鎶婂叏鍥藉悓鑳?yōu)缁欐崳榧撶殑鍑哄畨櫁ㄥQ?br><br>           鍞夛紝涓嶇閭d箞澶氫簡銆備互鍓嶅嚭鍘葷帺錛屽洖鏉ユ劅瑙夊氨鏄姳閽變拱緗彈錛岃繕瑕佸啋鐫琚漢楠楃殑椋庨櫓錛堣椋庨櫓鏈夌偣榪囦簡<img src="http://m.shnenglu.com/CuteSoft_Client/CuteEditor/images/emwink.gif" align=absMiddle border=0>錛夛紝鎵浠ヤ粖騫翠笉鍑戦偅浠界儹闂癸紝鑰佸疄鍦ㄥ鍛嗙潃銆?br><br>            璁″垝閮藉畾涓嬫潵錛氱戶緇爺絀朵簺涓撲笟鏂歸潰涓滀笢銆傚墠孌墊椂闂寸爺絀惰繃紼嬪簭鎹㈢毊鑲わ紝鍑嗗鎯蟲悶鍒癙PC涓婄湅鐪嬶紝璁㏄PC鐣岄潰鏇寸編瑙傘傜湅鍒頒笉灝戠殑鎹㈢毊鑲ゅぇ鑷村師鐞嗘槸錛氬厛璁鵑挬瀛愰挬浣忕晫闈富綰跨▼錛岀劧鍚庡湪鎺т歡鍒涘緩鐨勬椂鍊欐崟鎹夋帶浠訛紝鐒跺悗鍐嶅瓙綾誨寲銆傝繖涓湪PC涓婃病闂錛屽彲鏄埌PPC涓婄鍒板叧閿殑涓姝ヤ笉鑳藉疄鐜般傞偅灝辨槸PPC涓婁笉鏀寔閽╁瓙鍑芥暟錛岃繖灝辨垚涓轟竴涓ぇ鐨勯殰紕嶏細娌℃硶閽╀綇涓葷嚎紼嬶紝灝辨棤娉曞瓙綾誨寲銆傚師鏈兂榪囧湪App鐨凱reTranslateMessage涓繃婊ゅ瓙鎺т歡鐨剋m_create娑堟伅錛屼粠鑰屽疄鐜板瓙綾誨寲鍙槸澶辮觸浜嗐傛垜瑙夊緱瑙e喅闂鍏抽敭鏍稿績鏄細闄や簡閽╁瓙澶栵紝榪樻湁浠涔堟柟娉曡兘鍦ㄧ▼搴忔敹鍒版秷鎭墠鍔幏娑堟伅銆傝繖灝嗘槸鎴戝湪“浜斾竴榛勯噾鍛?#8221;涓昏鐮旂┒鐨勪笢涓滐紝涓嶈繃涓嶇煡閬撹嚜宸辮兘鍚︽垚鍔熴?br><br>          濡傛灉鎹㈢毊鑲ょ爺絀惰繘琛岄『鍒╃殑璇濓紝鍑嗗鎶婂墠孌墊椂闂村啓鐨?nbsp;鐢╫ledb 璁塊棶sqlmobile鏁版嵁鐨勭被瀹屽杽涓嬨傜幇鍦ㄨ繖浜涚被浠呬粎鎻愪緵浜嗗熀鏈搷浣滐紝鎵撶畻涓板瘜璁╄繖浜涚被鐨勬搷浣溿備笉榪囩敱浜庣縐嶅師鍥狅紝鎴戝皢涓嶆彁渚涙簮鐮侊紝鍒版椂鍊欏彲鑳戒互 dll褰㈠紡鎴栬卌om褰㈠紡鍙戝竷銆?br><br>          鏈鍚庤涓ゅ彞錛岀幇闃舵鍒跺畾璁″垝鏄繖鏍鳳紝鍒版椂鍊欎笉鐭ラ亾浼氭墽琛岀殑鎬庢牱錛熸湁澶涓嶅彲棰勭煡鍥犵礌錛屽弽姝e敖鍔涘惂錛?br>           <img src ="http://m.shnenglu.com/kuronca/aggbug/22868.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/kuronca/" target="_blank">闆跺畤</a> 2007-04-26 11:29 <a href="http://m.shnenglu.com/kuronca/archive/2007/04/26/22868.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Do What You think !http://m.shnenglu.com/kuronca/archive/2007/04/02/21097.html闆跺畤闆跺畤Mon, 02 Apr 2007 08:23:00 GMThttp://m.shnenglu.com/kuronca/archive/2007/04/02/21097.htmlhttp://m.shnenglu.com/kuronca/comments/21097.htmlhttp://m.shnenglu.com/kuronca/archive/2007/04/02/21097.html#Feedback5http://m.shnenglu.com/kuronca/comments/commentRss/21097.htmlhttp://m.shnenglu.com/kuronca/services/trackbacks/21097.html錛岃繕鏄瘺涓誨腑鐨勫摬瀛︽濇兂鍒嗘瀽鐨勯忓交錛氫簨鐗╃殑鍐呭洜涓誨浜嬬墿鐨勫彂灞曟柟鍚戯紒 錛夛紝涓鐩村鑷存兂娉曞緇堟病鑳借蛋鍑烘垜鐨勮剳鐡滅摐錛侊紒鐜板湪涓嶅悓鎷夛紝 鍥犱負鑴戠摐鐡滈噷闈㈠鎷変竴鏉℃柊鐨勬兂娉曪細Do What You think !錛?br>
       鍐欑涓綃囨枃绔狅紝瀹炲湪娌℃兂鍒板ソ鐨勬枃绔犳爣棰橈紒鍦ㄧ溂鐞冪幆杞睆騫曟椂錛岀湅鍒板崥瀹㈡爣棰橈紝wha錛燂紵鐢變簬鍒氬紑鍗氬澶叴濂嬶紵錛熻繖涔堝ソ鐨勪竴鍙ヨ瘽錛屾庝箞灝辨病鎯寵搗鏉ワ紒錛佹湅鍙嬶紝嬈㈣繋鏉ュ埌鎴戠殑鍗氬錛屾瘡嬈$殑鍒版潵璁╂垜浠竴璧?Do What You think !錛?br>
      鍏舵錛屽緢鑽e垢鍔犲叆榪欎釜澶у搴傚攭錛岃嚜宸辨枃絎斿疄鍦ㄤ笉濂斤紝濮嬬粓鎯充笉鍑烘潵鍐欎簺鍟ワ紒璁板緱浠ュ墠楂樹腑姣忔妯℃嫙鑰冿紝璇枃鎴戦兘榪涢粦鍚嶅崟錛?50鍒嗗嵎瀛愶紝70鍒嗛兘鎷夸笉鍒幫級錛岃繖孌靛疄鍦ㄥ啓涓嶅嚭鏉ワ紝灝辮繖涔堝噾鎴栧惂錛?br>
      鏈鍚庯紝璇磋鏍囬鐨勬剰鎬濓紝鍏跺疄涔熸病浠涔堟繁鍒葷殑鍚箟銆傚彧鏄繖鍙ヨ瘽錛岃鐫鍚у鎴戜綔鐢ㄦ弧澶х殑銆傛湁鎯蟲硶灝介噺鍘誨仛錛佺畝鍗曚笉? 鏍囬鎰忔濅篃瑙i噴娓呮浜嗭紝鎴戜篃璇ュ幓杞繪澗涓嬶紒

         do
         {
               if(you.HaveThink())
               {
                     you. DoThink();
               }
         }while( you.StillCanThink());

闆跺畤 2007-04-02 16:23 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              欧美精品系列| 久久激情五月丁香伊人| 欧美三级视频| 亚洲欧美精品在线观看| 午夜精品视频在线| 国产综合在线视频| 欧美高清在线观看| 欧美日本在线观看| 午夜精品剧场| 久久精选视频| 日韩视频亚洲视频| 亚洲影音先锋| 激情成人av| 亚洲人成网站精品片在线观看| 裸体一区二区| 亚洲午夜女主播在线直播| 亚洲免费影视第一页| 在线观看91精品国产麻豆| 亚洲欧洲精品一区二区精品久久久| 欧美三级午夜理伦三级中文幕| 久久av免费一区| 免费成人高清视频| 亚洲欧美日本日韩| 久久久五月婷婷| 亚洲天堂网在线观看| 欧美一区在线看| 99精品热视频只有精品10| 亚洲欧美国产精品专区久久| 亚洲大片av| 亚洲天堂av综合网| 1024国产精品| 亚洲天堂偷拍| 亚洲激情在线视频| 亚洲伊人伊色伊影伊综合网| 亚洲第一黄色| 亚洲在线网站| 亚洲精品一区二区三区福利| 午夜精品福利在线观看| 亚洲欧洲精品一区二区精品久久久| 亚洲午夜久久久| 亚洲韩国日本中文字幕| 亚洲在线免费观看| 亚洲精品永久免费| 欧美中文字幕精品| 亚洲婷婷免费| 美女露胸一区二区三区| 午夜视黄欧洲亚洲| 欧美大尺度在线| 久久精品观看| 欧美日韩一区二区三区在线 | 国产精品三上| 亚洲国产精品www| 国产一区在线播放| 一本色道久久88精品综合| 亚洲视频网在线直播| 国产精品视频免费一区| 亚洲福利电影| 精品二区久久| 亚洲欧美国产毛片在线| 一本久久综合亚洲鲁鲁五月天| 久久精品人人做人人爽| 亚洲欧美日韩国产另类专区| 欧美激情精品久久久久久变态| 久久夜精品va视频免费观看| 国产精品欧美日韩一区二区| 亚洲精品视频一区| 亚洲国产清纯| 久久久久久久高潮| 欧美在线视频日韩| 国产精品豆花视频| 亚洲精品在线视频观看| 亚洲国产精品一区二区第四页av| 欧美一区二区三区婷婷月色| 亚洲欧美另类在线观看| 欧美日韩成人在线观看| 亚洲福利视频网站| 亚洲第一精品久久忘忧草社区| 性欧美暴力猛交另类hd| 午夜精品久久久| 欧美日韩在线另类| 亚洲精品免费观看| 亚洲精品国产精品国自产观看浪潮| 欧美资源在线观看| 久久成人18免费观看| 国产精品视频观看| 国产精品99久久久久久有的能看 | 美女视频一区免费观看| 狂野欧美性猛交xxxx巴西| 国产一区在线免费观看| 午夜激情亚洲| 小处雏高清一区二区三区| 国产精品成人一区二区三区吃奶| 日韩一级在线观看| 宅男噜噜噜66一区二区| 欧美激情精品久久久六区热门| 欧美国产极速在线| 91久久久久| 欧美大片91| 亚洲国产欧美另类丝袜| 亚洲精品乱码久久久久久蜜桃麻豆 | 欧美成人dvd在线视频| 精品动漫3d一区二区三区免费版 | 亚洲国产电影| 麻豆精品在线播放| 欧美激情一区二区久久久| 亚洲国产激情| 欧美va亚洲va香蕉在线| 亚洲激情电影在线| 日韩香蕉视频| 欧美日一区二区三区在线观看国产免| 亚洲精选成人| 亚洲免费在线电影| 在线午夜精品| 国产亚洲网站| 久久久午夜精品| 欧美激情一区二区三区在线视频| 亚洲国产精品一区二区久| 欧美高清在线精品一区| 亚洲毛片一区二区| 亚洲综合色自拍一区| 国产精品成人aaaaa网站| 亚洲影院色无极综合| 久久久777| 亚洲第一在线综合在线| 欧美韩国在线| 中文亚洲字幕| 久久久久久自在自线| 亚洲电影av| 欧美激情精品久久久| 在线综合视频| 久久精品国语| 极品尤物一区二区三区| 久久影视精品| 亚洲免费观看在线观看| 欧美一级专区| 尤物精品国产第一福利三区 | 中文成人激情娱乐网| 国产精品网站在线| 久久精品综合| 日韩视频在线观看国产| 午夜欧美大尺度福利影院在线看| 国产日韩综合| 欧美成人dvd在线视频| 正在播放亚洲| 久久欧美中文字幕| 亚洲美女一区| 国产精品免费网站在线观看| 久久不射中文字幕| 亚洲国产成人久久综合一区| 亚洲性视频网址| 好吊一区二区三区| 欧美片在线观看| 性欧美暴力猛交另类hd| 亚洲国产精品成人va在线观看| 亚洲自拍电影| 亚洲成人在线网| 欧美吻胸吃奶大尺度电影| 欧美一区二视频在线免费观看| 亚洲电影免费观看高清完整版在线观看 | 亚洲尤物在线| 亚洲大片av| 国产精品视频导航| 欧美freesex交免费视频| 亚洲午夜在线观看| 欧美福利一区二区三区| 亚洲欧美日韩国产综合精品二区| 一区二区在线视频观看| 欧美三级网址| 美女脱光内衣内裤视频久久网站| 99亚洲精品| 欧美国产日韩在线| 亚洲综合导航| 亚洲国产精品va在线看黑人| 国产精品麻豆va在线播放| 免费人成网站在线观看欧美高清| 亚洲一区二区日本| 亚洲国产婷婷香蕉久久久久久99| 欧美诱惑福利视频| 在线视频精品| 亚洲高清不卡| 久久爱91午夜羞羞| 一本色道久久综合亚洲精品小说| 国内精品久久久久久| 国产精品成人v| 欧美高清一区| 久久久夜色精品亚洲| 亚洲永久在线| 亚洲免费不卡| 欧美激情成人在线视频| 欧美在线视频不卡| 一区二区三区视频在线观看| 黄色av成人| 国产精品女人网站| 欧美精品在线观看播放| 久久久久欧美| 欧美伊人久久大香线蕉综合69| 中文亚洲字幕| 日韩一区二区免费看| 亚洲福利免费| 欧美成人亚洲成人|