锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产一区91,久久国产精品毛片,欧美精品一区二区三区很污很色的http://m.shnenglu.com/dfghj44444/category/14884.html浠涔堥兘鎳備竴鐐癸紝鐢熸椿灝辨湁瓚d竴浜?/description>zh-cnWed, 06 Oct 2010 09:11:21 GMTWed, 06 Oct 2010 09:11:21 GMT60ZEND鍏徃鐨勪駭鍝佺嚎http://m.shnenglu.com/dfghj44444/archive/2010/10/06/128724.html鍙垜鑰佺帇鍚?/dc:creator>鍙垜鑰佺帇鍚?/author>Tue, 05 Oct 2010 16:10:00 GMThttp://m.shnenglu.com/dfghj44444/archive/2010/10/06/128724.htmlhttp://m.shnenglu.com/dfghj44444/comments/128724.htmlhttp://m.shnenglu.com/dfghj44444/archive/2010/10/06/128724.html#Feedback0http://m.shnenglu.com/dfghj44444/comments/commentRss/128724.htmlhttp://m.shnenglu.com/dfghj44444/services/trackbacks/128724.html11/09/2009

澶у悕榧庨紟鐨?a target="_blank" style="color: rgb(0, 68, 170); text-decoration: none; ">Zend鍏徃鍦↖T鐣岀殑鐭ュ悕搴︽槸涓璺鍗囧晩錛屽ス鏄痯hp鐨勫晢涓氬叕鍙革紝闅忕潃php鍦ㄧ紪紼嬭璦涓秺鏉ヨ秺澶氱殑琚嬌鐢紝鎹湰浜轟笉鐏甸氱殑娑堟伅錛岃嚜9鏈堜互鏉ワ紝php宸茬粡瓚呰秺C++鎺掑悕絎笁浜?/a>錛岃繖鐪熸槸涓涓尟濂嬩漢蹇冪殑娑堟伅錛屽綋鍒濋夋嫨鍋歱hp錛屾鏃舵鍒伙紝涔熻鎴戞劅鍒板間簡錛佸敖綆″姝わ紝浣犱笉寰椾笉鎵胯錛宲hp鑳芥嬁鍒扮涓夊悕鐨勫ソ鎴愮嘩錛屼竴瀹氭槸鏈夋垜鐨勮礎鐚殑~!!閭d箞鏈夋病鏈変竴澶╋紝php鑳藉仛鍒扮紪紼嬭璦涓殑澶存妸浜ゆ鍛紵鎴戞兂涓嶄細鐨勶紝濡傛灉浣犲湪鍝噷鐪嬪埌榪欎釜鎺掕姒滐紝閭e畠涓瀹氭槸涓嶆潈濞佺殑銆?/p>

OK錛岃█褰掓浼狅紝鍑轟簬寰堝鍚屽璁や負zend studio鏄畼鏂圭綉绔欑殑涓嶆紜鐭ワ紙涓昏琛ㄧ幇灝辨槸鍚戞垜绱㈠彇zend server,zend Guard鐨勬敞鍐岀爜錛夛紝鎴戝氨鏉ヨ璇磋繖涓獄end鍏徃濂瑰埌搴曟槸涓粈涔堜笢瑗匡紝鎴栬鎴戞妸鏍囬鏀規垚銆?span style="text-decoration: underline; ">zend鍏徃鐨勯偅浜涗簨鍎?/span>銆嬶紝澶ф鏇磋兘絎﹀悎涓浗浜虹殑闃呰涔犳儻銆傞『渚胯涓涓嬶紝zend studio鏄叕鐩婃ф皯闂寸珯鐐?/strong>銆?/p>

鐢變簬zend鍏徃鐨勪駭鍝佸拰php鏈夌潃緇濆鐨勫叧緋伙紝鐒惰屽叾姣忎釜浜у搧涔嬮棿绔熺劧涔熸湁榪欏崈涓濅竾緙曠殑鑱旂郴錛岃繖灝辨槸涓涓緢鍊煎緱縐伴亾鐨勪簨鎯呬簡錛岀敋鑷沖拰閲戝焊鐨勬渚犲皬璇存湁寮傛洸鍚屽伐涔嬪銆備笅闈㈡垜浠竴涓緄彣錛堟帓鍚嶄笉鍒嗗厛鍚庯紝浣唞end studio鎺掔涓涓級銆?span id="more-833">

1銆乑end Stduio

榪欐槸鎴戣涓簔end鍏徃鍞竴榪樻湁蹇呰瀛樺湪鐨勭湡姝e師鍥狅紝鎴戝帉鐑︿簡濯掍綋涓鎻愬埌zend studio灝辯収鏈縐戠殑閬撴瘮“涓涓薄鑾峰ぇ濂栫殑涓撲笟 PHP 闆嗘垚寮鍙戠幆澧冿紝鍏峰鍔熻兘寮哄ぇ鐨勪笓涓氱紪杈戝伐鍏峰拰璋冭瘯宸ュ叿……”錛岃櫧鐒朵簨瀹炰笂紜疄鏄繖涔堝洖浜嬶紝zend studio紜疄鏄竴涓己澶х殑php闆嗘垚寮鍙戠幆澧冿紝鎴戦夋嫨錛屾垜鍠滄錛佷絾榪欓噷鎴戞兂鎻愰啋涓嬪ぇ瀹訛紝zend studio鏄晢涓氳蔣浠躲?/p>

2銆乑end Debugger

鎬繪槸浠嬬粛涓涓晢涓氬叕鍙哥殑鍟嗕笟浜у搧錛岄毦鍏嶆湁鎵撳晢涓氬箍鍛婁箣瀚岋紝铏界劧鎴戞牴鏈氨涓嶆槸涓涓晢浜猴紝鎵浠ユ帴涓嬫潵鎴戝氨椹笂鎼嚭zend debugger錛堟垜鍓嶄笉涔呭垰濂藉啓浜嗕竴綃?a style="color: rgb(0, 68, 170); text-decoration: none; ">zend debugger鐨勭粓鏋佸畨瑁呮暀紼?/a>錛夛紝zend debugger鏄痾end鍏徃涓烘暟涓嶅鐨勫厤璐逛駭鍝侊紝浣撶Н涓嶅ぇ錛屽畨瑁呮柟渚匡紝鍔熻兘涔熷緢寮哄ぇ錛屼竴鑸渶瑕佽皟璇昿hp紼嬪簭鐨勬椂鍊欙紝瑁呬笂瀹冨氨澶熺敤浜嗐?/p>

3銆乑end Server

瀹為檯涓婃垜騫舵病鏈夋悶娓呮zend server鐨勭湡姝f剰鍥撅紝鎹閽堝php鍋氫簡涓撻棬鐨勪紭鍖栵紝騫朵笖鏄晢涓氳蔣浠訛紝浣嗗叾涓嶅叏鏄敹璐圭殑錛屽彧鏄儴鍒嗙粍浠訛紙鎴戝ぇ綰﹀湪3涓湀鍓嶈瘯鐢ㄨ繃zend server錛岃蹇嗘湁浜涙ā緋婏級錛屽唴緗殑鏄痑pache鏈嶅姟鍣紙褰撶劧浣犲彲浠ヤ笉閫夋嫨鍐呯疆錛夛紝铏界劧濂歸泦鎴愪簡Zend Optimizer銆乑end Guard Loader銆乑end Data Cache銆乑end Debugger銆乑end Framework錛屼絾鍦ㄦ垜鐪嬫潵榪欏拰鍏嶈垂鐨?a style="color: rgb(0, 68, 170); text-decoration: none; ">xampp娌℃湁瀹炶川鎬у尯鍒傚緢澶氬悓瀛﹂棶鎴?#8220;瀹夎浜唞end studio鏄惁涓瀹氳瀹夎zend server錛?/em>”錛屽洖絳旀槸“瀹夎zend studio涓嶄竴瀹氳瀹夎zend server錛屽洜涓轟粬浠箣闂存病鏈夊繀鐒剁殑鑱旂郴”銆傛垜鎯籌紝闂繖涓棶棰樼殑鍚屽錛屽ぇ姒傜湅浜嗗緢鏃╃殑zend studio浠嬬粛錛岄偅鏃跺欑殑zde榪樻湁鍒唞end studio client鍜寊end studio server錛岀劧鍚庡悓瀛﹀皢zend studio server鍜寊end server鎼炴販浜嗐?span style="text-decoration: underline; ">浣犵湅錛岃繖綃囨棩蹇楃殑鎰忎箟灝辨樉鐜板嚭鏉ヤ簡銆?/span>

4銆乑end Optimizer

榪欏張鏄痾end 鍏徃鐨勫厤璐逛駭鍝佷箣涓錛孼end Optimizer鐨勬渶澶т綔鐢ㄦ槸瑙e瘑瑙f瀽琚珃end Guard鍔犲瘑浜嗙殑php婧愭枃浠訛紝鍏奸【浼樺寲php鎬ц兘鐨勪綔鐢紝鍥犳錛屾偍鍦ㄩ儴緗叉湇鍔″櫒鐨勬椂鍊欏皢zend Optimizer欏轟究瀹夎涓婃病鏈変換浣曠殑鍧忓錛屽綋鐒訛紝濡傛灉浣犺喘涔頒簡涓浠絑end Guard鍔犲瘑榪囩殑php婧愮爜錛岄偅浣犲氨蹇呴』瀹夎濂逛簡銆?/p>

5銆乑end Guard

Zend Guard鏄竴涓潪甯告湁鐢ㄧ殑浜у搧錛屽綋鐒跺ス涔熸槸涓涓晢涓氳蔣浠訛紝濡傛灉浣犱笉鎵撶畻灝嗕綘鐨刾hp浠g爜寮婧愶紝閭d箞鍙互閫夋嫨Zend Guard鏉ヤ繚鎶や綘鐨勭爺絀舵垚鏋滐紝鏈鏂扮増鐨勫疂椹?緋伙紝鎹寮哄害涓嶆槸涓鑸殑澶э紝鑳藉鍦ㄤ繚鎶ゆ湡鍐呭畨鍏ㄤ笉琚牬瑙c傚煎緱涓鎻愮殑鏄紝鐢╖end Guard鍔犲瘑榪囦簡鐨刾hp婧愪唬鐮侊紝鍦ㄤ綘鐨勬湇鍔″櫒鐜涓繀欏誨畨瑁匷end Optimizer鏉?#8220;姝e父榪愯”涔嬶紙鐪嬶紒閲戝焊鐨勫ぇ甯堥鑼冨氨褰版樉鍑烘潵浜?/em>錛夈?/p>

6銆乑end Framework

榪欏張鏄痾end 鍏徃榪戝勾鏉ョ殑閲嶈浜у搧錛宲hp鐣孎ramework鐨勫叴璧鳳紝鏃犵枒鐨勭畝鍖栧紑鍙戯紝鎻愰珮鏁堢巼錛屽嵆“鏁忔嵎楂樻晥”鍥涘瓧鏂歸拡錛岃繖涓粎浠呮槸紼嬪簭鍛樺湪寮鍙戝伐浣滀笂鐨勬弿榪幫紝鑰宲hp鐨勮繍琛屾晥鐜囨ц兘涓婂嵈騫墮潪鏈夎川鐨勯璺冦傚洜姝わ紝鏈漢涔熶笉鏄潪甯稿磭灝氭鏋訛紝灝界鍥藉唴鐨剄eephp,thinkphp絳夎憲鍚嶆鏋跺彂灞曠殑濡傜伀濡傝嵓錛屾鏋剁殑榪芥崸鑰呬篃鏄娼按涓鑸紝鏈変釜浜轟緷鐒舵垜琛屾垜绱犵殑“鍧愪互寰呮瘷”錛屼粬鏄斺攇ently銆傜劧鑰孼end Framework騫墮潪涓鏃犳槸澶勶紝濂規槸涓涓紵澶х殑妗嗘灦浜у搧錛屽彂灞曠ǔ鍋ワ紝鐜板湪鐨勭敤鎴風兢涔熸槸铔簽澶х殑錛堜腑鍥戒漢姣旇緝榪蜂俊瀹樻柟錛屽綋鐒朵篃鍥犱負濂圭‘瀹炰笉閿欙級銆?strong>Zend studio浠庡疂椹?緋誨紑濮嬶紝宸茬粡瀹岀編鐨勬敮鎸亃end Framework鐨勫紑鍙戙佽皟璇曡繍琛屼竴鏉¢緳浜嗐?/p>

7銆乑end Core

鐩磋瘧榪囨潵鏄?em>zend鏍稿績錛屼箥鍚搗鏉ワ紝浣犱竴瀹氳寰楄繖鏄釜浜嗕笉璧風殑浜у搧銆傚疄闄呬笂錛屼綘鐨勬劅瑙夋槸瀵圭殑錛寊end core鏄痾end瀹樻柟鍙堜竴涓負鏁頒笉澶氱殑浼樼鐨勫厤璐逛駭鍝侊紝濂圭殑瀛樺湪蹇呰鎬ф槸鑳藉甯姪澶у蹇熺殑瀹夎閮ㄧ講php榪愯鐜錛岀畝綰﹁屼笉綆鍗曪紝鐢氳嚦榪樻彁渚涗簡涓涓獁eb綆$悊閰嶇疆php.ini鐨勫姛鑳斤紝榪欐槸寰堜紭縐鐨勶紝鏇村鏈夎叮鐨勫姛鑳界瓑鐫澶у鍘誨彂鐜頒簡銆傚畠涓巣end studio涔熸槸鏈夌潃鍗冧笣涓囩紩鐨勫叧緋伙紝姣斿鎴戠敤zend studio寮鍙戜簡涓涓郴緇燂紝鍊熺敱zend core灝辮兘寰堝揩鐨勪笂綰胯繍琛屻?/p>

8銆乑end Platform

