锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美怡红院视频,久久久久久久成人,亚洲网址在线http://m.shnenglu.com/qiujian5628/articles/42164.html嫻抗澶╂動嫻抗澶╂動Wed, 30 Jan 2008 01:09:00 GMThttp://m.shnenglu.com/qiujian5628/articles/42164.htmlhttp://m.shnenglu.com/qiujian5628/comments/42164.htmlhttp://m.shnenglu.com/qiujian5628/articles/42164.html#Feedback0http://m.shnenglu.com/qiujian5628/comments/commentRss/42164.htmlhttp://m.shnenglu.com/qiujian5628/services/trackbacks/42164.html[浣滆匽錛氭粫鏄?2005/3/30,0.1鐗堟湰

[鐗堟潈澹版槑]錛氭鏂囨。閬靛驚GNU鑷敱鏂囨。璁稿彲璇?GNU Free Documentation License).浠諱綍浜哄彲浠ヨ嚜鐢卞鍒?鍒嗗彂,淇敼,涓嶈繃濡傛灉鏂逛究,璇鋒敞鏄庡嚭澶勫拰浣滆?)

(1)瀵艱█錛?/font>

棣栧厛錛屾垜寮虹儓寤鴻澶у闃呰Richard Stevens钁椾綔銆奣CP/IP Illustracted Volume 1,2,3銆嬪拰銆奤NIX Network Programming Volume 1,2銆嬨傝櫧鐒朵粬紱誨紑鎴戜滑澶у宸茬粡5騫村浜嗭紝浣嗘槸浠栫殑涔︿緷鐒舵槸榪涘叆緗戠粶緙栫▼鐨勬渶鐩存帴鐨勯亾璺傚叾涓殑3鍗風殑銆奣CP/IP Illustracted銆嬪嵎1鏄繀璇伙紞濡傛灉浣犱笉浜嗚Вtcp鍗忚鍚勪釜閫夐」鐨勮緇嗗畾涔夛紝浣犲氨澶卞幓浜嗕紭鍖栫▼搴忛噸瑕佺殑涓涓墜孌點傚嵎2,3鍙互閫夎涓涓嬨傛瘮濡傚嵎2璁茶В鐨勬槸4.4BSD鍐呮牳TCP/IP鍗忚鏍堝疄鐜?---榪欎釜鐗堟湰鐨勫崗璁爤鍑犱箮褰卞搷浜嗙幇鍦ㄦ墍鏈夌殑涓繪祦os錛屼絾鏄洜涓哄勾浠d箙榪滐紝鍐呭涓嶄竴瀹氶偅涔坴ogue.鍦ㄨ繖閲屾垜澶氭帹鑽愪竴鏈奣he Linux Networking Architecture--Design and Implementation of Network Protocols in the Linux Kernel銆嬶紝浠?.4鍐呮牳璁茶ВLinux TCP/IP瀹炵幇錛岀浉褰撲笉閿?浣滀負涓涓幇瀹炰笘鐣屼腑鐨勫疄鐜幫紝寰堝鏃跺欎綘蹇呴』浣滃緢澶氭潈琛★紝榪欐椂鍊欏弬鑰冧竴涓箙緇忚冮獙鐨勭郴緇熸洿鏈夊疄闄呮剰涔夈備婦涓緥瀛?linux鍐呮牳涓璼k_buff緇撴瀯涓轟簡榪芥眰閫熷害鍜屽畨鍏紝鐗虹壊浜嗛儴鍒嗗唴瀛橈紝鎵浠ュ湪鍙戦乀CP鍖呯殑鏃跺欙紝鏃犺搴旂敤灞傛暟鎹澶?sk_buff鏈灝忎篃鏈?72鐨勫瓧鑺?

鍏跺疄瀵逛簬socket搴旂敤灞傜▼搴忔潵璇達紝銆奤NIX Network Programming Volume 1銆嬫剰涔夋洿澶т竴鐐?2003騫寸殑鏃跺欙紝榪欐湰涔﹀嚭浜嗘渶鏂扮殑絎?鐗堟湰錛屼笉榪囦富瑕佽繕鏄慨璁㈢2鐗堟湰銆傚叾涓6绔犮奍/O Multiplexing銆嬫槸鏈閲嶈鐨勩係tevens緇欏嚭浜嗙綉緇淚O鐨勫熀鏈ā鍨嬨傚湪榪欓噷鏈閲嶈鐨勮帿榪囦簬select妯″瀷鍜孉synchronous I/O妯″瀷.浠庣悊璁轟笂璇達紝AIO浼間箮鏄渶楂樻晥鐨勶紝浣犵殑IO鎿嶄綔鍙互绔嬪嵆榪斿洖錛岀劧鍚庣瓑寰卭s鍛婅瘔浣營O鎿嶄綔瀹屾垚銆備絾鏄竴鐩翠互鏉ワ紝濡備綍瀹炵幇灝辨病鏈変竴涓畬緹庣殑鏂規銆傛渶钁楀悕鐨剋indows瀹屾垚绔彛瀹炵幇鐨凙IO,瀹為檯涓婁篃鏄唴閮ㄧ敤綰跨▼姹犲疄鐜扮殑緗簡錛屾渶鍚庣殑緇撴灉鏄疘O鏈変釜綰跨▼姹狅紝浣犲簲鐢ㄤ篃闇瑕佷竴涓嚎紼嬫睜......寰堝鏂囨。鍏跺疄宸茬粡鎸囧嚭浜嗚繖甯︽潵鐨勭嚎紼媍ontext-switch甯︽潵鐨勪唬浠楓?/font>

鍦╨inux騫沖彴涓婏紝鍏充簬緗戠粶AIO涓鐩存槸鏀瑰姩鏈澶氱殑鍦版柟錛?.4鐨勫勾浠e氨鏈夊緢澶欰IO鍐呮牳patch,鏈钁楀悕鐨勫簲璇ョ畻鏄疭GI閭d釜銆備絾鏄竴鐩村埌2.6鍐呮牳鍙戝竷錛岀綉緇滄ā鍧楃殑AIO涓鐩存病鏈夎繘鍏ョǔ瀹氬唴鏍哥増鏈?澶ч儴鍒嗛兘鏄嬌鐢ㄧ敤鎴風嚎紼嬫ā鎷熸柟娉曪紝鍦ㄤ嬌鐢ㄤ簡NPTL鐨刲inux涓婇潰鍏跺疄鍜寃indows鐨勫畬鎴愮鍙e熀鏈笂宸笉澶氫簡)銆?.6鍐呮牳鎵鏀寔鐨凙IO鐗規寚紓佺洏鐨凙IO---鏀寔io_submit(),io_getevents()浠ュ強瀵笵irect IO鐨勬敮鎸?灝辨槸緇曡繃VFS緋葷粺buffer鐩存帴鍐欑‖鐩橈紝瀵逛簬嫻佹湇鍔″櫒鍦ㄥ唴瀛樺鉤紼蟲т笂鏈夌浉褰撳府鍔?銆?/font>

鎵浠ワ紝鍓╀笅鐨剆elect妯″瀷鍩烘湰涓婂氨鏄垜浠湪linux涓婇潰鐨勫敮涓閫夋嫨錛屽叾瀹烇紝濡傛灉鍔犱笂no-block socket鐨勯厤緗紝鍙互瀹屾垚涓涓?浼?AIO鐨勫疄鐜幫紝鍙笉榪囨帹鍔ㄥ姏鍦ㄤ簬浣犺屼笉鏄痮s鑰屽凡銆備笉榪囦紶緇熺殑select/poll鍑芥暟鏈夌潃涓浜涙棤娉曞繊鍙楃殑緙虹偣錛屾墍浠ユ敼榪涗竴鐩存槸2.4-2.5寮鍙戠増鏈唴鏍哥殑浠誨姟錛屽寘鎷?dev/poll錛宺ealtime signal絳夌瓑銆傛渶緇堬紝Davide Libenzi寮鍙戠殑epoll榪涘叆2.6鍐呮牳鎴愪負姝e紡鐨勮В鍐蟲柟妗?/font>

(2)epoll鐨勪紭鐐?/font>

<1>鏀寔涓涓繘紼嬫墦寮澶ф暟鐩殑socket鎻忚堪絎?FD)

select鏈涓嶈兘蹇嶅彈鐨勬槸涓涓繘紼嬫墍鎵撳紑鐨凢D鏄湁涓瀹氶檺鍒剁殑錛岀敱FD_SETSIZE璁劇疆錛岄粯璁ゅ兼槸2048銆傚浜庨偅浜涢渶瑕佹敮鎸佺殑涓婁竾榪炴帴鏁扮洰鐨処M鏈嶅姟鍣ㄦ潵璇存樉鐒跺お灝戜簡 銆傝繖鏃跺欎綘涓鏄彲浠ラ夋嫨淇敼榪欎釜瀹忕劧鍚庨噸鏂扮紪璇戝唴鏍革紝涓嶈繃璧勬枡涔熷悓鏃舵寚鍑鴻繖鏍蜂細甯︽潵緗戠粶鏁堢巼鐨勪笅闄嶏紝浜屾槸鍙互閫夋嫨澶氳繘紼嬬殑瑙e喅鏂規(浼犵粺鐨凙pache鏂規)錛屼笉榪囪櫧鐒秎inux涓婇潰鍒涘緩榪涚▼鐨勪唬浠鋒瘮杈冨皬錛屼絾浠嶆棫鏄笉鍙拷瑙嗙殑錛屽姞涓婅繘紼嬮棿鏁版嵁鍚屾榪滄瘮涓嶄笂綰跨▼闂村悓姝ョ殑楂樻晥錛屾墍浠ヤ篃涓嶆槸涓縐嶅畬緹庣殑鏂規銆備笉榪噀poll鍒欐病鏈夎繖涓檺鍒訛紝瀹冩墍鏀寔鐨凢D涓婇檺鏄渶澶у彲浠ユ墦寮鏂囦歡鐨勬暟鐩紝榪欎釜鏁板瓧涓鑸繙澶т簬2048,涓句釜渚嬪瓙,鍦?GB鍐呭瓨鐨勬満鍣ㄤ笂澶х害鏄?0涓囧乏鍙籌紝鍏蜂綋鏁扮洰鍙互cat /proc/sys/fs/file-max瀵熺湅,涓鑸潵璇磋繖涓暟鐩拰緋葷粺鍐呭瓨鍏崇郴寰堝ぇ銆?/font>

<2>IO鏁堢巼涓嶉殢FD鏁扮洰澧炲姞鑰岀嚎鎬т笅闄?/font>

浼犵粺鐨剆elect/poll鍙︿竴涓嚧鍛藉急鐐瑰氨鏄綋浣犳嫢鏈変竴涓緢澶х殑socket闆嗗悎錛屼笉榪囩敱浜庣綉緇滃歡鏃訛紝浠諱竴鏃墮棿鍙湁閮ㄥ垎鐨剆ocket鏄?媧昏穬"鐨勶紝浣嗘槸select/poll姣忔璋冪敤閮戒細綰挎ф壂鎻忓叏閮ㄧ殑闆嗗悎錛屽鑷存晥鐜囧憟鐜扮嚎鎬т笅闄嶃備絾鏄痚poll涓嶅瓨鍦ㄨ繖涓棶棰橈紝瀹冨彧浼氬"媧昏穬"鐨剆ocket榪涜鎿嶄綔---榪欐槸鍥犱負鍦ㄥ唴鏍稿疄鐜頒腑epoll鏄牴鎹瘡涓猣d涓婇潰鐨刢allback鍑芥暟瀹炵幇鐨勩傞偅涔堬紝鍙湁"媧昏穬"鐨剆ocket鎵嶄細涓誨姩鐨勫幓璋冪敤callback鍑芥暟錛屽叾浠杋dle鐘舵乻ocket鍒欎笉浼氾紝鍦ㄨ繖鐐逛笂錛宔poll瀹炵幇浜嗕竴涓?浼?AIO錛屽洜涓鴻繖鏃跺欐帹鍔ㄥ姏鍦╫s鍐呮牳銆傚湪涓浜沚enchmark涓紝濡傛灉鎵鏈夌殑socket鍩烘湰涓婇兘鏄椿璺冪殑---姣斿涓涓珮閫烲AN鐜錛宔poll騫朵笉姣攕elect/poll鏈変粈涔堟晥鐜囷紝鐩稿弽錛屽鏋滆繃澶氫嬌鐢╡poll_ctl,鏁堢巼鐩告瘮榪樻湁紼嶅井鐨勪笅闄嶃備絾鏄竴鏃︿嬌鐢╥dle connections妯℃嫙WAN鐜,epoll鐨勬晥鐜囧氨榪滃湪select/poll涔嬩笂浜嗐?/font>