鏇村噯紜殑璇村ス鏄竴鏁村鐨勪紒涓氭湇鍔″櫒瑙e喅鏂規錛屼紒涓氱駭搴旂敤浠庢潵閮芥槸鍜屽ぇ鍨嬭仈緋誨湪涓璧風殑錛屽洜姝わ紝浠涔堥泦緹ゅ晩銆侀樀鍒楀晩銆佹帶鍒朵腑蹇冨晩銆佺瓑絳夌瓑絳夊zend platform鏉ヨ鍏ㄩ兘涓嶅湪璇濅笅錛屽ス鑳藉璺熻釜Php榪愯涓殑閿欒錛岀洃鎺hp榪愯鐨勬ц兘錛岀簿紜殑鎵懼嚭鐡墮錛岃繖鏄涔堢墰閫肩殑浜у搧鍟娿傞偅涔堬紝闇瑕佸灝戦挶鍛紵鍙998錛屽叏鐞冮檺閲?0濂楋紝璧剁揣鎷胯搗鐢佃瘽璁㈣喘鍚э紒……鎶介浜嗕竴涓嬶紝渚濇垜鐪嬶紝zend server姝h閫愭鏇夸唬鎺墇end platform錛屼笉姝㈡槸鍋氬珌琛o紝zend 榪樿鐢熶駭鏂板錛佸洜姝わ紝Zend Server椋庡ご姝e姴銆俍end Platform涓巣end studio鐨勫叧緋誨氨鏄墠鑰呰兘澶熸彁渚涚粰鍚庤呴潪甯稿己澶х殑鏈嶅姟绔敮鎸侊紝褰撶劧榪欎釜寮哄ぇ鏄痾end debugger鏃犳硶浼佸強鐨勶紝褰撳ぇ澶氭暟鏃跺欙紝鎴戜滑涓漢寮鍙戣呯敤涓嶇潃榪欎箞寮哄ぇ錛屽畼鏂瑰彲浠ヤ笅杞藉埌Zend Platform鐨?0澶╄瘯鐢ㄧ増錛堝氨鏄濂規槸鍟嗕笟杞歡錛夛紝鎶辨瓑錛屾垜涔熸病鏈塟end Platform鐨勬敞鍐岀爜鎴栬呮敞鍐屾満銆傚ス涓巣end server鐨勫叧緋誨憿錛屽氨鏄痁end Server鍦ㄥ珌琛i噷闈㈠寘浜嗕釜鏂板銆?/p>

Zend鍏徃鏄竴涓湁娼滃姏鐨勫叕鍙革紝涓庡悇鐣岀殑鍚堜綔姝g悍綰峰睍寮錛屼篃紲漽end瓚婅蛋瓚婅繙銆?/p>

]]>
VC++ ini鏂囦歡鎿嶄綔http://m.shnenglu.com/dfghj44444/archive/2010/09/27/127890.html鍙垜鑰佺帇鍚?/dc:creator>鍙垜鑰佺帇鍚?/author>Mon, 27 Sep 2010 10:14:00 GMThttp://m.shnenglu.com/dfghj44444/archive/2010/09/27/127890.htmlhttp://m.shnenglu.com/dfghj44444/comments/127890.htmlhttp://m.shnenglu.com/dfghj44444/archive/2010/09/27/127890.html#Feedback0http://m.shnenglu.com/dfghj44444/comments/commentRss/127890.htmlhttp://m.shnenglu.com/dfghj44444/services/trackbacks/127890.html
鍘熷笘錛?a >http://leapfish.blog.sohu.com/60685388.html

鐢╒isual C++鎿嶄綔INI鏂囦歡

鍦ㄦ垜浠啓鐨勭▼搴忓綋涓?鎬繪湁涓浜涢厤緗俊鎭渶瑕佷繚瀛樹笅鏉?浠ヤ究瀹屾垚紼嬪簭鐨勫姛鑳?鏈綆鍗曠殑鍔炴硶灝辨槸灝嗚繖浜涗俊鎭啓鍏NI鏂囦歡涓?紼嬪簭鍒濆鍖栨椂鍐嶈鍏?鍏蜂綋搴旂敤濡備笅:

涓.灝嗕俊鎭啓鍏?INI鏂囦歡涓?

1.鎵鐢ㄧ殑WINAPI鍑芥暟鍘熷瀷涓?

BOOL WritePrivateProfileString(
LPCTSTR lpAppName,
LPCTSTR lpKeyName,
LPCTSTR lpString,
LPCTSTR lpFileName
);

鍏朵腑鍚勫弬鏁扮殑鎰忎箟:

銆LPCTSTR lpAppName 鏄疘NI鏂囦歡涓殑涓涓瓧孌靛悕.

  LPCTSTR lpKeyName 鏄痩pAppName涓嬬殑涓涓敭鍚?閫氫織璁插氨鏄彉閲忓悕.

銆LPCTSTR lpString 鏄敭鍊?涔熷氨鏄彉閲忕殑鍊?涓嶈繃蹇呴』涓篖PCTSTR鍨嬫垨CString鍨嬬殑.

銆LPCTSTR lpFileName 鏄畬鏁寸殑INI鏂囦歡鍚?

2.鍏蜂綋浣跨敤鏂規硶:璁劇幇鏈変竴鍚嶅鐢?闇鎶婁粬鐨勫鍚嶅拰騫撮緞鍐欏叆 c:\stud\student.ini 鏂囦歡涓?

CString strName,strTemp;
int nAge;
strName="寮犱笁";
nAge=12;
::WritePrivateProfileString("StudentInfo","Name",strName,"c:\\stud\\student.ini");

姝ゆ椂c:\stud\student.ini鏂囦歡涓殑鍐呭濡備笅:

[StudentInfo]
Name=寮犱笁

3.瑕佸皢瀛︾敓鐨勫勾榫勪繚瀛樹笅鏉?鍙渶灝嗘暣鍨嬬殑鍊煎彉涓哄瓧絎﹀瀷鍗沖彲:

strTemp.Format("%d",nAge);
::WritePrivateProfileString("StudentInfo","Age",strTemp,"c:\\stud\\student.ini");

浜?灝嗕俊鎭粠INI鏂囦歡涓鍏ョ▼搴忎腑鐨勫彉閲?

1.鎵鐢ㄧ殑WINAPI鍑芥暟鍘熷瀷涓?

DWORD GetPrivateProfileString(
LPCTSTR lpAppName, 
LPCTSTR lpKeyName, 
LPCTSTR lpDefault, 
LPTSTR lpReturnedString, 
DWORD nSize, 
LPCTSTR lpFileName 
);

鍏朵腑鍚勫弬鏁扮殑鎰忎箟:

鍓嶄簩涓弬鏁頒笌 WritePrivateProfileString涓殑鎰忎箟涓鏍?

  lpDefault : 濡傛灉INI鏂囦歡涓病鏈夊墠涓や釜鍙傛暟鎸囧畾鐨勫瓧孌靛悕鎴栭敭鍚?鍒欏皢姝ゅ艱祴緇欏彉閲?

銆lpReturnedString : 鎺ユ敹INI鏂囦歡涓殑鍊肩殑CString瀵硅薄,鍗崇洰鐨勭紦瀛樺櫒.

銆nSize : 鐩殑緙撳瓨鍣ㄧ殑澶у皬.

銆lpFileName : 鏄畬鏁寸殑INI鏂囦歡鍚?

2.鍏蜂綋浣跨敤鏂規硶:鐜拌灝嗕笂涓姝ヤ腑鍐欏叆鐨勫鐢熺殑淇℃伅璇誨叆紼嬪簭涓?

CString strStudName;
int nStudAge; 
GetPrivateProfileString("StudentInfo","Name","榛樿濮撳悕",strStudName.GetBuffer(MAX_PATH),MAX_PATH,"c:\\stud\\student.ini");

銆鎵ц鍚?strStudName 鐨勫間負:"寮犱笁",鑻ュ墠涓や釜鍙傛暟鏈夎,鍏跺間負:"榛樿濮撳悕".

3.璇誨叆鏁村瀷鍊艱鐢ㄥ彟涓涓猈INAPI鍑芥暟:

UINT GetPrivateProfileInt(
LPCTSTR lpAppName, 
LPCTSTR lpKeyName, 
INT nDefault, 
LPCTSTR lpFileName 
);

榪欓噷鐨勫弬鏁版剰涔変笌涓婄浉鍚?浣跨敤鏂規硶濡備笅:

nStudAge=GetPrivateProfileInt("StudentInfo","Age",10,"c:\\stud\\student.ini");

涓?寰幆鍐欏叆澶氫釜鍊?璁劇幇鏈変竴紼嬪簭,瑕佸皢鏈榪戜嬌鐢ㄧ殑鍑犱釜鏂囦歡鍚嶄繚瀛樹笅鏉?鍏蜂綋紼嬪簭濡備笅:

1.鍐欏叆:

CString strTemp,strTempA;
int i;
int nCount=6;
file://鍏辨湁6涓枃浠跺悕闇瑕佷繚瀛?br style="line-height: 23px; ">for(i=0;i<nCount;i++) 
{
  strTemp.Format("%d",i);
  strTempA=鏂囦歡鍚?
  //鏂囦歡鍚嶅彲浠ヤ粠鏁扮粍,鍒楄〃妗嗙瓑澶勫彇寰?
  ::WritePrivateProfileString("UseFileName","FileName"+strTemp,strTempA,"c:\\usefile\\usefile.ini");
}
strTemp.Format("%d",nCount);
::WritePrivateProfileString("FileCount","Count",strTemp,"c:\\usefile\\usefile.ini");
//灝嗘枃浠舵繪暟鍐欏叆,浠ヤ究璇誨嚭.

2.璇誨嚭:

nCount=::GetPrivateProfileInt("FileCount","Count",0,"c:\\usefile\\usefile.ini");
for(i=0;i<nCount;i++)
{
  strTemp.Format("%d",i);
  strTemp="FileName"+strTemp;
  ::GetPrivateProfileString("CurrentIni",strTemp,"default.fil", strTempA.GetBuffer(MAX_PATH),MAX_PATH,"c:\\usefile\\usefile.ini");
  //浣跨敤strTempA涓殑鍐呭.
}

琛ュ厖鍥涚偣:
銆1.INI鏂囦歡鐨勮礬寰勫繀欏誨畬鏁?鏂囦歡鍚嶅墠闈㈢殑鍚勭駭鐩綍蹇呴』瀛樺湪,鍚﹀垯鍐欏叆涓嶆垚鍔?璇ュ嚱鏁拌繑鍥?FALSE 鍊?
銆2.鏂囦歡鍚嶇殑璺緞涓繀欏諱負 \\ ,鍥犱負鍦╒C++涓? \\ 鎵嶈〃紺轟竴涓?\ .
銆3.涔熷彲灝咺NI鏂囦歡鏀懼湪紼嬪簭鎵鍦ㄧ洰褰?姝ゆ椂 lpFileName 鍙傛暟涓? ".\\student.ini".

//----------------------------------------------------------------------------------
/*
綾誨悕錛欳Ini
鐗堟湰錛歷2.0
鍔犲叆楂樼駭鎿嶄綔鐨勫姛鑳?br style="line-height: 23px; ">v1.0
姊﹀皬瀛╀簬2003騫存煇鏃?br style="line-height: 23px; ">涓鑸搷浣滃畬鎴?/p>

綾繪弿榪幫細
鏈被鍙互浜?ini鏂囦歡榪涜鎿嶄綔
*/

鏂囦歡 1:
#pragma once
#include "afxTempl.h"

class CIni
{
private:
CString m_strFileName;
public:
CIni(CString strFileName):m_strFileName(strFileName)
{
}
public:
//涓鑸ф搷浣滐細
BOOL SetFileName(LPCTSTR lpFileName);  //璁劇疆鏂囦歡鍚?br style="line-height: 23px; ">CString GetFileName(void); //鑾峰緱鏂囦歡鍚?br style="line-height: 23px; ">BOOL SetValue(LPCTSTR lpSection, LPCTSTR lpKey, LPCTSTR lpValue,bool bCreate=true); //璁劇疆閿鹼紝bCreate鏄寚孌靛悕鍙婇敭鍚嶆湭瀛樺湪鏃訛紝鏄惁鍒涘緩銆?br style="line-height: 23px; ">CString GetValue(LPCTSTR lpSection, LPCTSTR lpKey); //寰楀埌閿?
BOOL DelSection(LPCTSTR strSection);  //鍒犻櫎孌靛悕
BOOL DelKey(LPCTSTR lpSection, LPCTSTR lpKey);  //鍒犻櫎閿悕

public:
//楂樼駭鎿嶄綔錛?br style="line-height: 23px; ">int GetSections(CStringArray& arrSection);  //鏋氫婦鍑哄叏閮ㄧ殑孌靛悕
int GetKeyValues(CStringArray& arrKey,CStringArray& arrValue,LPCTSTR lpSection);  //鏋氫婦鍑轟竴孌靛唴鐨勫叏閮ㄩ敭鍚嶅強鍊?/p>

BOOL DelAllSections();

};

鏂囦歡 2:

#include "StdAfx.h"
#include "ini.h"

#define MAX_ALLSECTIONS 2048  //鍏ㄩ儴鐨勬鍚?br style="line-height: 23px; ">#define MAX_SECTION 260  //涓涓鍚嶉暱搴?br style="line-height: 23px; ">#define MAX_ALLKEYS 6000  //鍏ㄩ儴鐨勯敭鍚?br style="line-height: 23px; ">#define MAX_KEY 260  //涓涓敭鍚嶉暱搴?/p>

BOOL CIni::SetFileName(LPCTSTR lpFileName)
{
  CFile file;
  CFileStatus status;
  if(!file.GetStatus(lpFileName,status))
    return TRUE;
  m_strFileName=lpFileName;
    return FALSE;
}

CString CIni::GetFileName(void)
{
  return m_strFileName;
}

BOOL CIni::SetValue(LPCTSTR lpSection, LPCTSTR lpKey, LPCTSTR lpValue,bool bCreate)
{
TCHAR lpTemp[MAX_PATH] ={0};

//浠ヤ笅if璇彞琛ㄧず濡傛灉璁劇疆bCreate涓篺alse鏃訛紝褰撴病鏈夎繖涓敭鍚嶆椂鍒欒繑鍥濼RUE錛堣〃紺哄嚭閿欙級
//!*&*none-value*&!* 榪欐槸涓瀮鍦懼瓧絎︽病鏈夌壒鍒剰涔夛紝榪欐牱涔卞啓鏄槻姝㈠噾宸х浉鍚屻?br style="line-height: 23px; ">if (!bCreate)
{
  GetPrivateProfileString(lpSection,lpKey,"!*&*none-value*&!*",lpTemp,MAX_PATH,m_strFileName);
  if(strcmp(lpTemp,"!*&*none-value*&!*")==0)
  return TRUE;
}

if(WritePrivateProfileString(lpSection,lpKey,lpValue,m_strFileName))
  return FALSE;
else
  return GetLastError();
}

CString CIni::GetValue(LPCTSTR lpSection, LPCTSTR lpKey)
{
  DWORD dValue;
  TCHAR lpValue[MAX_PATH] ={0};

  dValue=GetPrivateProfileString(lpSection,lpKey,"",lpValue,MAX_PATH,m_strFileName);
  return lpValue;
}

BOOL CIni::DelSection(LPCTSTR lpSection)
{
  if(WritePrivateProfileString(lpSection,NULL,NULL,m_strFileName))
    return FALSE;
  else
    return GetLastError();
}

BOOL CIni::DelKey(LPCTSTR lpSection, LPCTSTR lpKey)
{
if(WritePrivateProfileString(lpSection,lpKey,NULL,m_strFileName))
  return FALSE;
else
  return GetLastError();
}