<3>浣跨敤mmap鍔犻熷唴鏍鎬笌鐢ㄦ埛絀洪棿鐨勬秷鎭紶閫掋?/font>

榪欑偣瀹為檯涓婃秹鍙婂埌epoll鐨勫叿浣撳疄鐜頒簡銆傛棤璁烘槸select,poll榪樻槸epoll閮介渶瑕佸唴鏍告妸FD娑堟伅閫氱煡緇欑敤鎴風┖闂達紝濡備綍閬垮厤涓嶅繀瑕佺殑鍐呭瓨鎷瘋礉灝卞緢閲嶈錛屽湪榪欑偣涓婏紝epoll鏄氳繃鍐呮牳浜庣敤鎴風┖闂磎map鍚屼竴鍧楀唴瀛樺疄鐜扮殑銆傝屽鏋滀綘鎯蟲垜涓鏍蜂粠2.5鍐呮牳灝卞叧娉╡poll鐨勮瘽錛屼竴瀹氫笉浼氬繕璁版墜宸map榪欎竴姝ョ殑銆?/font>

<4>鍐呮牳寰皟

榪欎竴鐐瑰叾瀹炰笉綆梕poll鐨勪紭鐐逛簡錛岃屾槸鏁翠釜linux騫沖彴鐨勪紭鐐廣備篃璁鎬綘鍙互鎬鐤憀inux騫沖彴錛屼絾鏄綘鏃犳硶鍥為伩linux騫沖彴璧嬩簣浣犲井璋冨唴鏍哥殑鑳藉姏銆傛瘮濡傦紝鍐呮牳TCP/IP鍗忚鏍堜嬌鐢ㄥ唴瀛樻睜綆$悊sk_buff緇撴瀯錛岄偅涔堝彲浠ュ湪榪愯鏃舵湡鍔ㄦ佽皟鏁磋繖涓唴瀛榩ool(skb_head_pool)鐨勫ぇ灝?--閫氳繃echo XXXX>/proc/sys/net/core/hot_list_length瀹屾垚銆傚啀姣斿listen鍑芥暟鐨勭2涓弬鏁?TCP瀹屾垚3嬈℃彙鎵嬬殑鏁版嵁鍖呴槦鍒楅暱搴?錛屼篃鍙互鏍規嵁浣犲鉤鍙板唴瀛樺ぇ灝忓姩鎬佽皟鏁淬傛洿鐢氳嚦鍦ㄤ竴涓?/font>鏁版嵁鍖?/font>闈㈡暟鐩法澶т絾鍚屾椂姣忎釜鏁版嵁鍖呮湰韜ぇ灝忓嵈寰堝皬鐨勭壒孌婄郴緇熶笂灝濊瘯鏈鏂扮殑NAPI緗戝崱椹卞姩鏋舵瀯銆?/font>

(3)epoll鐨勪嬌鐢?/font>

浠や漢楂樺叴鐨勬槸錛?.6鍐呮牳鐨別poll姣斿叾2.5寮鍙戠増鏈殑/dev/epoll綆媧佷簡璁稿錛屾墍浠ワ紝澶ч儴鍒嗘儏鍐典笅錛屽己澶х殑涓滆タ寰寰鏄畝鍗曠殑銆傚敮涓鏈夌偣楹葷儲鏄痚poll鏈?縐嶅伐浣滄柟寮?LT鍜孍T銆?/font>

LT(level triggered)鏄己鐪佺殑宸ヤ綔鏂瑰紡錛屽茍涓斿悓鏃舵敮鎸乥lock鍜宯o-block socket.鍦ㄨ繖縐嶅仛娉曚腑錛屽唴鏍稿憡璇変綘涓涓枃浠舵弿榪扮鏄惁灝辯華浜嗭紝鐒跺悗浣犲彲浠ュ榪欎釜灝辯華鐨刦d榪涜IO鎿嶄綔銆傚鏋滀綘涓嶄綔浠諱綍鎿嶄綔錛屽唴鏍歌繕鏄細緇х畫閫氱煡浣犵殑錛屾墍浠ワ紝榪欑妯″紡緙栫▼鍑洪敊璇彲鑳芥ц灝忎竴鐐廣備紶緇熺殑select/poll閮芥槸榪欑妯″瀷鐨勪唬琛紟

ET(edge-triggered)鏄珮閫熷伐浣滄柟寮忥紝鍙敮鎸乶o-block socket銆傚湪榪欑妯″紡涓嬶紝褰撴弿榪扮浠庢湭灝辯華鍙樹負灝辯華鏃訛紝鍐呮牳閫氳繃epoll鍛婅瘔浣犮傜劧鍚庡畠浼氬亣璁句綘鐭ラ亾鏂囦歡鎻忚堪絎﹀凡緇忓氨緇紝騫朵笖涓嶄細鍐嶄負閭d釜鏂囦歡鎻忚堪絎﹀彂閫佹洿澶氱殑灝辯華閫氱煡錛岀洿鍒頒綘鍋氫簡鏌愪簺鎿嶄綔瀵艱嚧閭d釜鏂囦歡鎻忚堪絎︿笉鍐嶄負灝辯華鐘舵佷簡(姣斿錛屼綘鍦ㄥ彂閫侊紝鎺ユ敹鎴栬呮帴鏀惰姹傦紝鎴栬呭彂閫佹帴鏀剁殑鏁版嵁灝戜簬涓瀹氶噺鏃跺鑷翠簡涓涓狤WOULDBLOCK 閿欒錛夈備絾鏄娉ㄦ剰錛屽鏋滀竴鐩翠笉瀵硅繖涓猣d浣淚O鎿嶄綔(浠庤屽鑷村畠鍐嶆鍙樻垚鏈氨緇?錛屽唴鏍鎬笉浼氬彂閫佹洿澶氱殑閫氱煡(only once),涓嶈繃鍦═CP鍗忚涓紝ET妯″紡鐨勫姞閫熸晥鐢ㄤ粛闇瑕佹洿澶氱殑benchmark紜銆?/font>

epoll鍙湁epoll_create,epoll_ctl,epoll_wait 3涓郴緇熻皟鐢紝鍏蜂綋鐢ㄦ硶璇峰弬鑰僪ttp://www.xmailserver.org/linux-patches/nio-improve.html 錛?br>鍦╤ttp://www.kegel.com/rn/涔熸湁涓涓畬鏁寸殑渚嬪瓙錛屽ぇ瀹朵竴鐪嬪氨鐭ラ亾濡備綍浣跨敤浜?/font>

(4)Leader/follower妯″紡綰跨▼pool瀹炵幇錛屼互鍙婂拰epoll鐨勯厤鍚?/font>

.....鏈畬鎴愶紝涓昏鏄閬垮厤榪囧鐨別poll_ctl璋冪敤,浠ュ強灝濊瘯浣跨敤EPOLLONESHOT鍔犻?.....

(5)benchmark

.......鏈畬鎴?/font>



]]>
鍏充簬鍐呭瓨瀵歸綈http://m.shnenglu.com/qiujian5628/articles/42086.html嫻抗澶╂動嫻抗澶╂動Tue, 29 Jan 2008 01:25:00 GMThttp://m.shnenglu.com/qiujian5628/articles/42086.htmlhttp://m.shnenglu.com/qiujian5628/comments/42086.htmlhttp://m.shnenglu.com/qiujian5628/articles/42086.html#Feedback0http://m.shnenglu.com/qiujian5628/comments/commentRss/42086.htmlhttp://m.shnenglu.com/qiujian5628/services/trackbacks/42086.html#pragma pack錛坣錛?br>絎竴銆佸鏋渘澶т簬絳変簬璇ュ彉閲忔墍鍗犵敤鐨勫瓧鑺傛暟錛岄偅涔堝亸縐婚噺蹇呴』婊¤凍榛樿鐨勫榻愭柟寮?br>絎簩銆佸鏋渘灝忎簬璇ュ彉閲忕殑綾誨瀷鎵鍗犵敤鐨勫瓧鑺傛暟錛岄偅涔堝亸縐婚噺涓簄鐨勫嶆暟錛屼笉鐢ㄦ弧瓚抽粯璁ょ殑瀵歸綈鏂瑰紡銆傜粨鏋勭殑鎬誨ぇ灝忎篃鏈変釜綰︽潫鏉′歡錛屽垎涓嬮潰涓ょ鎯呭喌錛氬鏋渘澶т簬鎵鏈夋垚鍛樺彉閲忕被鍨嬫墍鍗犵敤鐨勫瓧鑺傛暟錛岄偅涔堢粨鏋勭殑鎬誨ぇ灝忓繀欏諱負鍗犵敤絀洪棿鏈澶х殑鍙橀噺鍗犵敤鐨勭┖闂存暟鐨勫嶆暟錛?br>鍚﹀垯蹇呴』涓簄鐨勫嶆暟銆?/p>