int CIni::GetSections(CStringArray& arrSection)
{
/*
鏈嚱鏁板熀紜錛?br style="line-height: 23px; ">GetPrivateProfileSectionNames - 浠?ini 鏂囦歡涓幏寰?Section 鐨勫悕縐?br style="line-height: 23px; ">濡傛灉 ini 涓湁涓や釜 Section: [sec1] 鍜?[sec2]錛屽垯榪斿洖鐨勬槸 'sec1',0,'sec2',0,0 錛屽綋浣犱笉鐭ラ亾  
ini 涓湁鍝簺 section 鐨勬椂鍊欏彲浠ョ敤榪欎釜 api 鏉ヨ幏鍙栧悕縐?nbsp;
*/
int i;  
int iPos=0;  
int iMaxCount;
TCHAR chSectionNames[MAX_ALLSECTIONS]={0}; //鎬葷殑鎻愬嚭鏉ョ殑瀛楃涓?br style="line-height: 23px; ">TCHAR chSection[MAX_SECTION]={0}; //瀛樻斁涓涓鍚嶃?br style="line-height: 23px; ">GetPrivateProfileSectionNames(chSectionNames,MAX_ALLSECTIONS,m_strFileName);

//浠ヤ笅寰幆錛屾埅鏂埌涓や釜榪炵畫鐨?
for(i=0;i<MAX_ALLSECTIONS;i++)
{
  if (chSectionNames[i]==0)
  if (chSectionNames[i]==chSectionNames[i+1])
    break;
}

iMaxCount=i+1; //瑕佸涓涓?鍙峰厓绱犮傚嵆鎵懼嚭鍏ㄩ儴瀛楃涓茬殑緇撴潫閮ㄥ垎銆?br style="line-height: 23px; ">arrSection.RemoveAll();//娓呯┖鍘熸暟緇?/p>

for(i=0;i<iMaxCount;i++)
{
  chSection[iPos++]=chSectionNames[i];
  if(chSectionNames[i]==0)
  {  
  arrSection.Add(chSection);
  memset(chSection,0,MAX_SECTION);
  iPos=0;
  }
}

return (int)arrSection.GetSize();
}

int CIni::GetKeyValues(CStringArray& arrKey,CStringArray& arrValue, LPCTSTR lpSection)
{
/*
鏈嚱鏁板熀紜錛?br style="line-height: 23px; ">GetPrivateProfileSection- 浠?ini 鏂囦歡涓幏寰椾竴涓猄ection鐨勫叏閮ㄩ敭鍚嶅強鍊煎悕
濡傛灉ini涓湁涓涓錛屽叾涓嬫湁 "孌?=鍊?" "孌?=鍊?"錛屽垯榪斿洖鐨勬槸 '孌?=鍊?',0,'孌?=鍊?',0,0 錛屽綋浣犱笉鐭ラ亾  
鑾峰緱涓涓涓殑鎵鏈夐敭鍙婂煎彲浠ョ敤榪欎釜銆?nbsp;
*/
int i;  
int iPos=0;
CString strKeyValue;
int iMaxCount;
TCHAR chKeyNames[MAX_ALLKEYS]={0}; //鎬葷殑鎻愬嚭鏉ョ殑瀛楃涓?br style="line-height: 23px; ">TCHAR chKey[MAX_KEY]={0}; //鎻愬嚭鏉ョ殑涓涓敭鍚?/p>

GetPrivateProfileSection(lpSection,chKeyNames,MAX_ALLKEYS,m_strFileName);

for(i=0;i<MAX_ALLKEYS;i++)
{
  if (chKeyNames[i]==0)
  if (chKeyNames[i]==chKeyNames[i+1])
    break;
}

iMaxCount=i+1; //瑕佸涓涓?鍙峰厓绱犮傚嵆鎵懼嚭鍏ㄩ儴瀛楃涓茬殑緇撴潫閮ㄥ垎銆?br style="line-height: 23px; ">arrKey.RemoveAll();//娓呯┖鍘熸暟緇?br style="line-height: 23px; ">arrValue.RemoveAll();

for(i=0;i<iMaxCount;i++)
{
  chKey[iPos++]=chKeyNames[i];
  if(chKeyNames[i]==0)
  {
  strKeyValue=chKey;
  arrKey.Add(strKeyValue.Left(strKeyValue.Find("=")));
  arrValue.Add(strKeyValue.Mid(strKeyValue.Find("=")+1));
  memset(chKey,0,MAX_KEY);
  iPos=0;
  }

}

return (int)arrKey.GetSize();
}

BOOL CIni::DelAllSections()
{
int nSection;
CStringArray arrSection;
nSection=GetSections(arrSection);
for(int i=0;i<nSection;i++)
{
  if(DelSection(arrSection[i]))
  return GetLastError();
}
return FALSE;
}


浣跨敤鏂規硶錛?br style="line-height: 23px; ">CIni ini("c:\\a.ini");
int n;

/*鑾峰緱鍊?br style="line-height: 23px; ">TRACE("%s",ini.GetValue("孌?","閿?"));
*/

/*娣誨姞鍊?br style="line-height: 23px; ">ini.SetValue("鑷畾涔夋","閿?","鍊?);
ini.SetValue("鑷畾涔夋2","閿?","鍊?,false);
*/

/*鏋氫婦鍏ㄩ儴孌靛悕
CStringArray arrSection;
n=ini.GetSections(arrSection);
for(int i=0;i<n;i++)
TRACE("%s\n",arrSection[i]);
*/

/*鏋氫婦鍏ㄩ儴閿悕鍙婂?br style="line-height: 23px; ">CStringArray arrKey,arrValue;
n=ini.GetKeyValues(arrKey,arrValue,"孌?");
for(int i=0;i<n;i++)
TRACE("閿細%s\n鍊鹼細%s\n",arrKey[i],arrValue[i]);
*/

/*鍒犻櫎閿?br style="line-height: 23px; ">ini.DelKey("孌?","閿?");
*/

/*鍒犻櫎孌?br style="line-height: 23px; ">ini.DelSection("孌?");
*/

/*鍒犻櫎鍏ㄩ儴
ini.DelAllSections();
*/

鎿嶄綔閰嶇疆鏂囦歡ini
1.鍩虹鐭ヨ瘑
    INI鏂囦歡錛圛nitialization file 錛屽張縐頒負鍒濆鍖栨枃浠訛級鏄敤鏉ヤ繚瀛樺簲鐢ㄧ▼搴忚緗拰閫夐」鐨勪竴縐嶇壒孌婄殑ASCII鏂囦歡錛屼互“.ini”浣滀負鏂囦歡鎵╁睍鍚嶏紝涔熻縐板仛閰嶇疆鏂囦歡鎴栨瑕佹枃浠訛紙Profile錛夈傞櫎浜嗗悇涓簲鐢ㄧ▼搴忓彲浠ユ嫢鏈夎嚜宸辯鏈夌殑鍒濆鍖栨枃浠跺錛學indows緋葷粺榪樻彁渚涙湁涓涓郴緇熺殑鍒濆鍖栨枃浠禬in.ini錛屽茍鐢辨瀵瑰綋鍓嶇殑Windows緋葷粺榪涜閰嶇疆錛屽悓鏃朵篃鍙互鍦ㄥ叾鍐呰褰曠郴緇熷唴鍏朵粬搴旂敤紼嬪簭鍦ㄨ繍琛屾椂鐨勯夐」銆?/p>

銆銆閫氬父涓哄簲鐢ㄧ▼搴忔墍縐佹湁鐨勫垵濮嬪寲鏂囦歡姣旇緝灝忥紝榪欐牱鍙互鍑忓皯紼嬪簭鍦ㄥ垵濮嬪寲鏃舵墍璇誨彇鐨勪俊鎭噺錛屼粠鑰屾彁楂樼▼搴忕殑鍚姩閫熷害銆傝岀郴緇熷垵濮嬪寲鏂囦歡Win.ini鐢變簬闄や簡璁板綍鏈夊叧緋葷粺鐨勫ぇ閲忎俊鎭錛岃繕瀛樺偍鐫璁稿鍏朵粬搴旂敤杞歡鐨勫垵濮嬪寲鏁版嵁錛屽洜姝ゅ叾閫氬父姣旇緝搴炲ぇ錛岃闂殑鏁版嵁閲忚榪滄瘮縐佹湁鐨勯厤緗枃浠跺ぇ寰楀銆傚娌℃湁蹇呰錛屼竴鑸笉寤鴻瀵筗in.ini鏂囦歡榪涜鎿嶄綔錛屼絾濡傛灉寰呭瓨鍙栫殑淇℃伅娑夊強鍒癢indows緋葷粺鐜鎴栨槸鍏朵粬搴旂敤紼嬪簭鏃? 灝卞繀欏誨Win.ini榪涜璇誨啓璁塊棶錛屽茍鍦ㄨ闂殑鍚屾椂鍙戦乄M_WININICHANGE娑堟伅緇欐墍鏈夌殑欏跺眰紿楀彛錛岄氱煡鍏朵粬榪涚▼緋葷粺鍒濆鍖栨枃浠跺凡琚洿鏀廣?/p>

銆銆閰嶇疆鏂囦歡閲岀殑淇℃伅涔嬫墍浠ヨ兘涓虹郴緇熷拰浼楀涓嶅悓綾誨瀷鐨勫簲鐢ㄧ▼搴忚鍙栧茍璇嗗埆錛屾槸鐢變簬鍏跺唴閮ㄥ鏁版嵁鐨勫瓨鍙栭噰鐢ㄤ簡棰勫厛綰﹀畾鐨?#8220;欏?鍊煎錛圗ntry-value pairs錛?#8221;瀛樺偍緇撴瀯, 騫跺寰呭瓨鍙栫殑鏁版嵁鍒嗛棬鍒被鍦拌繘琛屽瓨鍌ㄣ備笅闈㈡槸緋葷粺鐩綍涓媁in.ini鏂囦歡鐨勯儴鍒嗗唴瀹癸細

[windows] 
load= 
run= 
NullPort=None 
[Desktop] 
WallpaperStyle=2 
Pattern=(鏃? 

   鍦ㄦ錛岄厤緗枃浠跺皢淇℃伅鍒嗕負鑻ュ共“鑺?#8221;錛岃妭鏍囬鏀懼湪鏂規嫭鍙蜂腑錛屽“[Desktop]”灝辨槸Desktop鑺傦紝鍦ㄦ瘡涓涓妭涓寘鍚簡涓浜涗笌涔嬬浉鍏崇殑“欏?#8221;錛屽茍閫氳繃絳夊彿瀵瑰叾榪涜璧嬪箋備竴鑸艦寮忓涓嬶細

[SECTION] 
ENTRY=VALUE 

銆銆鍦ㄥ垵濮嬪寲鏂囦歡涓紝VALUE鍊煎彧鑳芥湁涓ょ鏁版嵁綾誨瀷錛氭暟鍊煎拰瀛楃涓層俉indows鍒嗗埆涓鴻繖涓ょ鏁版嵁綾誨瀷鎻愪緵浜嗕袱濂桝PI鍑芥暟瀵瑰垵濮嬪寲鏂囦歡榪涜鏁版嵁璇誨彇錛屽湪鍐欏叆鍒濆鍖栨枃浠舵椂鍒欏彧鏀寔瀵瑰瓧絎︿覆鐨勫啓鍏ワ紝鏁板肩瓑綾誨瀷蹇呴』鍏堣繘琛屾暟鎹被鍨嬬殑杞崲錛岀劧鍚庢墠鑳藉啓鍏ュ埌鍒濆鍖栨枃浠躲傜鏈夊垵濮嬪寲鏂囦歡鐨勮闂銆瀵圭鏈夊垵濮嬪寲鏂囦歡鐨勬暟鎹瓨鍙栨槸鐢盙etPrivateProfileInt錛堬級銆丟etPrivateProfileString錛堬級鍜學ritePrivateProfileString錛堬級絳変笁涓狝PI鍑芥暟鏉ュ畬鎴愮殑銆傚叾鍑芥暟璇存槑濡備笅錛?/p>

UINT GetPrivateProfileInt(LPCTSTR lpAppName, // 鑺傚悕鍦板潃
                          LPCTSTR lpKeyName, // 欏瑰悕鍦板潃
                          INT nDefault,      // 鍦ㄩ」鍚嶆病鏈夋壘鍒版椂榪斿洖鐨勭己鐪佸?br style="line-height: 23px; ">                          LPCTSTR lpFileName // 鍒濆鍖栨枃浠跺悕鍦板潃
);

DWORD GetPrivateProfileString(LPCTSTR lpAppName, // 鑺傚悕鍦板潃
                              LPCTSTR lpKeyName, // 欏瑰悕鍦板潃
                              LPCTSTR lpDefault, // 緙虹渷瀛楃涓?br style="line-height: 23px; ">                              LPTSTR lpReturnedString, // 瀛樻斁瀛楃涓茬殑緙撳啿鍖哄湴鍧
                              DWORD nSize, // 緙撳啿鍖哄ぇ灝?br style="line-height: 23px; ">                              LPCTSTR lpFileName // 鍒濆鍖栨枃浠跺悕鍦板潃
);

BOOL WritePrivateProfileString(LPCTSTR lpAppName, // 鑺傚悕鍦板潃
                               LPCTSTR lpKeyName, // 欏瑰悕鍦板潃
                               LPCTSTR lpString,  // 瑕佸啓鍏ョ殑瀛楃涓插湴鍧
                               LPCTSTR lpFileName // 鍒濆鍖栨枃浠跺悕鍦板潃
);

    鍏朵腑錛孏etPrivateProfileInt錛堬級榪斿洖鐨勬槸鍒濆鍖栨枃浠秎pFileName涓璴pAppName鑺傚唴lpKeyName欏圭殑鏁存暟鍊鹼紝濡傛灉娌℃湁鎵懼埌璇ラ」鍒欒繑鍥炵己鐪佸糿Default銆傚鏋滄欏圭洰瀛樺湪錛屼絾鍊間笉涓烘暣鏁幫紝鍒欒繑鍥?銆傚鏋滄煇欏圭洰鐨勫間腑鍚湁闈炴暟瀛楀瓧絎﹀垯鍙繑鍥炵涓涓潪鏁板瓧鍓嶇殑瀛楃錛屼緥濡傚浜?#8220;Value = 21century”鍒欏彧榪斿洖鏁板?1銆傚垵濮嬪寲鏂囦歡鍚峫pFileName鍙互鏄叏璺緞涔熷彲浠ュ彧鏄枃浠跺悕錛屽鏋滀笉鎸囧畾鍏蜂綋璺緞錛學indows緋葷粺灝嗗湪緋葷粺鐩綍瀵規枃浠惰繘琛屽鎵俱侴etPrivateProfileString錛堬級鍜學ritePrivateProfileString錛堬級鐨勭敤娉曞熀鏈笌涔嬬被浼鹼紝鍙槸澶勭悊瀵硅薄鐨勬暟鎹被鍨嬩笉鍚屻?/p>

2 鐭ヨ瘑搴旂敤
銆銆縐佹湁鍒濆鍖栨枃浠朵富瑕佺敤鏉ヤ繚瀛樺悓搴旂敤紼嬪簭褰撳墠鐘舵佺浉鍏崇殑涓浜涗俊鎭紝褰撶▼搴忛鍑哄悗錛岃繖浜涗俊鎭敱浜庡凡鍐欏叆鍒板垵濮嬪寲鏂囦歡鑰屽緱浠ヤ繚鐣欙紝褰撶▼搴忓啀嬈¤繍琛屾椂錛屽彲浠ラ氳繃瀵規鍒濆鍖栨枃浠跺悇欏規暟鎹殑璇誨彇鑰屽緱鐭ユ搴旂敤紼嬪簭鍦ㄤ笂嬈¤繍琛屾湡闂寸殑鐩稿叧淇℃伅銆備笅闈㈣繖孌典唬鐮佸嵆閫氳繃瀵圭鏈夊垵濮嬪寲鏂囦歡鐨勮闂屽紼嬪簭鐨勮繍琛屾鏁板拰涓婁竴嬈$殑榪愯鏃ユ湡榪涜璁板綍錛?/p>

CString sPath,sMsg,sTime,sDate;
char buffer[255];

// 鑾峰彇褰撳墠搴旂敤紼嬪簭鍏ㄨ礬寰?br style="line-height: 23px; ">GetModuleFileName(NULL, buffer, MAX_PATH);
sPath = CString(buffer);
sPath = sPath.Left(sPath.ReverseFind('\\'));

// 寰楀埌鍒濆鍖栨枃浠剁殑鍏ㄨ礬寰?br style="line-height: 23px; ">sPath += "\\Sample04.ini";

// 寰楀埌紼嬪簭绱榪愯嬈℃暟
UINT Time = GetPrivateProfileInt("PROGRAM", "RUNTIME", 0, sPath);

// 寰楀埌涓婃榪愯鏃ユ湡
GetPrivateProfileString("DATE", "LAST", "2002-11-1", buffer, 1000, sPath);

// 鏄劇ず浠庡垵濮嬪寲鏂囦歡鑾峰彇鍒扮殑鏂囦歡淇℃伅
sMsg.Format("鏈蔣浠跺叡榪愯榪?d嬈?涓婃榪愯鏃ユ湡涓?s", Time, CString(buffer));
AfxMessageBox(sMsg);

// 绱姞榪愯嬈℃暟,騫朵繚瀛樺埌鍒濆鍖栨枃浠?br style="line-height: 23px; ">Time++;
sTime.Format("%d", Time);
WritePrivateProfileString("PROGRAM", "RUNTIME", sTime, sPath);

// 鑾峰彇褰撳墠鏃ユ湡,騫朵繚瀛樺埌鍒濆鍖栨枃浠?br style="line-height: 23px; ">CTime tm = CTime::GetCurrentTime();
sDate.Format("%d-%d-%d", tm.GetYear(), tm.GetMonth(), tm.GetDay());
WritePrivateProfileString("DATE", "LAST", sDate, sPath);

鍦ㄧ▼搴忔墽琛屽悗錛屽垵濮嬪寲鏂囦歡Sample04.ini鐨勫唴瀹逛負錛?br style="line-height: 23px; ">[DATE]
LAST =2002-11-12
[PROGRAM]
RUNTIME =1

 銆銆緋葷粺鐩綍涓嬬殑Win.ini鏄竴縐嶇壒孌婄殑鍒濆鍖栨枃浠訛紝涓昏涓虹郴緇熸彁渚涘垵濮嬪寲鏈嶅姟錛屽湪緋葷粺鍚姩鏃跺皢琚郴緇熸墍璁塊棶錛屽茍鏍規嵁鍏舵墍淇濆瓨鐨勫弬鏁板煎緋葷粺榪涜閰嶇疆銆俉indows涓撻棬鎻愪緵浜嗕笁涓狝PI鍑芥暟GetProfileInt錛堬級銆丟etProfileString錛堬級鍜學riteProfileString錛堬級瀵筗in.ini榪涜璇誨啓璁塊棶錛屽叾鍑芥暟鐢ㄦ硶鍚岃闂鏈夊垵濮嬪寲鏂囦歡鐨勯偅鍑犱釜鍑芥暟闈炲父綾諱技錛屽彧鏄笉蹇呭啀鍘繪寚瀹氬垵濮嬪寲鏂囦歡鍚嶃備笅闈㈡槸榪欎笁涓嚱鏁扮殑鍘熷瀷澹版槑錛?/p>

UINT GetProfileInt(LPCTSTR lpAppName, // 鑺傚悕鍦板潃
                   LPCTSTR lpKeyName, // 欏瑰悕鍦板潃
                   INT nDefault // 鍦ㄩ」鍚嶆病鏈夋壘鍒版椂榪斿洖鐨勭己鐪佸?br style="line-height: 23px; ">);

DWORD GetProfileString(LPCTSTR lpAppName, // 鑺傚悕鍦板潃
                       LPCTSTR lpKeyName, // 欏瑰悕鍦板潃
                       LPCTSTR lpDefault, // 緙虹渷瀛楃涓插湴鍧
                       LPTSTR lpReturnedString, // 瀛樻斁瀛楃涓茬殑緙撳瓨鐨勫湴鍧
                       DWORD nSize // 緙撳瓨鐨勫ぇ灝?br style="line-height: 23px; ">);

BOOL WriteProfileString(LPCTSTR lpAppName, // 鑺傚悕鍦板潃
                        LPCTSTR lpKeyName, // 欏瑰悕鍦板潃
                        LPCTSTR lpString   // 瑕佸啓鍏ュ瓧絎︿覆鐨勫湴鍧
);

 

銆銆鍙瀵瑰墠闈㈠縐佹湁鍒濆鍖栨枃浠惰繘琛岃闂殑浠g爜紼嶅姞鏀瑰姩鍗沖彲灝嗙▼搴忕殑閰嶇疆淇℃伅娣誨姞鍒癢in.ini涓紝鏀瑰姩鍚庣殑浠g爜濡備笅錛?/p>

CString sPath,sMsg,sTime,sDate;

// 寰楀埌紼嬪簭绱榪愯嬈℃暟
UINT Time = GetProfileInt("PROGRAM", "RUNTIME", 0);

// 寰楀埌涓婃榪愯鏃ユ湡
GetProfileString("DATE", "LAST", "2002-11-1", buffer, 1000);

// 鏄劇ず浠庡垵濮嬪寲鏂囦歡鑾峰彇鍒扮殑鏂囦歡淇℃伅
sMsg.Format("鏈蔣浠跺叡榪愯榪?d嬈?涓婃榪愯鏃ユ湡涓?s", Time, CString(buffer));
AfxMessageBox(sMsg);

// 绱姞榪愯嬈℃暟,騫朵繚瀛樺埌鍒濆鍖栨枃浠?br style="line-height: 23px; ">Time++;
sTime.Format("%d", Time);
WriteProfileString("PROGRAM", "RUNTIME", sTime);

// 鑾峰彇褰撳墠鏃ユ湡,騫朵繚瀛樺埌鍒濆鍖栨枃浠?br style="line-height: 23px; ">CTime tm = CTime::GetCurrentTime();
sDate.Format("%d-%d-%d", tm.GetYear(), tm.GetMonth(), tm.GetDay());
WriteProfileString("DATE", "LAST", sDate);

   鐢變簬Win.ini鏂囦歡鏄郴緇熷垵濮嬪寲鏂囦歡錛屽湪紼嬪簭娌℃湁榪愯鍓嶆枃浠跺唴涓嶅惈“DATE”鍜?#8220;PROGRAM”絳夎嚜瀹氫箟鐨勮妭浠ュ強鍏朵笅鍚勯」錛屽洜姝ゅ湪紼嬪簭絎竴嬈℃墽琛屽悗錛屽皢鐢盬riteProfileString錛堬級鍑芥暟鍚慦in.ini鏂囦歡鏈熬鍒涘緩鐩稿叧鑺傘侀」錛屽茍瀹屾垚鏁版嵁鐨勫啓鍏ャ?br style="line-height: 23px; ">



]]>
Doxygen+Graphviz 甯姪http://m.shnenglu.com/dfghj44444/archive/2010/09/08/126164.html鍙垜鑰佺帇鍚?/dc:creator>鍙垜鑰佺帇鍚?/author>Wed, 08 Sep 2010 07:45:00 GMThttp://m.shnenglu.com/dfghj44444/archive/2010/09/08/126164.htmlhttp://m.shnenglu.com/dfghj44444/comments/126164.htmlhttp://m.shnenglu.com/dfghj44444/archive/2010/09/08/126164.html#Feedback0http://m.shnenglu.com/dfghj44444/comments/commentRss/126164.htmlhttp://m.shnenglu.com/dfghj44444/services/trackbacks/126164.htmlDoxygen+Graphviz 甯姪
2010-02-02 10:33
@class 澹版槑涓涓被
@fn 澹版槑涓涓嚱鏁?/div>
@brief 綆瑕佽鏄?/div>
/**
@file RenderMgr.h
@brief 娓叉煋綆$悊綾?br style="line-height: normal; ">@date 3/16/2006
@author lethean
*/
@param 澹版槑涓涓弬鏁?/div>
@note 娉ㄨВ
@par paragraph錛岃嚜瀹氫箟涓涓钀芥爣棰橈紝綾諱技html涓?lt;p>
@code 浠g爜紺轟緥錛岄渶瑕佺敤@endcode灝侀棴錛屼唬鐮佹涓笉闇瑕佸姞鍓嶇疆*鍙?/div>

/**
@brief 璇誨彇bmp鏂囦歡
@remarks 嫻嬭瘯涓涓?br style="line-height: normal; ">@param [in] dc 浼犲叆涓涓猟c鐢ㄤ簬涓存椂鎿嶄綔
@param [in] filename bmp鏂囦歡鍚?br style="line-height: normal; ">@note 灞忓箷dc鍙兘鍦ㄤ竴澶勮浣跨敤錛岃紜繚浼犲叆灞忓箷dc鍚庡叾浠栧湴鏂逛笉浼氭搷浣滆dc
@par 浠g爜紺轟緥:
@code
   //浣跨敤
   CDC* dc = AfxGetMainWindow()->GetDC();
   Bitmap bmp( dc , "test.bmp");
   AfxGetMainWindow()->ReleaseDC( dc );
@endcode
*/
瀵逛簬鍗曡鐨勫墠緗敞閲婂彲浠ョ敤///錛屾垨鑰?** blahblah */ 鏍峰紡
///鎴戞槸涓涓彉閲?/div>
int index;
瀵逛簬鍗曡鐨勫悗緗敞閲婏紝闇瑕佸姞涓涓?<"絎﹀彿
int count; ///< 鎴戜篃鏄?/div>
/** 鍗忚鏍囪瘑 */
enum ProtoId { 
PROTOID_LOGIN, /**< 鐧婚檰鍗忚*/
PROTOID_BROWSE, /**< 嫻忚鍗忚*/
};
@defgroup鏄敤鏉ュ畾涔夋柊妯″潡鐨?/div>
闆嗕腑鍦ㄦ煇涓ご鏂囦歡涓畾涔夋墍鏈夌殑妯″潡錛岀劧鍚庡湪灞炰簬榪欎釜妯″潡鐨勭被瀹氫箟澶勪嬌鐢ˊingroup
EnginePrerequisite.h涓?/div>
/** 
@defgroup Render Render娓叉煋妯″潡
@defgroup Resource Resource綆$悊妯″潡
@defgroup Sound Sound澹伴煶妯″潡
@defgroup Anim Anim鍔ㄧ敾妯″潡
@defgroup Math Math鏁板搴撴ā鍧?br style="line-height: normal; ">@defgroup Script Script鑴氭湰妯″潡
*/
RenderMgr.h涓?/div>
/**
@class RenderMgr
@ingroup Render
*/

JavaDoc綾誨瀷錛?/span>

/**

* ... 紼嬪簭娉ㄩ噴 ...

*/

Qt綾誨瀷錛?/span>

/*!

* ... 紼嬪簭娉ㄩ噴...

*/    

鍗曡鍨嬪紡錛?/span>

/// 榪欐槸涓涓畝媧佸瀷鐨勬敞閲?/span>

//! 榪欎篃鏄竴涓畝媧佸瀷鐨勬敞閲?/span>

鐢?/span>Doxygen鐨勮繖鍑犵鍩烘湰娉ㄩ噴綾誨瀷灝卞彲浠ュ緩绔嬭凍浠ュ緩绔嬫枃妗d簡錛屽鏋滈渶瑕佹洿澶氬鏉傚姛鑳斤紝Doxygen榪樺彲浠ユ彁渚涢珮綰ф牸寮忓緇勶紙group錛夊拰鍒楄〃銆?/span>

Doxygen鐨勫父鐢ㄦ敞閲婂弬鏁幫細

@file

妗f鐨勬壒娉ㄨ鏄庛?/span>

@author

浣滆呯殑淇℃伅

@brief

鐢ㄤ簬class 鎴?/span>function鐨勬壒娉ㄤ腑錛屽悗闈負class 鎴?/span>function鐨勭畝鏄撹鏄庛?/span>

@param

鏍煎紡涓?/span>

@param arg_name 鍙傛暟璇存槑

涓昏鐢ㄤ簬鍑藉紡璇存槑涓紝鍚庨潰鎺ュ弬鏁扮殑鍚嶅瓧錛岀劧鍚庡啀鎺ュ叧浜庤鍙傛暟鐨勮鏄庛?/span>

@return

鍚庨潰鎺ュ嚱鏁頒紶鍥炲肩殑璇存槑銆傜敤浜?/span>function鐨勬壒娉ㄤ腑銆傝鏄庤鍑芥暟鐨勪紶鍥炲箋?/span>

@retval

鏍煎紡涓?/span>

@retval value 浼犲洖鍊艱鏄?/span>

涓昏鐢ㄤ簬鍑藉紡璇存槑涓紝璇存槑鐗瑰畾浼犲洖鍊肩殑鎰忎箟銆傛墍浠ュ悗闈㈣鍏堟帴涓涓紶鍥炲箋傜劧鍚庡湪鏀捐浼犲洖鍊肩殑璇存槑銆?/span>

Doxygen鐨勪嬌鐢紝濡備笅錛?/span>

E:\>xstring鐩綍鍖呭惈涓嬪垪鏂囦歡錛?/span>

Xstring.cpp

Xstring.h

鍏朵腑xstring.h閲屽xstring綾葷殑StrToInt鏂規硶鐨勬敞閲婂涓嬶細

       /**

       *

0. 搴忚█
涓轟唬鐮佸啓娉ㄩ噴涓鐩存槸澶у鏁扮▼搴忓憳鏈変簺鍥版壈鐨勪簨鎯呫傚綋鍓嶇▼搴忓憳閮借兘鎺ュ彈涓轟簡紼嬪簭鐨勫彲緇存姢鎬с佸彲璇繪х紪鐮佺殑鍚屾椂鍐欐敞閲婄殑璇存硶錛屼絾瀵瑰摢浜涘湴鏂瑰簲璇ュ啓娉ㄩ噴錛屾敞閲婂浣曞啓錛屽啓澶氬皯絳夎繖浜涢棶棰橈紝寰堝紼嬪簭鍛樹粛鐒舵病鏈夌瓟妗堛傛洿澶寸棝鐨勬槸鍐欐枃妗o紝浠ュ強緇存姢鏂囨。鐨勯棶棰橈紝寮鍙戜漢鍛橀氬父鍙互蹇嶅彈緙栧啓鎴栬呮敼鍔ㄤ唬鐮佹椂緙栧啓鎴栬呬慨鏀瑰搴旂殑娉ㄩ噴錛屼絾涔嬪悗闇瑕佷慨姝g浉搴旂殑鏂囨。鍗存瘮杈冨洶闅俱傚鏋滆兘浠庢敞閲婄洿鎺ヨ漿鍖栨垚鏂囨。錛屽寮鍙戜漢鍛樻棤鐤戞槸涓縐嶇闊熾傝宒oxygen灝辮兘鎶婇伒瀹堟煇縐嶆牸寮忕殑娉ㄩ噴鑷姩杞寲涓哄搴旂殑鏂囨。銆?/p>

Doxygen鏄熀浜嶨PL鐨勫紑婧愰」鐩紝鏄竴涓潪甯鎬紭縐鐨勬枃妗g郴緇燂紝褰撳墠鏀寔鍦ㄥぇ澶氭暟unix錛堝寘鎷琹inux錛夛紝windows瀹舵棌錛孧ac緋葷粺涓婅繍琛岋紝瀹屽叏鏀寔C++, C, Java, IDL錛圕orba鍜孧icrosoft 瀹舵棌錛夎璦錛岄儴鍒嗘敮鎸丳HP鍜孋#璇█錛岃緭鍑烘牸寮忓寘鎷琀TML銆乴atex銆丷TF銆乸s銆丳DF銆佸帇緙╃殑HTML鍜寀nix manpage銆傛湁寰堝寮婧愰」鐩紙鍖呮嫭鍓嶄袱綃囨枃绔犱粙緇嶇殑log4cpp鍜孋ppUnit錛夐兘浣跨敤浜哾oxygen鏂囨。緋葷粺銆傝屽浗鍐呯殑寮鍙戜漢鍛樺嵈浣跨敤鐨勪笉澶氾紝榪欓噷浠庡紑鍙戜漢鍛樹嬌鐢ㄧ殑瑙掑害浠嬬粛榪欎釜宸ュ叿錛屼嬌寮鍙戜漢鍛樼敤鏈灝戠殑浠d環灝藉揩鎺屾彙榪欑鎶鏈紝騫剁粨鍚堣繖涓伐鍏鋒帰璁ㄥ浣曟挵鍐欐敞閲婄殑闂銆備互涓嬩互linux涓嬬殑C++璇█涓轟緥榪涜浠嬬粛錛屼互涓嬭璁哄熀浜巇oxygen1.3.3銆?/p>

1. doxygen浣跨敤姝ラ
鐢變簬鍙槸宸ュ叿鐨勪嬌鐢紝榪欓噷涓嶄粙緇嶅畠鐨勫師鐞嗭紝鐩存帴浠庝嬌鐢ㄦ楠ゅ紑濮嬨侱oxygen鐨勪嬌鐢ㄦ楠ら潪甯哥畝鍗曘備富瑕佸彲浠ュ垎涓猴細
1錛夌涓嬈′嬌鐢ㄩ渶瑕佸畨瑁卍oxygen鐨勭▼搴?br style="line-height: normal; ">2錛夌敓鎴恉oxygen閰嶇疆鏂囦歡
3錛夌紪鐮佹椂錛屾寜鐓ф煇縐嶆牸寮忕紪鍐欐敞閲?br style="line-height: normal; ">4錛夌敓鎴愬搴旀枃妗?br style="line-height: normal; ">doxygen鐨勫畨瑁呴潪甯哥畝鍗曪紝 linux涓嬪彲浠ョ洿鎺ヤ笅杞藉畨瑁呭寘榪愯鍗沖彲錛屼笅杞芥簮浠g爜緙栬瘧瀹夎涔熸槸姣旇緝閫氱敤鐨勭紪璇戝畨瑁呭懡浠ゃ傝鍙傝冨叾瀹夎鏂囨。瀹屾垚瀹夎銆?/p>

Doxygen鍦ㄧ敓鎴愭枃妗f椂鍙互瀹氫箟欏圭洰灞炴т互鍙婃枃妗g敓鎴愯繃紼嬩腑鐨勫緢澶氶夐」錛屼嬌鐢ㄤ笅闈㈠懡浠よ兘澶熶駭鐢熶竴涓己鐪佺殑閰嶇疆鏂囦歡錛?br style="line-height: normal; ">doxygen -g [閰嶇疆鏂囦歡鍚峕
鍙互鏍規嵁欏圭洰鐨勫叿浣撻渶姹備慨鏀歸厤緗枃浠朵腑瀵瑰簲鐨勯」錛屽叿浣撶殑淇敼榪囩▼鍦ㄤ笅闈粙緇嶃備慨鏀硅繃鐨勯厤緗枃浠跺彲浠ヤ綔涓轟互鍚庨」鐩殑妯℃澘銆?/p>

璁ヾoxygen鑷姩浜х敓鏂囨。錛屽鉤甯哥殑娉ㄩ噴椋庢牸鍙笉琛岋紝闇瑕侀伒寰猟oxygen鑷繁鐨勬牸寮忋傚叿浣撳浣曞啓doxygen璁よ瘑鐨勬敞閲婂湪絎?鑺傝緇嗕粙緇嶃?/p>

OK錛屼唬鐮佺紪瀹屼簡錛屾敞閲婁篃鎸夌収鏍煎紡鍐欏ソ浜嗭紝鏈鍚庣殑鏂囨。鏄浣曠殑鍝紵闈炲父綆鍗曪紝榪愯涓嬮潰鐨勫懡浠わ紝鐩稿簲鐨勬枃妗e氨浼氫駭鐢熷湪鎸囧畾鐨勭洰褰曚腑銆?br style="line-height: normal; ">   doxygen [閰嶇疆鏂囦歡鍚峕

闇瑕佹敞鎰忕殑鏄痙oxygen騫朵笉澶勭悊鎵鏈夌殑娉ㄩ噴錛宒oxygen閲嶇偣鍏蟲敞涓庣▼搴忕粨鏋勬湁鍏崇殑娉ㄩ噴錛屾瘮濡傦細鏂囦歡銆佺被銆佺粨鏋勩佸嚱鏁般佸彉閲忋佸畯絳夋敞閲婏紝鑰屽拷鐣ュ嚱鏁板唴鍙橀噺銆佷唬鐮佺瓑鐨勬敞閲娿?/p>

2. doxygen閰嶇疆鏂囦歡
doxygen閰嶇疆鏂囦歡鐨勬牸寮忔槸涔熸槸閫氬父鐨剈nix涓嬮厤緗枃浠剁殑鏍煎紡錛氭敞閲?#'寮濮嬶紱tag = value [,value2…]錛涘浜庡鍊肩殑鎯呭喌鍙互浣跨敤 tag += value [,value2…]銆?/p>

瀵筪oxygen鐨勯厤緗枃浠剁殑淇敼鍒嗕負涓ょ被錛氫竴縐嶅氨鏄緭鍑洪夐」錛屾帶鍒跺浣曡В閲婃簮浠g爜銆佸浣曡緭鍑猴紱涓縐嶅氨鏄」鐩浉鍏崇殑淇℃伅錛屾瘮濡傞」鐩悕縐般佹簮浠g爜鐩綍銆佽緭鍑烘枃妗g洰褰曠瓑銆傚浜庣涓縐嶈緗ソ鍚庯紝閫氬父鎵鏈夐」鐩彲浠ュ叡鐢ㄤ竴浠介厤緗紝鑰屽悗涓縐嶆槸姣忎釜欏圭洰蹇呴』璁劇疆鐨勩備笅闈㈤夋嫨閲嶈鐨勶紝鏈夊彲鑳介渶瑕佷慨鏀圭殑閫夐」榪涜瑙i噴璇存槑錛屽叾浠栭夐」鍦ㄩ厤緗枃浠墮兘鏈夎緇嗚В閲娿?/p>

TAG 緙虹渷鍊?鍚箟
PROJECT_NAME   欏圭洰鍚嶇О
PROJECT_NUMBER   鍙互鐞嗚В涓虹増鏈俊鎭?br style="line-height: normal; ">OUTPUT_DIRECTORY   杈撳嚭鏂囦歡鍒扮殑鐩綍錛岀浉瀵圭洰褰曪紙doxygen榪愯鐩綍錛夋垨鑰呯粷瀵圭洰褰?br style="line-height: normal; ">INPUT   浠g爜鏂囦歡鎴栬呬唬鐮佹墍鍦ㄧ洰褰曪紝浣跨敤絀烘牸鍒嗗壊
FILE_PATTERNS *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp *.h++ *.idl *.odl 鎸囧畾INPUT鐨勭洰褰曚腑鐗瑰畾鏂囦歡錛屽錛?.cpp *.c *.h 
RECURSIVE NO 鏄惁閫掑綊INPUT涓洰褰曠殑瀛愮洰褰?br style="line-height: normal; ">EXCLUDE   鍦↖NPUT鐩綍涓渶瑕佸拷鐣ョ殑瀛愮洰褰?br style="line-height: normal; ">EXCLUDE_PATTERNS   鏄庣‘鎸囧畾鐨勫湪INPUT鐩綍涓渶瑕佸拷鐣ョ殑鏂囦歡錛屽錛欶romOut*.cpp
  
OUTPUT_LANGUAGE English 鐢熸垚鏂囨。鐨勮璦錛屽綋鍓嶆敮鎸?銆?0縐嶈璦錛屽浗鍐呯敤鎴峰彲浠ヨ緗負Chinese
USE_WINDOWS_ENCODING YES錛坵in鐗堟湰錛?br style="line-height: normal; ">NO錛坲nix鐗堟湰錛?緙栫爜鏍煎紡錛岄粯璁ゅ嵆鍙?br style="line-height: normal; ">EXTRACT_ALL NO 涓篘O錛屽彧瑙i噴鏈塪oxygen鏍煎紡娉ㄩ噴鐨勪唬鐮侊紱涓篩ES錛岃В鏋愭墍鏈変唬鐮侊紝鍗充嬌娌℃湁娉ㄩ噴銆傜被鐨勭鏈夋垚鍛樺拰鎵鏈夌殑闈欐侀」鐢盓XTRACT_PRIVATE鍜?EXTRACT_STATIC鎺у埗
EXTRACT_PRIVATE NO 鏄惁瑙f瀽綾葷殑縐佹湁鎴愬憳
EXTRACT_STATIC NO 鏄惁瑙f瀽闈欐侀」
EXTRACT_LOCAL_CLASSES YES 鏄惁瑙f瀽婧愭枃浠訛紙cpp鏂囦歡錛変腑瀹氫箟鐨勭被
SOURCE_BROWSER NO 濡傛灉涓篩ES錛屾簮浠g爜鏂囦歡浼氳鍖呭惈鍦ㄦ枃妗d腑
INLINE_SOURCES NO 濡傛灉涓篩ES錛屽嚱鏁板拰綾葷殑瀹炵幇浠g爜琚寘鍚湪鏂囨。涓?br style="line-height: normal; ">ALPHABETICAL_INDEX NO 鐢熸垚涓涓瓧姣嶅簭鐨勫垪琛紝鏈夊緢澶氱被銆佺粨鏋勭瓑欏規椂寤鴻璁句負YES
GENERATE_HTML YES 鏄惁鐢熸垚HTML鏍煎紡鏂囨。
GENERATE_HTMLHELP NO 鏄惁鐢熸垚鍘嬬緝HTML鏍煎紡鏂囨。錛?chm錛?br style="line-height: normal; ">GENERATE_LATEX YES 鏄惁涔樿濺latex鏍煎紡鐨勬枃妗?br style="line-height: normal; ">GENERATE_RTF NO 鏄惁鐢熸垚RTF鏍煎紡鐨勬枃妗?br style="line-height: normal; ">GENERATE_MAN NO 鏄惁鐢熸垚man鏍煎紡鏂囨。
GENERATE_XML NO 鏄惁鐢熸垚XML鏍煎紡鏂囨。
  

3. doxygen娉ㄩ噴
3.1 娉ㄩ噴椋庢牸
涓嬮潰鏄伐浣滈噺鏈澶ч儴鍒嗭紝瀹夎doxygen鏍煎紡鍐欐敞閲娿傞氬父浠g爜鍙互闄勪笂涓涓敞閲婂潡鏉ュ浠g爜榪涜瑙i噴錛屼竴涓敞閲婂潡鐢變竴琛屾垨鑰呭琛岀粍鎴愩傞氬父涓涓敞閲婂潡鍖呮嫭涓涓畝瑕佽鏄庯紙brief錛夊拰涓涓緇嗚鏄庯紙detailed錛夛紝榪欎袱閮ㄥ垎閮芥槸鍙夌殑銆傚彲浠ユ湁澶氱鏂瑰紡鏍囪瘑鍑篸oxygen鍙瘑鍒殑娉ㄩ噴鍧椼?br style="line-height: normal; ">1錛塉avaDoc綾誨瀷鐨勫琛屾敞閲娿?br style="line-height: normal; ">/**
* ….text….
*/
2錛塓T鏍峰紡鐨勫琛屾敞閲娿?br style="line-height: normal; ">/*!
….text….
*/
3錛?/// …text….
4錛?//! …text….
綆瑕佽鏄庢湁澶氱鏂瑰紡鏍囪瘑錛岃繖閲屾帹鑽愪嬌鐢ˊbrief鍛戒護寮哄埗璇存槑錛屼緥濡傦細
/**
* @brief [some brief description ]
*      [ brief description more. ]

* [some more detailed description…]
*/
浠ヤ笂榪欎簺娉ㄩ噴鏍煎紡鐢ㄦ潵瀵圭揣璺熷叾鍚庣殑浠g爜榪涜娉ㄩ噴銆俤oxygen涔熷厑璁告妸娉ㄩ噴鏀懼埌浠g爜鍚庨潰錛屽叿浣撴牸寮忔槸鏀句竴涓?<'鍒版敞閲婂紑濮嬮儴鍒嗐備緥濡傦細
int var1 ; /**< ….text…. */
int var2; ///< ….text….

娉ㄩ噴鍜屼唬鐮佸畬鍏ㄥ垎紱伙紝鏀懼湪鍏朵粬鍦版柟涔熸槸鍏佽鐨勶紝浣嗛渶瑕佷嬌鐢ㄧ壒孌婄殑鍛戒護鍔犱笂鍚嶇О鎴栬呭0鏄庤繘琛屾爣璇嗭紝姣斿錛歝lass銆乻truct銆乽nion銆乪num銆乫n銆乿ar銆乨ef銆乫ile銆乶amespace銆乸ackage銆乮nterface錛堣繖浜涗篃灝辨槸doxygen鍏蟲敞鐨勬敞閲婄被鍨嬶級銆傝繖閲屼笉鎺ㄨ崘浣跨敤錛屽緩璁敞閲婂敖閲忔斁鍦ㄤ唬鐮佸墠鍚庛傚叿浣撲嬌鐢ㄦ柟寮忓弬瑙乨oxygen鎵嬪唽銆?/p>

3.2 doxygen甯哥敤娉ㄩ噴鏍煎紡
閫氬父鐨勯夋嫨涓婇潰鐨勪竴銆佷袱縐嶆敞閲婇鏍鹼紝閬囧埌澶存枃浠朵腑鍚勭綾誨瀷瀹氫箟錛屽叧閿彉閲忋佸畯鐨勫畾涔夛紝鍦ㄥ叾鍓嶆垨鑰呭悗浣跨敤 @brief 瀹氫箟鍏剁畝瑕佽鏄庯紝絀轟竴琛屽悗緇х畫鍐欏叾璇︾粏鐨勬敞閲婂嵆鍙?/p>

瀵瑰嚱鏁扮殑娉ㄩ噴錛屾槸姣旇緝甯稿父闇瑕佹敞閲婄殑閮ㄥ垎銆傞櫎浜嗗畾涔夊叾綆瑕佽鏄庝互鍙婅緇嗘敞閲婏紝榪樺彲浠ヤ嬌鐢╬aram鍛戒護瀵瑰叾鍚勪釜鍙傛暟榪涜娉ㄩ噴錛屼嬌鐢╮eturn鍛戒護瀵硅繑鍥炲艱繘琛屾敞閲娿傚父瑙佺殑鏍煎紡濡備笅錛?br style="line-height: normal; ">/**
*@brief func's brief comment.
*
* Some detailed comment.
*@param a [param a 's comment.]
*@param b [param b 's comment.]
*@exception std::out_of_range [exception's comment.]
*@return [return's comment.]
*/
int func1(int a, int b);

榪涜璁捐鏃訛紝閫氬父鏈夋ā鍧楃殑姒傚康錛屼竴涓ā鍧楀彲鑳芥湁澶氫釜綾繪垨鑰呭嚱鏁扮粍鎴愶紝瀹屾垚鏌愪釜鐗瑰畾鍔熻兘鐨勪唬鐮佺殑闆嗗悎銆傚浣曞榪欎釜姒傚康榪涜娉ㄩ噴錛焏oxygen鎻愪緵浜唃roup鐨勬蹇碉紝鐢熸垚鐨勬ā鍧楃殑娉ㄩ噴浼氬崟鐙斁鍦ㄤ竴涓ā鍧楃殑欏甸潰涓備嬌鐢ㄤ笅闈㈢殑鏍煎紡瀹氫箟涓涓猤roup銆?br style="line-height: normal; ">/** [group_name] [brief group description ]
* detailed group description ]
* @{
*/
code
/** @} */
group涓殑浠g爜鍙互鏈夎嚜宸辯殑娉ㄩ噴銆傚崟綰畾涔変竴涓ā鍧楋紝鍘婚櫎{ 鍜寎鍛戒護鍗沖彲銆備換浣曞叾浠栦唬鐮侀」錛堟瘮濡傜被銆佸嚱鏁般佺敋鑷蟲枃浠訛級濡傛灉瑕佸姞鍏ュ埌鏌愪釜妯″潡錛屽彲浠ュ湪鍏禿oxygen娉ㄩ噴涓嬌鐢╥ngroup鍛戒護鍗沖彲銆侴roup涔嬮棿浣跨敤ingroup鍛戒護錛屽彲浠ョ粍鎴愭爲鐘跺叧緋匯?br style="line-height: normal; ">/** @file util.cpp 
* @ingroup [group_name]
* @brief file's brief info.
*/
鎶婂涓唬鐮侀」涓璧鋒坊鍔犲埌鏌愪釜妯″潡涓彲浠ヤ嬌鐢╝ddtogroup鍛戒護錛屾牸寮忓拰defgroup鐩鎬技銆?/p>

瀵逛簬鏌愬嚑涓姛鑳界被浼肩殑浠g爜欏癸紙姣斿綾匯佸嚱鏁般佸彉閲忥級絳夛紝濡傛灉甯屾湜涓璧鋒坊鍔犳敞閲婏紝鑰屽張涓嶆兂鎻愬崌鍒版ā鍧楃殑姒傚康錛屽彲浠ラ氳繃涓嬮潰鐨勬柟寮忥細
//@{
/** Comments for all below code. */
code…
//@}
瀵硅繖縐嶇粍榪涜鍛藉悕鍙互浣跨敤name鍛戒護銆傛鏃朵腑闂翠唬鐮佸彲浠ユ湁鑷繁鐨勬敞閲娿傚錛?br style="line-height: normal; ">/** @name group_name
* description for group.
*/
//@{
code…
//@}

3.3 doxygen甯哥敤娉ㄩ噴鍛戒護
doxygen閫氳繃娉ㄩ噴鍛戒護璇嗗埆娉ㄩ噴涓渶瑕佺壒孌婂鐞嗙殑娉ㄩ噴錛屾瘮濡傚嚱鏁扮殑鍙傛暟銆佽繑鍥炲艱繘琛岀獊鍑烘樉紺恒備笂闈篃鎻愬埌浜嗕竴浜涙敞閲婂懡浠わ紙濡傦細brief銆乸aram銆乺eturn銆佷互鍙奼roup鐩稿叧鐨勫懡浠わ級錛屼笅闈㈠鍏朵粬涓浜涘父鐢ㄧ殑娉ㄩ噴鍛戒護榪涜瑙i噴璇存槑銆?br style="line-height: normal; ">@exception <exception-object> {exception description} 瀵逛竴涓紓甯稿璞¤繘琛屾敞閲娿?br style="line-height: normal; ">@warning {warning message } 涓浜涢渶瑕佹敞鎰忕殑浜嬫儏
@todo { things to be done } 瀵瑰皢瑕佸仛鐨勪簨鎯呰繘琛屾敞閲?br style="line-height: normal; ">@see {comment with reference to other items } 涓孌靛寘鍚叾浠栭儴鍒嗗紩鐢ㄧ殑娉ㄩ噴錛屼腑闂村寘鍚鍏朵粬浠g爜欏圭殑鍚嶇О錛岃嚜鍔ㄤ駭鐢熷鍏剁殑寮曠敤閾炬帴銆?br style="line-height: normal; ">@relates <name> 閫氬父鐢ㄥ仛鎶婇潪鎴愬憳鍑芥暟鐨勬敞閲婃枃妗e寘鍚湪綾葷殑璇存槑鏂囨。涓?br style="line-height: normal; ">@since {text} 閫氬父鐢ㄦ潵璇存槑浠庝粈涔堢増鏈佹椂闂村啓姝ら儴鍒嗕唬鐮併?br style="line-height: normal; ">@deprecated
@pre { description of the precondition } 鐢ㄦ潵璇存槑浠g爜欏圭殑鍓嶆彁鏉′歡銆?br style="line-height: normal; ">@post { description of the postcondition } 鐢ㄦ潵璇存槑浠g爜欏逛箣鍚庣殑浣跨敤鏉′歡銆?br style="line-height: normal; ">@code 鍦ㄦ敞閲婁腑寮濮嬭鏄庝竴孌典唬鐮侊紝鐩村埌@endcode鍛戒護銆?br style="line-height: normal; ">@endcode 娉ㄩ噴涓唬鐮佹鐨勭粨鏉熴?/p>

鍒版涓烘錛屽父鐢ㄧ殑doxygen鐨勬敞閲婃牸寮忚璁哄畬姣曪紝鎴戜滑鑳藉鎸夌収涓瀹氱殑鏍煎紡鎾板啓doxygen璁よ瘑鐨勬敞閲婏紝騫惰兘澶熶嬌鐢╠oxygen鏂逛究蹇嵎鐨勭敓鎴愬搴旂殑鏂囨。錛屼笉榪囨敞閲婁腑搴旇鍐欎簺浠涔堬紝濡備綍鎾板啓鏈夋晥鐨勬敞閲婂彲鑳芥槸鍥版壈寮鍙戜漢鍛樼殑涓涓洿娣卞眰嬈$殑闂銆?/p>

4. 娉ㄩ噴鐨勪功鍐?br style="line-height: normal; ">娉ㄩ噴搴旇鎬庝箞鍐欙紝鍐欏榪樻槸鍐欏皯銆傝繃澶氱殑娉ㄩ噴鐢氳嚦浼氬共鎵板浠g爜鐨勯槄璇匯傚啓娉ㄩ噴鐨勪竴涓葷殑鍘熷垯灝辨槸娉ㄩ噴搴旇灝介噺鐢ㄦ潵琛ㄦ槑浣滆呯殑鎰忓浘錛岃嚦灝戜篃搴旇鏄涓閮ㄥ垎浠g爜鐨勬葷粨錛岃屼笉搴旇鏄浠g爜鐨勯噸澶嶆垨鑰呰В閲娿傚浠g爜鐨勯噸澶嶆垨鑰呰В閲婄殑浠g爜錛岀湅浠g爜鍙兘鏇村鏄撶悊瑙c傚弽鏄犱綔鑰呮剰鍥劇殑娉ㄩ噴瑙i噴浠g爜鐨勭洰鐨勶紝浠庤В鍐抽棶棰樼殑灞傛涓婅繘琛屾敞閲婏紝鑰屼唬鐮佹葷粨鎬ф敞閲婂垯鏄粠闂鐨勮В絳旂殑灞傛涓婅繘琛屾敞閲娿?/p>

鎺ㄨ崘鐨勫啓娉ㄩ噴鐨勮繃紼嬫槸棣栧厛浣跨敤娉ㄩ噴鍕懼嫆鍑轟唬鐮佺殑涓昏妗嗘灦錛岀劧鍚庢牴鎹敞閲婃挵鍐欑浉搴旂殑浠g爜銆傚鍚勭涓昏鐨勬暟鎹粨鏋勩佽緭鍑虹殑鍑芥暟銆佸涓嚱鏁板叕鐢ㄧ殑鍙橀噺榪涜璇︾粏鍦版敞閲娿傚浠g爜涓帶鍒剁粨鏋勶紝鍗曚竴鐩殑鐨勮鍙ラ泦榪涜娉ㄩ噴銆備笅闈㈡槸涓浜涘啓娉ㄩ噴鏃墮渶瑕佹敞鎰忕殑瑕佺偣錛?br style="line-height: normal; ">   閬垮厤瀵瑰崟鐙鍙ヨ繘琛屾敞閲婏紱
   閫氳繃娉ㄩ噴瑙i噴涓轟粈涔堣繖涔堝仛銆佹垨鑰呰鍋氫粈涔堬紝浣夸唬鐮佺殑璇昏呭彲浠ュ彧闃呰娉ㄩ噴鐞嗚В浠g爜錛?br style="line-height: normal; ">   瀵硅鑰呭彲鑳戒細鏈夌枒闂殑鍦版柟榪涜娉ㄩ噴錛?br style="line-height: normal; ">   瀵規暟鎹畾涔夎繘琛屾敞閲婏紝鑰屼笉鏄鍏朵嬌鐢ㄨ繃紼嬭繘琛屾敞閲婏紱
   瀵逛簬闅句簬鐞嗚В鐨勪唬鐮侊紝榪涜鏀瑰啓錛岃屼笉瑕佽瘯鍥鵑氳繃娉ㄩ噴鍔犱互璇存槑錛?br style="line-height: normal; ">   瀵瑰叧閿殑鎺у埗緇撴瀯榪涜娉ㄩ噴錛?br style="line-height: normal; ">   瀵規暟鎹拰鍑芥暟鐨勮竟鐣屻佷嬌鐢ㄥ墠鎻愮瓑榪涜娉ㄩ噴錛?/p>

      铏界劧浣跨敤鍚勭IDE鎴栬匰ource Insight 鍙互鏂逛究鍦板湪windows涓嬮槄璇誨拰鍒嗘瀽C/C++浠g爜錛屼絾鏄竴姝ユGo to Definetion 瀹炲湪浠や漢鐥涜嫤銆侱oxygen鑳藉鐢熸垚鍑芥暟璋冪敤鍏崇郴鍥撅紝鎵鏈夌殑鍑芥暟璋冪敤鍏崇郴鍙互涓鐩簡鐒訛紝鍙﹀浠栬繕鑳界粺璁℃枃妗d腑鎵鏈夌殑綾伙紝鎴愬憳鍙橀噺錛屾垚鍛樺嚱鏁扮瓑銆傛葷殑鏉ヨ錛孌oxygen涓嶄絾鑳戒粠灞閮ㄦ妸鎻′唬鐮侊紝榪樿兘浠庡叏灞瀹¤浠g爜錛屽悗鑰呮槸涓鑸琁DE鍜孲ource Insight 涓嶈兘鍋氬埌鐨勩傛墍浠ワ紝浣跨敤doxygen闃呰鍒嗘瀽浠g爜鍙互杈懼埌浜嬪崐鍔熷嶇殑鏁堟灉銆?/p>

          doxygen鐨勫畨瑁呭緢綆鍗曪紝鍒板畼鏂圭綉绔欎笅杞絛oxygen鐨剋indows瀹夎紼嬪簭鍗沖彲銆傞櫎浜嗗畨瑁卍oxygen澶栵紝榪橀渶瑕佸畨瑁単raphviz錛屽洜涓篸oxygen闇瑕佷嬌鐢╣raphviz鐨刣ot.exe鐢熸垚璋冪敤鍥俱俫raphviz鍦ㄥ畠鐨勫畼鏂圭綉绔欎笂涔熷彲浠ヤ笅杞藉埌瀹夎紼嬪簭銆備笉榪囨垜涓嬭澆鐨勫畨瑁呯▼搴忓湪瀹夎鏃惰佹槸鎶ab鏂囦歡閿欒銆傛渶鍚庢垜涓嬭澆浜唃raphviz鐨剅elease鏂囦歡錛屽嵆瀹夎紼嬪簭涓嬮潰鐨剒ip鍘嬬緝鏂囦歡錛屼笅杞藉畬鎴愬悗瑙e帇緙╁嵆鍙?/p>

         瀹夎瀹宒oxygen鍚庡嵆鍙繘琛岄傚綋鐨勯厤緗紝鐒跺悗榪愯doxyfile鐢熸垚鏂囨。銆傚熀鏈殑閰嶇疆鍓嶄漢鏃╂湁璇存槑錛屼笉鍐嶈禈榪般傞渶瑕佹敞鎰忕殑鏄細

        1.瑕佸嬀閫塂ot閫夐」鍗′笅闈㈢殑HAVE_DOT銆丆ALL_GRAPH 銆丆ALLER_GRAPH 閫夐」銆傚茍鍦―OT_PATH涓嬮潰濉叆dot.exe鐨勮礬寰勶紝涔熷氨鏄痝raphviz瀹夎鐩綍涓嬬殑bin鏂囦歡澶廣?/p>

        2.鍕鵑塛izard->Project閫夐」鍗′笅闈㈢殑Scan recursively錛?/p>

        3.鍕鵑塀uild閫夐」鍗′笅闈㈢殑EXTRACT_ALL銆丒XTRACT_PRIVATE銆丒XTRACT_STATIC銆丒XTRACT_LOCAL_CLASSES銆丒XTRACT_LOCAL_METHODS閫夐」

        4.濡傛灉紼嬪簭閲岄潰鏈変腑鏂囷紝灝哖roject閫夐」鍗′笅鐨凞OXYFILE_ENCODING鍜孖nput閫夐」鍗′笅闈㈢殑INPUT_ENCODING鏀逛負GBK

       5.鍙互鍕炬帀LATEX杈撳嚭錛岃繖鏍瘋妭鐪佺紪璇戞椂闂?/p>

5. 鍙傝冭祫鏂?br style="line-height: normal; ">1. doxygen homepage
http://www.stack.nl/~dimitri/doxygen/

2. doxygen manual 
http://www.stack.nl/~dimitri/doxygen/manual.html

3. Code Complete: A Practical Handbook of Software Construction. Redmond, Wa.: Microsoft Press, 880 pages, 1993. ISBN: 1-55615-484-4. 

4. 綆浠媎oxygen
http://www.stack.nl/~dimitri/doxygen/doxygen_intro_cn.html

5. 10 Minutes to document your code
http://www.codeproject.com/tips/doxysetup.asp

6. 浣跨敤doxygen
http://www.csdn.net/Develop/article/16%5C16383.shtm



]]>
DOXYGEN綆鏄庡疄鐢ㄦ暀紼?/title><link>http://m.shnenglu.com/dfghj44444/archive/2010/09/08/126161.html</link><dc:creator>鍙垜鑰佺帇鍚?/dc:creator><author>鍙垜鑰佺帇鍚?/author><pubDate>Wed, 08 Sep 2010 07:15:00 GMT</pubDate><guid>http://m.shnenglu.com/dfghj44444/archive/2010/09/08/126161.html</guid><wfw:comment>http://m.shnenglu.com/dfghj44444/comments/126161.html</wfw:comment><comments>http://m.shnenglu.com/dfghj44444/archive/2010/09/08/126161.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/dfghj44444/comments/commentRss/126161.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/dfghj44444/services/trackbacks/126161.html</trackback:ping><description><![CDATA[ <div id="hvzpftn" class="postbody" style="padding-top: 1em; padding-right: 1.5em; padding-left: 1.5em; padding-bottom: 2em; line-height: 19px; font-size: 1em; color: rgb(255, 255, 255); font-family: Verdana, Arial, Helvetica, sans-serif; "><p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; line-height: 19px; font-size: 1em; text-indent: 0px; "><font color="#009999" face="'trebuchet ms', 'lucida grande', verdana, arial, sans-serif" size="5"><span style="font-size: 17px; letter-spacing: 1px; line-height: normal; text-transform: uppercase;"><strong><span style="color: rgb(255, 255, 255); font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: normal; letter-spacing: normal; text-transform: none; font-size: 13px; "></span></strong></span></font></p><font color="#009999" face="'trebuchet ms', 'lucida grande', verdana, arial, sans-serif" size="5"><strong><div id="hvzpftn" class="posthead" style="padding-top: 2px; padding-right: 1em; padding-bottom: 2px; padding-left: 1em; font-size: 0.9em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><h2 style="margin-top: 0px; font-size: 1.2em; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.5em; padding-right: 0em; padding-bottom: 0em; padding-left: 0em; letter-spacing: 1px; text-transform: uppercase; "><a id="ctl03_TitleUrl" class="singleposttitle" style="text-decoration: none; color: rgb(255, 153, 0); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">DOXYGEN綆鏄庡疄鐢ㄦ暀紼?/a></h2>Posted on 2009-03-04 21:31 <a style="text-decoration: none; color: rgb(255, 153, 0); ">媧葷潃灝辨槸騫哥</a> 闃呰(507) <a style="text-decoration: none; color: rgb(255, 153, 0); ">璇勮(0)</a> <a style="text-decoration: none; color: rgb(255, 153, 0); ">緙栬緫</a> <a style="text-decoration: none; color: rgb(255, 153, 0); ">鏀惰棌</a> 鎵灞炲垎綾? <a style="text-decoration: none; color: rgb(255, 153, 0); ">Project Management</a><img src="http://www.cnblogs.com/wswqwps/aggbug/1403376.html?type=1&webview=1" width="1px" height="1px" alt="" style="border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(102, 102, 102); border-right-color: rgb(102, 102, 102); border-bottom-color: rgb(102, 102, 102); border-left-color: rgb(102, 102, 102); margin-right: 5px; margin-bottom: 5px; margin-left: 5px; "></div><div id="hvzpftn" class="postbody" style="padding-top: 1em; padding-right: 1.5em; padding-left: 1.5em; padding-bottom: 2em; line-height: 19px; font-size: 1em; "><p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; line-height: 19px; font-size: 1em; text-indent: 0px; ">浠g爜鍐欏浜嗛毦鍏嶉渶瑕佸仛鏂囨。錛岀粰鑷繁榪樻槸緇欏埆浜虹湅閮介渶瑕佸姝わ紝榪欐XBOX360鍒朵綔錛屽墠鏈熸病鎬庝箞鍐欐敞閲婏紝鍥炲ご鏀笲ug閮借鐚滃崐澶╄嚜宸卞啓鐨勪唬鐮佹槸浠涔堟剰鎬濄傛洿鍒彁鍒漢鍐欑殑涓滆タ錛?00琛屼唬鐮佷篃娌℃湁涓鍙ユ敞閲婏紝騫稿ソ涓嶆槸鎴戠淮鎶わ紝鍚﹀垯瑕佺柉鎺変簡銆?/p><p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; line-height: 19px; font-size: 1em; text-indent: 0px; ">鑺變簡涓澶╁姛澶皾璇曚簡涓涓婦oxygen鐨勪嬌鐢紝榪樺ソ涓嶉毦錛屼絾鏄湁浜涚紓曠粖緇婏紝瀹冭嚜宸辯殑鏂囨。涔熻涓嶆竻妤氾紝緗戜笂鎼滃嚭鏉ョ殑鏁欑▼涔熷彧鏄粰鍑烘牱瀛愶紝閬囧埌鐨勯棶棰樿繕鏄潬鑷繁灝濊瘯浜嗗嚑鍗佹鎵嶆悶瀹氥?/p><p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; line-height: 19px; font-size: 1em; text-indent: 0px; ">涓嶇濡備綍錛屽父鐢ㄧ殑涓滆タ閮藉彲浠ュ紕鍑烘潵浜嗐傝創鍦ㄤ笅闈細<br></p><p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; line-height: 19px; font-size: 1em; text-indent: 0px; "> -----------------------------------------------------------------------------------</p><p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; line-height: 19px; font-size: 1em; text-indent: 0px; ">1.鎵鏈夋敞閲婇兘鍙互浣跨敤///寮濮?C++椋庢牸)銆?br><br>2.綾諱綋鍓嶅繀欏誨姞涓?//鎻忚堪錛屽惁鍒欎細浜х敓璀﹀憡銆怌ompound 綾誨悕 is not documented銆?br>  鎻忚堪涓渶濂戒笉瑕佸甫鏈夋綾葷殑綾誨悕錛屽惁鍒欎細浜х敓涓や釜閾炬帴(浣嗘寚鍚戝悓涓涓枃浠?褰卞搷緹庤銆?br><br>3.public鍜宲rotected浼氳嚜鍔ㄧ敓鎴愶紝浣嗘槸private瑕佸湪Expert鐨凚uild閫夐」閲屽嬀涓璄XTRACT_PRIVATE錛宻tatic鎴愬憳涔熸槸濡傛銆?br><br>4.鍑芥暟娉ㄩ噴鏂瑰紡<br>    /// Constructor銆愬嚱鏁版弿榪般?br>    /// @param [in] pos       The position of Camera in world coordinate         銆愬弬鏁版弿榪?銆?br>    /// @param [in] lookat    The point Camera looks at in world coordinate    銆愬弬鏁版弿榪?銆?br>    BaseCamera( const D3DXVECTOR3& pos, const D3DXVECTOR3& lookat );<br><br>5.鍙橀噺娉ㄩ噴鏂瑰紡<br>    D3DXVECTOR3 m_Position;    /*!< Camera position point in world coordinate */   鎴?br>    D3DXVECTOR3 m_Position;    ///< Camera position point in world coordinate<br>涓ょ鏂瑰紡浜х敓鐨勭粨鏋滀笉鍚屻傚墠鑰呬細鍗曠嫭浜х敓涓鍧桵ember Data Documentation娉ㄩ噴錛屽悗鑰呬細鍦≒ubilc/Protected/Private Attributes鍙橀噺鎻忚堪鍚庣揣璺熸敞閲娿?br><br>6.@鍙傛暟鍜孿鍙傛暟鐩稿悓<br><br>7.浜х敓鎻忚堪欏哄簭鍜屾敞閲婇『搴忕浉鍚岋紝涓鑸鏍間負<br><br>    /// 鍑芥暟鎻忚堪<br>    /// @param     鍙傛暟鎻忚堪<br>    /// @return     榪斿洖鍊兼弿榪?br>    /// @retval     榪斿洖鍊?     榪斿洖鍊?鎻忚堪<br>    /// @retval     榪斿洖鍊?     榪斿洖鍊?鎻忚堪<br>    /// @remarks     娉ㄦ剰浜嬮」<br>    /// @note    娉ㄦ剰浜嬮」錛屽姛鑳藉悓@remarks,鏄劇ず瀛楁牱涓嶅悓<br>    /// @par    鑷畾涔夊浘鍧楋紝鍚庨潰鍙窡紺轟緥浠g爜涔嬬被<br>    /// @code(蹇呴』浣跨敤@endcode緇撴潫)<br>    /// 紺轟緥浠g爜(鏃犻渶緙╄繘)    <br>    /// @endcode<br>    /// @see     鍏朵粬鍙傝冮」銆愪駭鐢熸寚鍚戝弬鑰冪殑閾炬帴銆?br>    鍑芥暟浠g爜澹版槑<br><br>8.鐗規畩絎﹀彿<br>    /// -        浜х敓涓涓粦鑹插渾鐐?br><br>9.瀹氫箟鍦ㄧ被浣撻噷闈㈢殑enum<br>    /// Camera types<br>    enum CAMERA_TYPE<br>    {<br>        CAMERA_FIRST_VIEW,/*!< Camera that looks from the first view */<br>        CAMERA_MODEL_VIEW,///< Camera that looks from the third view<br>    };<br>    涓ょ椋庢牸鐩稿悓銆?br><br>浠ヤ笅寮濮嬬殑欏歸兘鏄叏灞闈炵被鍐呭畾涔夛紝鍦ㄦ枃浠舵渶寮濮?鎴戝皾璇曟槸鍦╥nclude涔嬪墠) 蹇呴』鍔犱笂銆?// \file 鏂囦歡鍚嶃戯紝鍚﹀垯涓嶄細鐢熸垚娉ㄩ噴銆愭病鏈塅ile Member欏點戙?br><br>10. 瀹氫箟鍦ㄦ枃浠墮噷闈㈢殑瀹?br>     #define CAMERA_TYPE_NUMBER     ///< The number of camera types.       鎴?br>     #define CAMERA_TYPE_NUMBER     /*!< The number of camera types. */<br>椋庢牸璇存槑瑙?銆?br><br>11. 闈炵被鍐卐num瀹氫箟鍚?0.        涓ょ椋庢牸鐩稿悓銆傝9銆?br>12. 闈炵被鍐卼ypedef瀹氫箟鍚?0.     椋庢牸璇存槑瑙?銆?/p></div></strong></font><p> </p></div><img src ="http://m.shnenglu.com/dfghj44444/aggbug/126161.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/dfghj44444/" target="_blank">鍙垜鑰佺帇鍚?/a> 2010-09-08 15:15 <a href="http://m.shnenglu.com/dfghj44444/archive/2010/09/08/126161.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://m.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://www18998.com" target="_blank">欧美sm视频</a>| <a href="http://xuduoshu.com" target="_blank">日韩亚洲欧美成人一区</a>| <a href="http://5c55c5c.com" target="_blank">亚洲一区日本</a>| <a href="http://50ud.com" target="_blank">午夜欧美理论片</a>| <a href="http://987gqb.com" target="_blank">国产日韩精品在线观看</a>| <a href="http://216667.com" target="_blank">欧美一区二区福利在线</a>| <a href="http://sxxawef.com" target="_blank">蜜桃精品久久久久久久免费影院</a>| <a href="http://jm1688e.com" target="_blank">最新热久久免费视频</a>| <a href="http://xiaobi13.com" target="_blank">欧美四级剧情无删版影片</a>| <a href="http://hzhzzz.com" target="_blank">午夜天堂精品久久久久 </a>| <a href="http://337791.com" target="_blank">嫩草影视亚洲</a>| <a href="http://7345jj.com" target="_blank">欧美日韩亚洲一区二区</a>| <a href="http://6w7y.com" target="_blank">久久久99国产精品免费</a>| <a href="http://www11111111.com" target="_blank">亚洲美女视频网</a>| <a href="http://hkbsi.com" target="_blank">亚洲一区二区伦理</a>| <a href="http://maokk77.com" target="_blank">久久久亚洲综合</a>| <a href="http://4446666.com" target="_blank">亚洲欧美在线免费</a>| <a href="http://www8qa.com" target="_blank">一本一本大道香蕉久在线精品</a>| <a href="http://7171152.com" target="_blank">久久久青草青青国产亚洲免观</a>| <a href="http://2456yo.com" target="_blank">亚洲精选成人</a>| <a href="http://spyfaw.com" target="_blank">黄色成人av网</a>| <a href="http://qcjpns.com" target="_blank">国产精品乱子乱xxxx</a>| <a href="http://521mu.com" target="_blank">欧美电影打屁股sp</a>| <a href="http://789583.com" target="_blank">久久久久久网址</a>| <a href="http://301110.com" target="_blank">欧美日韩另类视频</a>| <a href="http://xfrlyy.com" target="_blank">韩国精品在线观看</a>| <a href="http://dzyhjx.com" target="_blank">亚洲无限av看</a>| <a href="http://anquye16.com" target="_blank">亚洲国产第一</a>| <a href="http://chengli88.com" target="_blank">韩国一区二区在线观看</a>| <a href="http://www-55655.com" target="_blank">一区二区免费在线播放</a>| <a href="http://chunhuigk.com" target="_blank">最近中文字幕日韩精品</a>| <a href="http://789469.com" target="_blank">亚洲在线1234</a>| <a href="http://xccp4888.com" target="_blank">一区二区欧美在线</a>| <a href="http://k82net.com" target="_blank">久久久久久电影</a>| <a href="http://969093.com" target="_blank">国产精品丝袜白浆摸在线</a>| <a href="http://yw-95588.com" target="_blank">欧美日韩成人综合天天影院</a>| <a href="http://13751144594.com" target="_blank">老鸭窝毛片一区二区三区</a>| <a href="http://cao2014.com" target="_blank">欧美一级电影久久</a>| <a href="http://www-4012345.com" target="_blank">欧美激情1区2区</a>| <a href="http://pgpg520.com" target="_blank">欧美成人精品福利</a>| <a href="http://7m08.com" target="_blank">国产一区二区三区av电影</a>| <a href="http://saohu79.com" target="_blank">国产亚洲成人一区</a>| <a href="http://75yyyy.com" target="_blank">9久re热视频在线精品</a>| <a href="http://060607.com" target="_blank">亚洲国产你懂的</a>| <a href="http://wwwgay456.com" target="_blank">亚洲欧洲一区二区天堂久久</a>| <a href="http://ydpszcn.com" target="_blank">欧美专区中文字幕</a>| <a href="http://www44552.com" target="_blank">久久久国产精品一区二区中文</a>| <a href="http://wwwavtb1122.com" target="_blank">久久精品人人</a>| <a href="http://hh474.com" target="_blank">久久婷婷国产综合精品青草 </a>| <a href="http://china-cvct.com" target="_blank">日韩视频在线免费</a>| <a href="http://9876666.com" target="_blank">亚洲午夜精品在线</a>| <a href="http://551692.com" target="_blank">亚洲欧洲日本在线</a>| <a href="http://18p2.com" target="_blank">黄色日韩在线</a>| <a href="http://8880850.com" target="_blank">亚洲欧美日韩国产精品</a>| <a href="http://4006616309.com" target="_blank">亚洲欧美日韩综合国产aⅴ</a>| <a href="http://www-55125.com" target="_blank">亚洲福利视频专区</a>| <a href="http://g2000vip.com" target="_blank">亚洲日本在线观看</a>| <a href="http://www-42189.com" target="_blank">亚洲精品综合久久中文字幕</a>| <a href="http://04oy.com" target="_blank">中日韩在线视频</a>| <a href="http://977mo.com" target="_blank">欧美一区二区成人</a>| <a href="http://cczm4.com" target="_blank">国产亚洲一区二区在线观看</a>| <a href="http://18loutv.com" target="_blank">午夜精品在线</a>| <a href="http://10669p.com" target="_blank">亚洲男女自偷自拍</a>| <a href="http://lusaier.com" target="_blank">久久先锋资源</a>| <a href="http://www-919198.com" target="_blank">欧美人在线视频</a>| <a href="http://diao66.com" target="_blank">欧美午夜一区二区福利视频</a>| <a href="http://39ddtv.com" target="_blank">国产欧美亚洲精品</a>| <a href="http://jiazhuangma.com" target="_blank">狠狠色综合网站久久久久久久</a>| <a href="http://917729.com" target="_blank">亚洲欧美另类久久久精品2019</a>| <a href="http://9511331.com" target="_blank">91久久精品国产91性色tv</a>| <a href="http://388123cc.com" target="_blank">欧美freesex8一10精品</a>| <a href="http://tefahsop.com" target="_blank">亚洲人人精品</a>| <a href="http://smiczbb.com" target="_blank">一本久久综合亚洲鲁鲁</a>| <a href="http://gykfqzgpt.com" target="_blank">欧美三级乱码</a>| <a href="http://wwwmm7777.com" target="_blank">欧美一区二区黄</a>| <a href="http://111491.com" target="_blank">美女久久一区</a>| <a href="http://devmashup.com" target="_blank">老司机精品导航</a>| <a href="http://tp112.com" target="_blank">一本色道久久综合亚洲精品不 </a>| <a href="http://wanshunpu.com" target="_blank">美乳少妇欧美精品</a>| <a href="http://ktokt.com" target="_blank">国产精品日本一区二区</a>| <a href="http://www-964664.com" target="_blank">亚洲一卡久久</a>| <a href="http://551692.com" target="_blank">亚洲欧美成人精品</a>| <a href="http://cc28256.com" target="_blank">韩国成人精品a∨在线观看</a>| <a href="http://choaoxing.com" target="_blank">牛牛国产精品</a>| <a href="http://667939.com" target="_blank">性久久久久久久</a>| <a href="http://394141.com" target="_blank">激情一区二区三区</a>| <a href="http://91x8.com" target="_blank">久久亚洲色图</a>| <a href="http://r4747.com" target="_blank">日韩视频免费观看高清在线视频</a>| <a href="http://laodaohang.com" target="_blank">亚洲一级黄色</a>| <a href="http://caerusmdx.com" target="_blank">亚洲综合视频网</a>| <a href="http://621791.com" target="_blank">亚洲第一级黄色片</a>| <a href="http://xingmaipet.com" target="_blank">洋洋av久久久久久久一区</a>| <a href="http://97sgg.com" target="_blank">亚洲久久一区</a>| <a href="http://88848885.com" target="_blank">国产偷久久久精品专区</a>| <a href="http://ywy99.com" target="_blank">亚洲国内精品</a>| <a href="http://www-72794.com" target="_blank">久久青草福利网站</a>| <a href="http://621762.com" target="_blank">99re66热这里只有精品4</a>| <a href="http://www930666.com" target="_blank">亚洲伊人第一页</a>| <a href="http://08xxxc.com" target="_blank">亚洲精品黄色</a>| <a href="http://833816.com" target="_blank">模特精品在线</a>| <a href="http://66666556.com" target="_blank">国产精品videosex极品</a>| <a href="http://bocai4488.com" target="_blank">免费成人av资源网</a>| <a href="http://828121.com" target="_blank">欧美视频在线一区二区三区</a>| <a href="http://qqkanp.com" target="_blank">久久综合狠狠</a>| <a href="http://8842aa.com" target="_blank">国产精品激情</a>| <a href="http://zhipiao998.com" target="_blank">亚洲免费影视</a>| <a href="http://wlhtgj.com" target="_blank">毛片av中文字幕一区二区</a>| <a href="http://78gde.com" target="_blank">亚洲欧美日韩视频一区</a>| <a href="http://yhc26.com" target="_blank">欧美成人视屏</a>| <a href="http://www-4157.com" target="_blank">乱码第一页成人</a>| <a href="http://youjizzbox.com" target="_blank">久久这里有精品视频</a>| <a href="http://080177.com" target="_blank">亚洲欧美日韩区</a>| <a href="http://123lifenet.com" target="_blank">欧美激情在线免费观看</a>| <a href="http://www330849.com" target="_blank">亚洲人体影院</a>| <a href="http://mauhorng.com" target="_blank">欧美一区二区三区视频在线</a>| <a href="http://m72722.com" target="_blank">在线视频日韩</a>| <a href="http://405151.com" target="_blank">欧美激情 亚洲a∨综合</a>| <a href="http://by4433.com" target="_blank">欧美69wwwcom</a>| <a href="http://tingxihuan.com" target="_blank">国语自产偷拍精品视频偷</a>| <a href="http://340996.com" target="_blank">亚洲一区二区在</a>| <a href="http://babylonmovi.com" target="_blank">中文在线资源观看网站视频免费不卡 </a>| <a href="http://486be.com" target="_blank">亚洲国产精品一区二区第四页av </a>| <a href="http://4480vv.com" target="_blank">久久九九国产精品怡红院</a>| <a href="http://ganmabook.com" target="_blank">欧美日韩另类国产亚洲欧美一级</a>| <a href="http://136hao.com" target="_blank">欧美大片国产精品</a>| <a href="http://188293.com" target="_blank">欧美国产高潮xxxx1819</a>| <a href="http://www149aa.com" target="_blank">久久免费99精品久久久久久</a>| <a href="http://677679.com" target="_blank">国产欧美综合一区二区三区</a>| <a href="http://zhongqingshiye.com" target="_blank">中文成人激情娱乐网</a>| <a href="http://dracotek.com" target="_blank">亚洲性图久久</a>| <a href="http://www-65581.com" target="_blank">欧美日韩一卡</a>| <a href="http://lexueit.com" target="_blank">一片黄亚洲嫩模</a>| <a href="http://xissy.com" target="_blank">亚洲一区二区高清视频</a>| <a href="http://016889.com" target="_blank">欧美手机在线</a>| <a href="http://390642.com" target="_blank">亚洲午夜激情网页</a>| <a href="http://0773ye.com" target="_blank">精品999日本</a>| <a href="http://gztgo.com" target="_blank">久久综合一区二区</a>| <a href="http://www4466k.com" target="_blank">久久久在线视频</a>| <a href="http://jivbus.com" target="_blank">久久久久久久一区二区</a>| <a href="http://hkbsi.com" target="_blank">国产亚洲在线</a>| <a href="http://dgxinshidai.com" target="_blank">久久激情网站</a>| <a href="http://www55747.com" target="_blank">999亚洲国产精</a>| <a href="http://ebmsci.com" target="_blank">欧美国产日本韩</a>| <a href="http://lexueit.com" target="_blank">91久久久久久久久久久久久</a>| <a href="http://boocnn.com" target="_blank">亚洲精品免费在线播放</a>| <a href="http://59812mh.com" target="_blank">欧美日韩成人一区</a>| <a href="http://jj8518.com" target="_blank">亚洲一二三区视频在线观看</a>| <a href="http://mathck.com" target="_blank">久久er精品视频</a>| <a href="http://dusenborg.com" target="_blank">悠悠资源网久久精品</a>| <a href="http://yjsp8888.com" target="_blank">一区二区三区视频观看</a>| <a href="http://24kshopss.com" target="_blank">亚洲性av在线</a>| <a href="http://lovehefei.com" target="_blank">国产日韩欧美一区在线</a>| <a href="http://ykk7.com" target="_blank">久久综合电影</a>| <a href="http://gaobb52.com" target="_blank">亚洲精品在线观看免费</a>| <a href="http://avtb2120.com" target="_blank">亚洲免费小视频</a>| <a href="http://china-cvct.com" target="_blank">国产主播精品在线</a>| <a href="http://nxhjzddata.com" target="_blank">一区二区三区日韩</a>| <a href="http://fangsling.com" target="_blank">久久精品91</a>| <a href="http://jsydjxgs.com" target="_blank">亚洲国产高清视频</a>| <a href="http://goutoujunshi.com" target="_blank">欧美日韩精品一区二区天天拍小说</a>| <a href="http://playav111.com" target="_blank">一区二区三区国产精华</a>| <a href="http://zjjieda.com" target="_blank">久久九九热免费视频</a>| <a href="http://wwww20.com" target="_blank">亚洲精品国产精品久久清纯直播</a>| <a href="http://012928.com" target="_blank">欧美日韩亚洲视频一区</a>| <a href="http://ez4444.com" target="_blank">欧美一二区视频</a>| <a href="http://48655aa.com" target="_blank">亚洲电影中文字幕</a>| <a href="http://a718sx.com" target="_blank">亚洲欧美视频</a>| <a href="http://www-577511.com" target="_blank">亚洲国产日韩欧美综合久久</a>| <a href="http://3737520.com" target="_blank">欧美日韩久久不卡</a>| <a href="http://erosgems.com" target="_blank">久久精品99国产精品日本</a>| <a href="http://131397.com" target="_blank">国产精品久久久久一区二区三区共 </a>| <a href="http://88xjj.com" target="_blank">国产一区二区无遮挡</a>| <a href="http://118017.com" target="_blank">久久最新视频</a>| <a href="http://631537.com" target="_blank">亚洲美女视频</a>| <a href="http://8bc3.com" target="_blank">久久人人97超碰国产公开结果 </a>| <a href="http://amass-ic.com" target="_blank">黑人巨大精品欧美一区二区小视频</a>| <a href="http://221080.com" target="_blank">裸体一区二区三区</a>| <a href="http://9a9u.com" target="_blank">老妇喷水一区二区三区</a>| <a href="http://www-78733.com" target="_blank">久久精品1区</a>| <a href="http://613by.com" target="_blank">亚洲精品免费看</a>| <a href="http://www-787333.com" target="_blank">国产精品亚洲片夜色在线</a>| <a href="http://8eb26.com" target="_blank">免费成人高清</a>| <a href="http://378682.com" target="_blank">欧美一区二区三区的</a>| <a href="http://797298.com" target="_blank">亚洲理论在线</a>| <a href="http://srojsy.com" target="_blank">欧美福利网址</a>| <a href="http://www-14333.com" target="_blank">免费亚洲电影在线</a>| <a href="http://300644.com" target="_blank">午夜视频一区二区</a>| <a href="http://hbdxzx.com" target="_blank">欧美1级日本1级</a>| <a href="http://www-919198.com" target="_blank">亚洲午夜成aⅴ人片</a>| <a href="http://xingda-sh.com" target="_blank">激情久久久久久久久久久久久久久久</a>| <a href="http://xccp4888.com" target="_blank">免费观看久久久4p</a>| <a href="http://www4455va.com" target="_blank">先锋影音网一区二区</a>| <a href="http://123hiba.com" target="_blank">亚洲经典自拍</a>| <a href="http://7749137.com" target="_blank">久久精品视频一</a>| <a href="http://755795.com" target="_blank">亚洲一区二区视频在线</a>| <a href="http://114499com.com" target="_blank">亚洲午夜日本在线观看</a>| <a href="http://66889h.com" target="_blank">美女视频网站黄色亚洲</a>| <a href="http://8004006.com" target="_blank">欧美一区二区三区男人的天堂</a>| <a href="http://www7495.com" target="_blank">亚洲美女免费视频</a>| <a href="http://www8888803.com" target="_blank">亚洲国产老妈</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>