褰撳湪C涓畾涔変簡涓涓粨鏋勭被鍨嬫椂錛屽畠鐨勫ぇ灝忔槸鍚︾瓑浜庡悇瀛楁(field)澶у皬涔嬪拰錛熺紪璇戝櫒灝嗗浣曞湪鍐呭瓨涓斁緗繖浜涘瓧孌碉紵ANSI C瀵圭粨鏋勪綋鐨勫唴瀛樺竷灞鏈変粈涔堣姹傦紵鑰屾垜浠殑紼嬪簭鍙堣兘鍚︿緷璧栬繖縐嶅竷灞錛熻繖浜涢棶棰樻垨璁稿涓嶅皯鏈嬪弸鏉ヨ榪樻湁鐐規ā緋婏紝閭d箞鏈枃灝辮瘯鐫鎺㈢┒瀹冧滑鑳屽悗鐨勭瀵嗐?

    棣栧厛錛岃嚦灝戞湁涓鐐瑰彲浠ヨ偗瀹氾紝閭e氨鏄疉NSI C淇濊瘉緇撴瀯浣撲腑鍚勫瓧孌靛湪鍐呭瓨涓嚭鐜扮殑浣嶇疆鏄殢瀹冧滑鐨勫0鏄庨『搴忎緷嬈¢掑鐨勶紝騫朵笖絎竴涓瓧孌電殑棣栧湴鍧絳変簬鏁翠釜緇撴瀯浣撳疄渚嬬殑棣栧湴鍧銆傛瘮濡傛湁榪欐牱涓涓粨鏋勪綋錛?br> 
  struct vector{int x,y,z;} s;
  int *p,*q,*r;
  struct vector *ps;
 
  p = &s.x;
  q = &s.y;
  r = &s.z;
  ps = &s;

  assert(p < q);
  assert(p < r);
  assert(q < r);
  assert((int*)ps == p);
  // 涓婅堪鏂█涓瀹氫笉浼氬け璐?/p>

    榪欐椂錛屾湁鏈嬪弸鍙兘浼氶棶:"鏍囧噯鏄惁瑙勫畾鐩擱偦瀛楁鍦ㄥ唴瀛樹腑涔熺浉閭?"銆?鍞旓紝瀵逛笉璧鳳紝ANSI C娌℃湁鍋氬嚭淇濊瘉錛屼綘鐨勭▼搴忓湪浠諱綍鏃跺欓兘涓嶅簲璇ヤ緷璧栬繖涓亣璁俱傞偅榪欐槸鍚︽剰鍛崇潃鎴戜滑姘歌繙鏃犳硶鍕懼嫆鍑轟竴騫呮洿娓呮櫚鏇寸簿紜殑緇撴瀯浣撳唴瀛樺竷灞鍥撅紵鍝︼紝褰撶劧涓嶆槸銆備笉榪囧厛璁╂垜浠粠榪欎釜闂涓殏鏃舵娊韜紝鍏蟲敞涓涓嬪彟涓涓噸瑕侀棶棰樷斺斺斺斿唴瀛樺榻愩?/p>

    璁稿瀹為檯鐨勮綆楁満緋葷粺瀵瑰熀鏈被鍨嬫暟鎹湪鍐呭瓨涓瓨鏀劇殑浣嶇疆鏈夐檺鍒訛紝瀹冧滑浼氳姹傝繖浜涙暟鎹殑棣栧湴鍧鐨勫兼槸鏌愪釜鏁発(閫氬父瀹冧負4鎴?)鐨勫嶆暟錛岃繖灝辨槸鎵璋撶殑鍐呭瓨瀵歸綈錛岃岃繖涓猭鍒欒縐頒負璇ユ暟鎹被鍨嬬殑瀵歸綈妯℃暟(alignment modulus)銆傚綋涓縐嶇被鍨婼鐨勫榻愭ā鏁頒笌鍙︿竴縐嶇被鍨婽鐨勫榻愭ā鏁扮殑姣斿兼槸澶т簬1鐨勬暣鏁幫紝鎴戜滑灝辯О綾誨瀷S鐨勫榻愯姹傛瘮T寮?涓ユ牸)錛岃岀ОT姣擲寮?瀹芥澗)銆傝繖縐嶅己鍒剁殑瑕佹眰涓鏉ョ畝鍖栦簡澶勭悊鍣ㄤ笌鍐呭瓨涔嬮棿浼犺緭緋葷粺鐨勮璁★紝浜屾潵鍙互鎻愬崌璇誨彇鏁版嵁鐨勯熷害銆傛瘮濡傝繖涔堜竴縐嶅鐞嗗櫒錛屽畠姣忔璇誨啓鍐呭瓨鐨勬椂鍊欓兘浠庢煇涓?鍊嶆暟鐨勫湴鍧寮濮嬶紝涓嬈¤鍑烘垨鍐欏叆8涓瓧鑺傜殑鏁版嵁錛屽亣濡傝蔣浠惰兘淇濊瘉double綾誨瀷鐨勬暟鎹兘浠?鍊嶆暟鍦板潃寮濮嬶紝閭d箞璇繪垨鍐欎竴涓猟ouble綾誨瀷鏁版嵁灝卞彧闇瑕佷竴嬈″唴瀛樻搷浣溿傚惁鍒欙紝鎴戜滑灝卞彲鑳介渶瑕佷袱嬈″唴瀛樻搷浣滄墠鑳藉畬鎴愯繖涓姩浣滐紝鍥犱負鏁版嵁鎴栬鎭板ソ妯法鍦ㄤ袱涓鍚堝榻愯姹傜殑8瀛楄妭鍐呭瓨鍧椾笂銆傛煇浜涘鐞嗗櫒鍦ㄦ暟鎹笉婊¤凍瀵歸綈瑕佹眰鐨勬儏鍐典笅鍙兘浼氬嚭閿欙紝浣嗘槸Intel鐨処A32鏋舵瀯鐨勫鐞嗗櫒鍒欎笉綆℃暟鎹槸鍚﹀榻愰兘鑳芥紜伐浣溿備笉榪嘔ntel濂夊姖澶у錛屽鏋滄兂鎻愬崌鎬ц兘錛岄偅涔堟墍鏈夌殑紼嬪簭鏁版嵁閮藉簲璇ュ敖鍙兘鍦板榻愩俉in32騫沖彴涓嬬殑寰蔣C緙栬瘧鍣?cl.exe for 80x86)鍦ㄩ粯璁ゆ儏鍐典笅閲囩敤濡備笅鐨勫榻愯鍒? 浠諱綍鍩烘湰鏁版嵁綾誨瀷T鐨勫榻愭ā鏁板氨鏄疶鐨勫ぇ灝忥紝鍗硈izeof(T)銆傛瘮濡傚浜巇ouble綾誨瀷(8瀛楄妭)錛屽氨瑕佹眰璇ョ被鍨嬫暟鎹殑鍦板潃鎬繪槸8鐨勫嶆暟錛岃宑har綾誨瀷鏁版嵁(1瀛楄妭)鍒欏彲浠ヤ粠浠諱綍涓涓湴鍧寮濮嬨侺inux涓嬬殑GCC濂夎鐨勬槸鍙﹀涓濂楄鍒?鍦ㄨ祫鏂欎腑鏌ュ緱錛屽茍鏈獙璇侊紝濡傞敊璇鎸囨):浠諱綍2瀛楄妭澶у皬(鍖呮嫭鍗曞瓧鑺傚悧?)鐨勬暟鎹被鍨?姣斿short)鐨勫榻愭ā鏁版槸2錛岃屽叾瀹冩墍鏈夎秴榪?瀛楄妭鐨勬暟鎹被鍨?姣斿long,double)閮戒互4涓哄榻愭ā鏁般?/p>

    鐜板湪鍥炲埌鎴戜滑鍏沖績鐨剆truct涓婃潵銆侫NSI C瑙勫畾涓縐嶇粨鏋勭被鍨嬬殑澶у皬鏄畠鎵鏈夊瓧孌電殑澶у皬浠ュ強瀛楁涔嬮棿鎴栧瓧孌靛熬閮ㄧ殑濉厖鍖哄ぇ灝忎箣鍜屻傚棷錛熷~鍏呭尯錛熷錛岃繖灝辨槸涓轟簡浣跨粨鏋勪綋瀛楁婊¤凍鍐呭瓨瀵歸綈瑕佹眰鑰岄澶栧垎閰嶇粰緇撴瀯浣撶殑絀洪棿銆傞偅涔堢粨鏋勪綋鏈韓鏈変粈涔堝榻愯姹傚悧錛熸湁鐨勶紝ANSI C鏍囧噯瑙勫畾緇撴瀯浣撶被鍨嬬殑瀵歸綈瑕佹眰涓嶈兘姣斿畠鎵鏈夊瓧孌典腑瑕佹眰鏈涓ユ牸鐨勯偅涓鏉撅紝鍙互鏇翠弗鏍?浣嗘闈炲己鍒惰姹傦紝VC7.1灝變粎浠呮槸璁╁畠浠竴鏍蜂弗鏍?銆傛垜浠潵鐪嬩竴涓緥瀛?浠ヤ笅鎵鏈夎瘯楠岀殑鐜鏄疘ntel Celeron 2.4G + WIN2000 PRO + vc7.1錛屽唴瀛樺榻愮紪璇戦夐」鏄?榛樿"錛屽嵆涓嶆寚瀹?Zp涓?pack閫夐」):

  typedef struct ms1
  {
     char a;
     int b;
  } MS1;

    鍋囪MS1鎸夊涓嬫柟寮忓唴瀛樺竷灞(鏈枃鎵鏈夌ず鎰忓浘涓殑鍐呭瓨鍦板潃浠庡乏鑷沖彸閫掑):
       _____________________________
       |       |                   |
       |   a  |        b         |
       |       |                   |
       +---------------------------+
 Bytes:    1             4

    鍥犱負MS1涓湁鏈寮哄榻愯姹傜殑鏄痓瀛楁(int)錛屾墍浠ユ牴鎹紪璇戝櫒鐨勫榻愯鍒欎互鍙夾NSI C鏍囧噯錛孧S1瀵硅薄鐨勯鍦板潃涓瀹氭槸4(int綾誨瀷鐨勫榻愭ā鏁?鐨勫嶆暟銆傞偅涔堜笂榪板唴瀛樺竷灞涓殑b瀛楁鑳芥弧瓚砳nt綾誨瀷鐨勫榻愯姹傚悧錛熷棷錛屽綋鐒朵笉鑳姐傚鏋滀綘鏄紪璇戝櫒錛屼綘浼氬浣曞閥濡欏畨鎺掓潵婊¤凍CPU鐨勭櫀濂藉憿錛熷懙鍛碉紝緇忚繃1姣鐨勮壈鑻︽濊冿紝浣犱竴瀹氬緱鍑轟簡濡備笅鐨勬柟妗堬細

       _______________________________________
       |       |\\\\\\\\\\\|                 |
       |   a  |\\padding\\|       b   |
       |       |\\\\\\\\\\\|                 |
       +-------------------------------------+
 Bytes:    1         3             4

    榪欎釜鏂規鍦╝涓巄涔嬮棿澶氬垎閰嶄簡3涓~鍏?padding)瀛楄妭錛岃繖鏍峰綋鏁翠釜struct瀵硅薄棣栧湴鍧婊¤凍4瀛楄妭鐨勫榻愯姹傛椂錛宐瀛楁涔熶竴瀹氳兘婊¤凍int鍨嬬殑4瀛楄妭瀵歸綈瑙勫畾銆傞偅涔坰izeof(MS1)鏄劇劧灝卞簲璇ユ槸8錛岃宐瀛楁鐩稿浜庣粨鏋勪綋棣栧湴鍧鐨勫亸縐誨氨鏄?銆傞潪甯稿ソ鐞嗚В錛屽鍚楋紵鐜板湪鎴戜滑鎶奙S1涓殑瀛楁浜ゆ崲涓涓嬮『搴?

  typedef struct ms2
  {
     int a;
     char b;
  } MS2;

    鎴栬浣犺涓篗S2姣擬S1鐨勬儏鍐佃綆鍗曪紝瀹冪殑甯冨眬搴旇灝辨槸

       _______________________
       |             |       |
       |     a      |   b  |
       |             |       |
       +---------------------+
 Bytes:      4           1

    鍥犱負MS2瀵硅薄鍚屾牱瑕佹弧瓚?瀛楄妭瀵歸綈瑙勫畾錛岃屾鏃禷鐨勫湴鍧涓庣粨鏋勪綋鐨勯鍦板潃鐩哥瓑錛屾墍浠ュ畠涓瀹氫篃鏄?瀛楄妭瀵歸綈銆傚棷錛屽垎鏋愬緱鏈夐亾鐞嗭紝鍙槸鍗翠笉鍏ㄩ潰銆傝鎴戜滑鏉ヨ冭檻涓涓嬪畾涔変竴涓狹S2綾誨瀷鐨勬暟緇勪細鍑虹幇浠涔堥棶棰樸侰鏍囧噯淇濊瘉錛屼換浣曠被鍨?鍖呮嫭鑷畾涔夌粨鏋勭被鍨?鐨勬暟緇勬墍鍗犵┖闂寸殑澶у皬涓瀹氱瓑浜庝竴涓崟鐙殑璇ョ被鍨嬫暟鎹殑澶у皬涔樹互鏁扮粍鍏冪礌鐨勪釜鏁般傛崲鍙ヨ瘽璇達紝鏁扮粍鍚勫厓绱犱箣闂翠笉浼氭湁絀洪殭銆傛寜鐓т笂闈㈢殑鏂規錛屼竴涓狹S2鏁扮粍array鐨勫竷灞灝辨槸:

|<-    array[1]     ->|<-    array[2]     ->|<- array[3] .....

__________________________________________________________
|             |       |              |      |
|     a      |   b  |      a      |   b  |.............
|             |       |              |      |
+----------------------------------------------------------
Bytes:  4         1          4           1


    褰撴暟緇勯鍦板潃鏄?瀛楄妭瀵歸綈鏃訛紝array[1].a涔熸槸4瀛楄妭瀵歸綈錛屽彲鏄痑rray[2].a鍛紵array[3].a ....鍛紵鍙榪欑鏂規鍦ㄥ畾涔夌粨鏋勪綋鏁扮粍鏃舵棤娉曡鏁扮粍涓墍鏈夊厓绱犵殑瀛楁閮芥弧瓚沖榻愯瀹氾紝蹇呴』淇敼鎴愬涓嬪艦寮?

       ___________________________________
       |             |       |\\\\\\\\\\\|
       |     a      |   b  |\\padding\\|
       |             |       |\\\\\\\\\\\|
       +---------------------------------+
 Bytes:      4           1         3

    鐜板湪鏃犺鏄畾涔変竴涓崟鐙殑MS2鍙橀噺榪樻槸MS2鏁扮粍錛屽潎鑳戒繚璇佹墍鏈夊厓绱犵殑鎵鏈夊瓧孌甸兘婊¤凍瀵歸綈瑙勫畾銆傞偅涔坰izeof(MS2)浠嶇劧鏄?錛岃宎鐨勫亸縐諱負0錛宐鐨勫亸縐繪槸4銆?/p>

    濂界殑錛岀幇鍦ㄤ綘宸茬粡鎺屾彙浜嗙粨鏋勪綋鍐呭瓨甯冨眬鐨勫熀鏈噯鍒欙紝灝濊瘯鍒嗘瀽涓涓◢寰鏉傜偣鐨勭被鍨嬪惂銆?/p>

  typedef struct ms3
  {
     char a;
     short b;
     double c;
  } MS3;

    鎴戞兂浣犱竴瀹氳兘寰楀嚭濡備笅姝g‘鐨勫竷灞鍥?
        
        padding 
           |
      _____v_________________________________
      |   |\|     |\\\\\\\\\|               |
      | a |\|  b  |\padding\|       c       |
      |   |\|     |\\\\\\\\\|               |
      +-------------------------------------+
Bytes:  1  1   2       4            8
          
    sizeof(short)絳変簬2錛宐瀛楁搴斾粠鍋舵暟鍦板潃寮濮嬶紝鎵浠鐨勫悗闈㈠~鍏呬竴涓瓧鑺傦紝鑰宻izeof(double)絳変簬8錛宑瀛楁瑕佷粠8鍊嶆暟鍦板潃寮濮嬶紝鍓嶉潰鐨刟銆乥瀛楁鍔犱笂濉厖瀛楄妭宸茬粡鏈? bytes錛屾墍浠鍚庨潰鍐嶅~鍏?涓瓧鑺傚氨鍙互淇濊瘉c瀛楁鐨勫榻愯姹備簡銆俿izeof(MS3)絳変簬16錛宐鐨勫亸縐繪槸2錛宑鐨勫亸縐繪槸8銆傛帴鐫鐪嬬湅緇撴瀯浣撲腑瀛楁榪樻槸緇撴瀯綾誨瀷鐨勬儏鍐?

  typedef struct ms4
  {
     char a;
     MS3 b;
  } MS4;

    MS3涓唴瀛樿姹傛渶涓ユ牸鐨勫瓧孌墊槸c錛岄偅涔圡S3綾誨瀷鏁版嵁鐨勫榻愭ā鏁板氨涓巇ouble鐨勪竴鑷?涓?)錛宎瀛楁鍚庨潰搴斿~鍏?涓瓧鑺傦紝鍥犳MS4鐨勫竷灞搴旇鏄?
       _______________________________________
       |       |\\\\\\\\\\\|                 |
       |   a   |\\padding\\|       b         |
       |       |\\\\\\\\\\\|                 |
       +-------------------------------------+
 Bytes:    1         7             16

    鏄劇劧錛宻izeof(MS4)絳変簬24錛宐鐨勫亸縐葷瓑浜?銆?/p>

    鍦ㄥ疄闄呭紑鍙戜腑錛屾垜浠彲浠ラ氳繃鎸囧畾/Zp緙栬瘧閫夐」鏉ユ洿鏀圭紪璇戝櫒鐨勫榻愯鍒欍傛瘮濡傛寚瀹?Zpn(VC7.1涓璶鍙互鏄?銆?銆?銆?銆?6)灝辨槸鍛婅瘔緙栬瘧鍣ㄦ渶澶у榻愭ā鏁版槸n銆傚湪榪欑鎯呭喌涓嬶紝鎵鏈夊皬浜庣瓑浜巒瀛楄妭鐨勫熀鏈暟鎹被鍨嬬殑瀵歸綈瑙勫垯涓庨粯璁ょ殑涓鏍鳳紝浣嗘槸澶т簬n涓瓧鑺傜殑鏁版嵁綾誨瀷鐨勫榻愭ā鏁拌闄愬埗涓簄銆備簨瀹炰笂錛孷C7.1鐨勯粯璁ゅ榻愰夐」灝辯浉褰撲簬/Zp8銆備粩緇嗙湅鐪婱SDN瀵硅繖涓夐」鐨勬弿榪幫紝浼氬彂鐜板畠閮戦噸鍛婅浜嗙▼搴忓憳涓嶈鍦∕IPS鍜孉lpha騫沖彴涓婄敤/Zp1鍜?Zp2閫夐」錛屼篃涓嶈鍦?6浣嶅鉤鍙頒笂鎸囧畾/Zp4鍜?Zp8(鎯蟲兂涓轟粈涔堬紵)銆傛敼鍙樼紪璇戝櫒鐨勫榻愰夐」錛屽鐓х▼搴忚繍琛岀粨鏋滈噸鏂板垎鏋愪笂闈?縐嶇粨鏋勪綋鐨勫唴瀛樺竷灞灝嗘槸涓涓緢濂界殑澶嶄範銆?/p>

    鍒頒簡榪欓噷錛屾垜浠彲浠ュ洖絳旀湰鏂囨彁鍑虹殑鏈鍚庝竴涓棶棰樹簡銆傜粨鏋勪綋鐨勫唴瀛樺竷灞渚濊禆浜嶤PU銆佹搷浣滅郴緇熴佺紪璇戝櫒鍙婄紪璇戞椂鐨勫榻愰夐」錛岃屼綘鐨勭▼搴忓彲鑳介渶瑕佽繍琛屽湪澶氱騫沖彴涓婏紝浣犵殑婧愪唬鐮佸彲鑳借琚笉鍚岀殑浜虹敤涓嶅悓鐨勭紪璇戝櫒緙栬瘧(璇曟兂浣犱負鍒漢鎻愪緵涓涓紑鏀炬簮鐮佺殑搴?錛岄偅涔堥櫎闈炵粷瀵瑰繀闇錛屽惁鍒欎綘鐨勭▼搴忔案榪滀篃涓嶈渚濊禆榪欎簺璇″紓鐨勫唴瀛樺竷灞銆傞『渚胯涓涓嬶紝濡傛灉涓涓▼搴忎腑鐨勪袱涓ā鍧楁槸鐢ㄤ笉鍚岀殑瀵歸綈閫夐」鍒嗗埆緙栬瘧鐨勶紝閭d箞瀹冨緢鍙兘浼氫駭鐢熶竴浜涢潪甯稿井濡欑殑閿欒銆傚鏋滀綘鐨勭▼搴忕‘瀹炴湁寰堥毦鐞嗚В鐨勮涓猴紝涓嶉槻浠旂粏媯鏌ヤ竴涓嬪悇涓ā鍧楃殑緙栬瘧閫夐」銆?/p>

    鎬濊冮:璇峰垎鏋愪笅闈㈠嚑縐嶇粨鏋勪綋鍦ㄤ綘鐨勫鉤鍙頒笂鐨勫唴瀛樺竷灞錛屽茍璇曠潃瀵繪壘涓縐嶅悎鐞嗗畨鎺掑瓧孌靛0鏄庨『搴忕殑鏂規硶浠ュ敖閲忚妭鐪佸唴瀛樼┖闂淬?/p>

    A. struct P1 { int a; char b; int c; char d; };
    B. struct P2 { int a; char b; char c; int d; };
    C. struct P3 { short a[3]; char b[3]; };
    D. struct P4 { short a[3]; char *b[3]; };
    E. struct P5 { struct P2 *a; char b; struct P1 a[2];  };

鍙傝冭祫鏂?

    銆?銆戙婃繁鍏ョ悊瑙h綆楁満緋葷粺(淇鐗?銆嬶紝
         (钁?Randal E.Bryant; David O'Hallaron錛?br>         (璇?榫氬鍒?闆瘋繋鏄ワ紝
         涓浗鐢靛姏鍑虹増紺撅紝2004
   
    銆?銆戙奀: A Reference Manual銆?褰卞嵃鐗?錛?br>         (钁?Samuel P.Harbison; Guy L.Steele錛?br>         浜烘皯閭數鍑虹増紺撅紝2003


 



]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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在线| 久久精品国产欧美激情| 这里只有精品在线播放| 在线国产日韩| 女人天堂亚洲aⅴ在线观看| 午夜在线视频观看日韩17c| 亚洲最黄网站| 亚洲欧洲在线视频| 亚洲乱码国产乱码精品精天堂 | 午夜日韩在线观看| 亚洲欧美综合一区| 亚洲影视综合| 亚洲欧美视频在线观看| 亚洲欧美日韩国产中文在线| 亚洲欧美日韩一区| 新67194成人永久网站| 欧美一区二区成人6969| 欧美一激情一区二区三区| 午夜精品影院| 久久久综合网| 亚洲经典在线| 亚洲无亚洲人成网站77777| 一区二区三区国产盗摄| 亚洲宅男天堂在线观看无病毒| 亚洲一级二级在线| 久久九九热免费视频| 久久综合精品国产一区二区三区| 欧美成人免费在线| 欧美性猛交xxxx乱大交退制版| 欧美一级二级三级蜜桃| 西西裸体人体做爰大胆久久久| 亚洲一二三四区| 欧美一区二区三区四区高清| 老司机免费视频一区二区| 91久久极品少妇xxxxⅹ软件| 在线视频你懂得一区二区三区| 香蕉久久一区二区不卡无毒影院| 久久阴道视频| 欧美午夜剧场| 亚洲国产精品激情在线观看| 亚洲免费人成在线视频观看| 久久看片网站| 99视频+国产日韩欧美| 欧美在线中文字幕| 久久综合亚洲社区| 国产精品日韩久久久| 亚洲国产岛国毛片在线| 亚洲淫片在线视频| 亚洲福利视频专区| 久久精品国产精品亚洲精品| 国产精品一区三区| 午夜精品电影| 国产精品99久久久久久久vr| 欧美人成网站| 亚洲精品护士| 91久久线看在观草草青青| 久久一区免费| 亚洲激情电影在线| 亚洲第一中文字幕| 欧美激情精品久久久久久蜜臀| 91久久一区二区| 亚洲人成网站999久久久综合| 久久综合狠狠综合久久综合88| 久久久精品一区| 黄色欧美日韩| 欧美不卡一卡二卡免费版| 久久久国产精彩视频美女艺术照福利| 国产精品羞羞答答| 久久久国产午夜精品| 久久爱www| 亚洲国产精品热久久| 亚洲激情在线播放| 欧美精品在线一区二区| 亚洲午夜一级| 性欧美超级视频| 有坂深雪在线一区| 亚洲人成免费| 国产欧美日韩免费看aⅴ视频| 久久精品人人做人人综合| 久久久久国产精品一区二区| 亚洲精品美女久久7777777| 一区二区激情| 国内精品久久久久久久影视蜜臀| 麻豆成人精品| 欧美日韩亚洲综合在线| 国产精品99久久久久久白浆小说| 国产日韩专区| 亚洲人成毛片在线播放女女| 国产精品ⅴa在线观看h| 久久一区二区三区四区| 欧美成人免费一级人片100| 欧美成人在线免费视频| 亚洲一区成人| 久久久av水蜜桃| 亚洲素人一区二区| 久久久亚洲人| 午夜精品视频| 欧美国产精品va在线观看| 欧美一级专区| 欧美激情一区二区三区在线视频观看| 亚洲欧美另类久久久精品2019| 久久精品欧美日韩| 亚洲午夜精品视频| 免费高清在线视频一区·| 国产精品网曝门| 欧美激情第二页| 国产午夜精品一区二区三区欧美| 亚洲国产精品一区二区久| 国产精品美女久久久久av超清 | 老司机精品久久| 国产精品theporn88| 欧美顶级大胆免费视频| 国产欧美日韩免费看aⅴ视频| 亚洲国产精品久久久久| 一区二区三区在线观看视频| 亚洲在线不卡| 一区二区三区日韩欧美精品| 久久久视频精品| 欧美一区二区日韩| 国产精品日韩精品欧美在线| 一区二区三区四区精品| 99视频一区二区| 嫩模写真一区二区三区三州| 久久精品亚洲一区二区三区浴池| 亚洲欧美日韩爽爽影院| 这里只有精品电影| 欧美成人一区二区三区| 久久久久女教师免费一区| 国产精品久久久久久亚洲毛片| 亚洲精品国精品久久99热一| 亚洲狼人综合| 免费成人性网站| 欧美激情一区二区三区高清视频| 在线电影欧美日韩一区二区私密| 亚洲欧美日韩在线综合| 午夜在线观看免费一区| 国产精品国产三级国产专播精品人| 亚洲精品免费在线| 亚洲视频欧美视频| 欧美四级电影网站| 国产精品99久久久久久久久| 午夜精品在线视频| 国产麻豆综合| 欧美一区二区三区精品电影| 久久久精品性| 亚洲国产精品小视频| 麻豆精品一区二区综合av| 欧美黑人一区二区三区| 99riav国产精品| 欧美日韩午夜剧场| 亚洲一区二区三区四区五区黄| 欧美一区二区三区视频免费| 国产亚洲一区二区在线观看| 久久婷婷久久一区二区三区| 欧美韩日精品| 亚洲专区国产精品| 国产亚洲综合在线| 久久噜噜亚洲综合| 亚洲精品乱码久久久久久日本蜜臀 | 亚洲视频成人| 久久国产主播精品| 伊人夜夜躁av伊人久久| 欧美电影电视剧在线观看| 在线亚洲一区二区| 另类专区欧美制服同性| 亚洲精品一区二区三区福利| 国产精品啊v在线| 久久久久综合| 亚洲精品一区在线观看香蕉| 久久精品30| 亚洲卡通欧美制服中文| 国产精品丝袜久久久久久app| 久久久一区二区| 一区二区毛片| 欧美承认网站| 久久黄金**| 一区二区三区免费网站| 国产一区二区精品丝袜| 欧美日韩国产综合视频在线观看| 亚洲午夜日本在线观看| 欧美激情小视频| 久久成人免费电影| 亚洲天堂成人在线视频| 亚洲国产精品成人精品| 国产亚洲一级高清| 国产精品久久网站| 免费欧美在线视频| 久久精品国产精品亚洲| 欧美一级视频| 一本久道久久久| 黄网站色欧美视频| 国产精品一区二区三区四区五区| 欧美精品亚洲| 美女脱光内衣内裤视频久久网站| 亚洲欧美日韩成人高清在线一区| 亚洲国产成人av好男人在线观看| 久久久综合香蕉尹人综合网| 久久国产精品久久w女人spa| 中文精品视频| 日韩视频在线观看国产|