锘??xml version="1.0" encoding="utf-8" standalone="yes"?>C++鍗氬-sin鐨?#37719;氬http://www.9087120.com/sixinquan/鏃堕棿鎮?#37806;勫?#29256;祦杩囷紝浠婂浣犲仛浜?#28000;涔?/description>zh-cnTue, 26 Mar 2019 14:54:38 GMTTue, 26 Mar 2019 14:54:38 GMT60灏?#37719;氬?#24777;鑷矯SDNhttp://www.9087120.com/sixinquan/archive/2019/02/22/216254.htmlsinsinFri, 22 Feb 2019 04:51:00 GMThttp://www.9087120.com/sixinquan/archive/2019/02/22/216254.htmlhttp://www.9087120.com/sixinquan/comments/216254.htmlhttp://www.9087120.com/sixinquan/archive/2019/02/22/216254.html#Feedback0http://www.9087120.com/sixinquan/comments/commentRss/216254.htmlhttp://www.9087120.com/sixinquan/services/trackbacks/216254.html灏?#37719;氬?#24777;鑷矯SDN

sin 2019-02-22 12:51 鍙戣璇勮
]]>
Linux鑷?#37827;?#38335;佸拰浜掓枼閿?#37928;勫?#28853;幇http://www.9087120.com/sixinquan/archive/2013/10/29/203981.htmlsinsinTue, 29 Oct 2013 14:40:00 GMThttp://www.9087120.com/sixinquan/archive/2013/10/29/203981.htmlhttp://www.9087120.com/sixinquan/comments/203981.htmlhttp://www.9087120.com/sixinquan/archive/2013/10/29/203981.html#Feedback0http://www.9087120.com/sixinquan/comments/commentRss/203981.htmlhttp://www.9087120.com/sixinquan/services/trackbacks/203981.html

鑷?#37827;?#38335;侊紙spin lock锛夊簲鐢?#37734;?#28598;氬鐞嗗櫒鐜?#28583;?#28051;?#37510;傚鏋滃唴鏍告帶鍒惰矾寰勫彂?#24135;鑷?#37827;?#38335;?#8220;寮鐫”?#32029;灏?#38014;?#37721;?#38335;佸苟缁?#32513;?#38007;繁鐨勬墽琛屻傜浉鍙嶏紝濡?#37835;滃唴鏍告帶鍒惰矾寰勫彂?#24135;閿佺敱杩?#29723;?#37734;?#37721;?#28051;涓狢PU涓?#37928;勫唴鏍告帶鍒惰矾寰?#8220;閿?鐫”?#32029;灏?#37734;懆鍥?#8220;鏃嬭浆”?#32029;鍙?#28598;嶆墽琛?#28051;鏉揣鍑?#37928;勫惊鐜?#37816;?#28000;紝?#27967;鍒?#38335;?#29722;噴鏀俱?#38007;?#37827;?#38335;?#37928;勫惊鐜?#37816;?#28000;?#29723;?#32448;?#8220;蹇欑瓑”銆?#37719;?#28003;跨?#22794;緟鐨勫唴鏍告帶鍒惰矾寰?#37827;?#27996;?#37721;仛?#32025;?#27342;浜嗘氮璐?#37827;堕棿锛夛紝瀹?#28052;?#37734;CPU涓婁繚鎸?#26473;?#29723;屻?#28051;?#26473;囷紝鑷?#37827;?#38335;侀氬父闈炲?#21578;?#36891;究?#32029;鍥?#28051;?#23536;?#28598;氬唴鏍歌?#21228;鍙?#38335;?姣?#32457;?#37928;?#37827;堕棿?#22678;娈?#38171;?#37813;浠?#29831;达紝绛夊緟鑷?#37827;?#38335;?#37928;勯噴鏀?#28051;?#28028;氭秷鑰?#28598;?#28598;欳PU鐨?#37827;堕棿銆?br />

涓鑸?#37833;?#29831;达紝鐢?#38007;?#37827;?#38335;?#37813;?#32346;?#23010;鐨勬瘡涓?#28051;寸?#23677;尯閮芥槸绂佹?#21812;鏍告姠鍗?#37928;?#37510;?#37734;?#37719;?#28598;?#37918;嗗櫒绯?#32513;?#28051;婏紝杩欑閿佹湰韬苟涓嶈捣閿?#37928;?#28003;?#37922;紝鑷?#37827;?#38335;佹妧鏈?#28000;?#28000;呮槸鐢?#37833;?#32450;佹鎴栧惎鐢唴鏍告姠 鍗?#37510;?#29831;?#23049;剰?#32029;鍦?#38007;?#37827;?#38335;佸?#27409;瓑鏈熼棿?#32029;鍥?#28051;哄苟?#30149;鏈?#26473;?#37711;?#28051;寸?#23677;尯?#32029;鎵浠唴鏍告姠鍗?#26473;樻槸鏈夋晥鐨勶紝鍥?#23005;紝绛夊緟鑷?#37827;?#38335;侀噴鏀?#37928;?#26473;涚鏈?#37721;?#38003;?#29722;洿?#29678;浼?#37711;堢骇鐨勬墍鍙?#28000;?#37510;?#26473;欑?#23944;璁槸鍚?#37918;?鐨勶紝鍥?#28051;?#28051;嶈兘鍥?#28051;?#37719;?#37922;CPU澶?#28052;呰?#28003;跨郴缁?#23005;?#38335;?#37510;?/p>
浜掓枼閿侊紙mutex lock锛?#37928;勫?#28853;幇?#32029;瀹?#38340;?#28051;婂氨?#27128;涓鎶?#38335;佺?#23384;姢浜嗕竴涓?#32475;夊緟?#27110;鍒楀拰涓涓?#23534;?#37922;?#29825;?#37825;板櫒?#32029;?#32139;鑾?#37721;?#38335;?#28052;?#37715;嶏紝鍏堝寮?#37922;?#29825;?#37825;板櫒鍑?鎿?#28003;紝濡?#37835;?#28051;?#38344;?#29840;燂紝鍒?#37721;?#28000;?#38014;?#37721;?#38335;?#26473;?#37711;?#28051;寸?#23677;尯銆傚惁鍒?#28751;?#29831;?#28000;?#37716;?#29825;?#28051;?#28051;?#37721;?#28051;?#37826;?#33333;侊紙uninterruptible锛夛紝鎸?#37734;?#29831;?#32475;夊緟瀵?#37714;?#28051;?#37510;?#38014;?#37721;?#38335;?#37928;?#28000;?#37716;?#28000;?#28051;寸?#23677;尯閫鍑哄悗?#32029;璁?#37825;板櫒鍔?鎿?#28003;紝?#25948;閱掞紙wake up锛?#32475;夊緟?#27110;鍒?#28051;?#37928;勮鎸傝捣杩涚銆?img src ="http://www.9087120.com/sixinquan/aggbug/203981.html" width = "1" height = "1" />

sin 2013-10-29 22:40 鍙戣璇勮
]]>
C++瀵硅薄妯瀷http://www.9087120.com/sixinquan/archive/2013/10/26/203929.htmlsinsinSat, 26 Oct 2013 15:39:00 GMThttp://www.9087120.com/sixinquan/archive/2013/10/26/203929.htmlhttp://www.9087120.com/sixinquan/comments/203929.htmlhttp://www.9087120.com/sixinquan/archive/2013/10/26/203929.html#Feedback0http://www.9087120.com/sixinquan/comments/commentRss/203929.htmlhttp://www.9087120.com/sixinquan/services/trackbacks/203929.html闃?#29831;?#37711;?#37826;?/a>

sin 2013-10-26 23:39 鍙戣璇勮
]]>
铏?#37835;?#37835;勫?#33445;?#20276;棶棰?#38171;?#28051;?#28000;涔堣灏嗗熀绫?#37928;?#37928;勬瀽鏋勫?#33445;?#25292;鎴愯櫄鐨?#38171;?/title><link>http://www.9087120.com/sixinquan/archive/2013/10/19/203817.html</link><dc:creator>sin</dc:creator><author>sin</author><pubDate>Sat, 19 Oct 2013 13:36:00 GMT</pubDate><guid>http://www.9087120.com/sixinquan/archive/2013/10/19/203817.html</guid><wfw:comment>http://www.9087120.com/sixinquan/comments/203817.html</wfw:comment><comments>http://www.9087120.com/sixinquan/archive/2013/10/19/203817.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.9087120.com/sixinquan/comments/commentRss/203817.html</wfw:commentRss><trackback:ping>http://www.9087120.com/sixinquan/services/trackbacks/203817.html</trackback:ping><description><![CDATA[<span style="font-size: xx-small;"></span><div><span style="font-size: 9pt;"><span style="font-family: 瀹?#28003;?">?#27974;鑷?#38171;?/span></span>http://blog.csdn.net/pathuang68/article/details/4156308</div><span style="font-size: 9pt;"><span style="font-family: 瀹?#28003;?"><br />鏌?/span></span><span style="font-size: 9pt; font-family: Arial;">CSDN</span><span style="font-family: 瀹?#28003;?"><span style="font-size: 9pt;">缃?#37721;嬮棶锛?/span></span><span style="font-size: xx-small;"><span style="font-family: arial,helvetica,sans-serif;"></span></span> <div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">class</span><span style="color: #000000; "> A<br />{<br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">:<br />   </span><span style="color: #000000; ">~</span><span style="color: #000000; ">A() <br />   { <br />      cout </span><span style="color: #000000; "><</span><span style="color: #000000; "> </span><span style="color: #000000; "><</span><span style="color: #000000; ">"</span><span style="color: #000000; ">A::~A</span><span style="color: #000000; ">"</span><span style="color: #000000; "> </span><span style="color: #000000; "><</span><span style="color: #000000; "> </span><span style="color: #000000; "><</span><span style="color: #000000; ">endl; <br />   }<br />};<br /><br /><br /></span><span style="color: #0000FF; ">class</span><span style="color: #000000; "> B:</span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> A<br />{<br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">: <br />   </span><span style="color: #0000FF; ">virtual</span><span style="color: #000000; "> </span><span style="color: #000000; ">~</span><span style="color: #000000; ">B() <br />   { <br />      cout </span><span style="color: #000000; "><</span><span style="color: #000000; "> </span><span style="color: #000000; "><</span><span style="color: #000000; ">"</span><span style="color: #000000; ">B::~B</span><span style="color: #000000; ">"</span><span style="color: #000000; "> </span><span style="color: #000000; "><</span><span style="color: #000000; "> </span><span style="color: #000000; "><</span><span style="color: #000000; ">endl; <br />   }<br />};<br /><br /><br /></span><span style="color: #0000FF; ">class</span><span style="color: #000000; "> C:</span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> B<br />{<br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">: <br />   </span><span style="color: #000000; ">~</span><span style="color: #000000; ">C() <br />   { <br />      cout </span><span style="color: #000000; "><</span><span style="color: #000000; "> </span><span style="color: #000000; "><</span><span style="color: #000000; ">"</span><span style="color: #000000; ">C::~C</span><span style="color: #000000; ">"</span><span style="color: #000000; "> </span><span style="color: #000000; "><</span><span style="color: #000000; "> </span><span style="color: #000000; "><</span><span style="color: #000000; ">endl; <br />   }<br />};<br /><br /> <br /></span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> main()<br />{ <br />   A </span><span style="color: #000000; ">*</span><span style="color: #000000; ">a</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> A(); <br />   B </span><span style="color: #000000; ">*</span><span style="color: #000000; ">b</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> B(); <br />   C </span><span style="color: #000000; ">*</span><span style="color: #000000; ">c</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> C(); <br />   A </span><span style="color: #000000; ">*</span><span style="color: #000000; ">d</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> B(); <br />   A </span><span style="color: #000000; ">*</span><span style="color: #000000; ">e</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> C(); <br />   B </span><span style="color: #000000; ">*</span><span style="color: #000000; ">f</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> C(); <br /><br />   delete a; <br />   cout </span><span style="color: #000000; "><</span><span style="color: #000000; "> </span><span style="color: #000000; "><</span><span style="color: #000000; ">endl; <br />   delete b; <br />   cout </span><span style="color: #000000; "><</span><span style="color: #000000; "> </span><span style="color: #000000; "><</span><span style="color: #000000; ">endl; <br />   delete c; <br />   cout </span><span style="color: #000000; "><</span><span style="color: #000000; "> </span><span style="color: #000000; "><</span><span style="color: #000000; ">endl; <br />   delete d; <br />   cout </span><span style="color: #000000; "><</span><span style="color: #000000; "> </span><span style="color: #000000; "><</span><span style="color: #000000; ">endl; <br />   delete e; <br />   cout </span><span style="color: #000000; "><</span><span style="color: #000000; "> </span><span style="color: #000000; "><</span><span style="color: #000000; ">endl; <br />   delete f; <br />   cout </span><span style="color: #000000; "><</span><span style="color: #000000; "> </span><span style="color: #000000; "><</span><span style="color: #000000; ">endl; <br /><br />   system(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Pause</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />} <br /></span></div><strong><span style="font-family: Arial;"></span></strong><p><strong><span style="font-size: 9pt; font-family: Arial;"></span></strong><strong><span style="font-size: 9pt; font-family: 瀹?#28003;?">杩?#23048;?#32459;嬪簭杩?#29723;?#37827;?#37832;?#38335;欙紝?#32139;鏃惰?#37928;?#37827;跺?#26864;?#37929;洿鎺?#29831;?#37712;?#37713;?#26473;?#29723;?#32513;?#37835;紝鎴?#28751;?#32459;閲岀硦娑傚緱鍐?#28051;?#37833;紝鍥?#37833;?#32514;?#28051;?#37721;?#37916;版湁閿欙紝璇?#37825;?#28051;?#38335;?#37734;?#37725;紝鏈濂?#37723;?#29831;?#37812;?#28051;?#28000;涔?#38171;?/span></strong></p> <p><span style="font-size: small;"><span style="font-family: 瀹?#28003;?"></span></span> </p><p> </p><p><span style="font-size: xx-small;"> </span> </p> <p><span style="font-family: 瀹?#28003;?"><span style="font-size: 9pt;">鐜勬?#27946;稿鍥炵瓟锛?/span></span></p> <p><span style="font-size: 9pt; font-family: Arial;">1. </span><span style="font-size: 9pt;"><span style="font-family: 瀹?#28003;?">涓鑸?#37833;?#29831;达紝濡?#37835;?#28051;涓?#32491;?#29781;?#29722;?#37721;?#28598;?#28051;涓?#32491;?#32513;?#37813;紝鑰?#28051;?#37922;?#37711;?#37816;囬拡鎸?#37722;?#37711;跺瓙绫?#28725;硅薄鏃讹紝濡?#26864;?#37929;?#28051;?#37928;?/span></span><span style="font-size: 9pt; font-family: Arial;">A* d = new B();(</span><span style="font-size: 9pt;"><span style="font-family: 瀹?#28003;?">鍋?#28729;?/span></span><span style="font-size: 9pt; font-family: Arial;">A</span><span style="font-size: 9pt;"><span style="font-family: 瀹?#28003;?">?#27128;?#29056;绫伙紝</span></span><span style="font-size: 9pt; font-family: Arial;">B</span><span style="font-size: 9pt;"><span style="font-family: 瀹?#28003;?">?#27128;浠?/span></span><span style="font-size: 9pt; font-family: Arial;">A</span><span style="font-size: 9pt;"><span style="font-family: 瀹?#28003;?">缁?#37813;?#38000;?#37833;?#37928;勬淳鐢?#32491;?/span></span><span style="font-size: 9pt; font-family: Arial;">)</span><span style="font-size: 9pt;"><span style="font-family: 瀹?#28003;?">?#32029;?#20549;涔?#37711;?/span></span><span style="font-size: 9pt; font-family: Arial;">(A</span><span style="font-size: 9pt;"><span style="font-family: 瀹?#28003;?">绫?/span></span><span style="font-size: 9pt; font-family: Arial;">)</span><span style="font-size: 9pt;"><span style="font-family: 瀹?#28003;?">鏋?#37835;勫?#33445;暟蹇呴?#32472;槸铏?#37928;勶紝鍚?#37714;?#37734;?/span></span><span style="font-size: 9pt; font-family: Arial;">delete d</span><span style="font-size: 9pt;"><span style="font-family: 瀹?#28003;?">鏃讹紝</span></span><span style="font-size: 9pt; font-family: Arial;">B</span><span style="font-size: 9pt;"><span style="font-family: 瀹?#28003;?">绫?#37928;勬瀽鏋勫?#33445;暟灏嗕笉浼?#29722;?#29835;?#37922;紝鍥?#38000;屼細浜?#37922;熷唴?#29928;娉勬紡?#25328;寮傚父锛?/span></span><span style="font-size: 9pt; font-family: Arial;"> <br /><br /></span></p> <p><span style="font-size: 9pt; font-family: Arial;">2. </span><span style="font-size: 9pt;"><span style="font-family: 瀹?#28003;?">鍦?#37835;勯?#28051;涓?#32491;?#37928;勫?#30789;薄鏃讹紝鍏?#37835;勯犲?#36346;熀绫诲?#24876;?#30789;薄?#32029;鍗?#29835;?#37922;?#37711;跺熀绫?#37928;勬?#21231;犲?#33445;暟?#32029;鐒?#37722;?#29835;?#37922;湰绫?#37928;勬?#21231;犲?#33445;暟锛?#38335;姣佸?#30789;薄鏃讹紝鍏?#29835;?#37922;湰绫?#37928;勬瀽鏋勫?#33445;暟?#32029;鐒?#37722;?#37712;嶈皟鐢?#37711;跺熀绫?#37928;勬?#21231;犲?#33445;暟锛?/span></span><span style="font-size: 9pt; font-family: Arial;"> <br /><br /></span></p> <p><span style="font-size: 9pt; font-family: Arial;">3. </span><span style="font-size: 9pt;"><span style="font-family: 瀹?#28003;?">棰?#37929;?#32513;?#37713;?#37928;?#28000;?#37934;佹槸鍙?#28000;?#32514;?#29831;?#37928;勶紝浣嗕?#27692;嚭?#24135;杩?#29723;?#37827;堕敊璇?#37510;?#38335;?#29831;?#37713;虹幇鍦?/span></span><span style="font-size: 9pt; font-family: Arial;">delete d;</span><span style="font-size: 9pt;"><span style="font-family: 瀹?#28003;?">杩?#28051;鍙?#37510;?#28051;?#29825;?#29825;?#37826;逛究?#32029;鎴?#28000;?#28051;?#28641;?#28751;?/span></span><span style="font-size: 9pt; font-family: Arial;">A</span><span style="font-size: 9pt;"><span style="font-family: 瀹?#28003;?">绫诲拰</span></span><span style="font-size: 9pt; font-family: Arial;">B</span><span style="font-size: 9pt;"><span style="font-family: 瀹?#28003;?">绫?#37824;?#37712;?#28641;?#28051;?#38171;?/span></span></p><p><span style="font-size: 9pt;"><span style="font-family: 瀹?#28003;?"><br /></span></span></p><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">class</span><span style="color: #000000; "> A<br />{<br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">:<br />    </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> a;<br />    </span><span style="color: #000000; ">~</span><span style="color: #000000; ">A()<br />    {<br />        cout </span><span style="color: #000000; "><<</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">A::~A</span><span style="color: #000000; ">"</span><span style="color: #000000; "> </span><span style="color: #000000; "><<</span><span style="color: #000000; "> endl;<br />    }<br />};<br /><br /></span><span style="color: #0000FF; ">class</span><span style="color: #000000; "> B : </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> A<br />{<br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">:<br />    </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> b;<br />    </span><span style="color: #0000FF; ">virtual</span><span style="color: #000000; "> </span><span style="color: #000000; ">~</span><span style="color: #000000; ">B()<br />    {<br />        cout </span><span style="color: #000000; "><<</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">B::~B</span><span style="color: #000000; ">"</span><span style="color: #000000; "> </span><span style="color: #000000; "><<</span><span style="color: #000000; "> endl;<br />    }<br />}; <br /></span></div><p> </p> <p><span style="font-size: 9pt; color: blue; font-family: Arial;"><br /></span><span style="font-size: 9pt; color: black; font-family: Arial;"></span><span style="font-size: 9pt; font-family: Arial;"></span></p><p><span style="font-size: 9pt; font-family: Arial;"></span><span style="font-size: 9pt; font-family: 瀹?#28003;?">?#20549;涔?/span><span style="font-size: 9pt; font-family: Arial;">A* d = new B();</span><span style="font-size: 9pt; font-family: 瀹?#28003;?">杩?#28051;鍙?#37928;勫乏杈规墍浜?#37922;?/span><span style="font-size: 9pt; font-family: Arial;">B</span><span style="font-size: 9pt; font-family: 瀹?#28003;?">鐨勫?#30789;薄鐨勫唴?#29928;缁?#37835;勫涓?#38171;?/span></p></div><img alt="" src="http://www.9087120.com/images/cppblog_com/sixinquan/classB.GIF" height="212" width="243" /><br /><br /><div><p><span style="font-size: 9pt; font-family: 瀹?#28003;?"><span style="font-size: xx-small;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 9pt; font-family: 瀹?#28003;?">鑰?/span><span style="font-size: 9pt; font-family: Arial;">A</span><span style="font-size: 9pt; font-family: 瀹?#28003;?">瀵硅薄鐨勫唴?#29928;缁?#37835;勫涓?#38171;?/span></span></span></span></p><p><span style="font-size: 9pt; font-family: 瀹?#28003;?"><span style="font-size: xx-small;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 9pt; font-family: 瀹?#28003;?"><img alt="" src="http://www.9087120.com/images/cppblog_com/sixinquan/classA.GIF" height="64" width="135" /></span></span></span></span></p><p><span style="font-size: 9pt; font-family: 瀹?#28003;?"><span style="font-size: xx-small;"><span style="font-family: arial,helvetica,sans-serif;"><br /><span style="font-size: 9pt; font-family: 瀹?#28003;?"></span></span></span></span></p><div><span style="font-size: 9pt;">鍙?#29785;?/span><span style="font-size: 9pt; font-family: Arial;">d</span><span style="font-size: 9pt;">鍙?#38003;?#37813;?#37714;?/span><span style="font-size: 9pt; font-family: Arial;">a</span><span style="font-size: 9pt;">?#25328;</span><span style="font-size: 9pt; font-family: Arial;">A</span><span style="font-size: 9pt;">绫?#37928;勬瀽鏋勫?#33445;暟?#32029;鑰?#37827;?#23049;?#37813;?#37714;?/span><span style="font-size: 9pt; font-family: Arial;">B</span><span style="font-size: 9pt;">瀵硅薄鐨勬瀽鏋勫?#33445;暟?#32029;鎵浠綋</span><span style="font-size: 9pt; font-family: Arial;">delete d;</span><span style="font-size: 9pt;">鐨?#37827;跺欙紝</span><span style="font-size: 9pt; font-family: Arial;">B</span><span style="font-size: 9pt;">瀵硅薄鎵鍗?#37922;?#37928;勫唴?#29928;灏?#23005;?#29722;?#23049;勬紡鎺?#27996;嗭紝涔?#28000;?#38000;?#27996;?#37922;?#27996;嗗?#20634;父銆?/span><span style="font-size: 9pt; font-family: 瀹?#28003;?"><br /><br />濡?#37835;?#28751;?/span><span style="font-size: 9pt; font-family: Arial;">A</span><span style="font-size: 9pt; font-family: 瀹?#28003;?">绫?#37928;勬瀽鏋勫?#33445;?#25292;涓?#38095;?#37928;勶紝?#20549;涔?/span><span style="font-size: 9pt; font-family: Arial;">A</span><span style="font-size: 9pt; font-family: 瀹?#28003;?">绫?#28725;硅薄鐨勫唴?#29928;缁?#37835;勫?#21973;负锛?br /><img alt="" src="http://www.9087120.com/images/cppblog_com/sixinquan/newClassA.GIF" height="165" width="174" /><br /><br /><div><span style="font-size: 9pt; font-family: Arial;"><span style="font-size: 9pt; font-family: Arial;">B</span><span style="font-size: 9pt; font-family: 瀹?#28003;?">绫?#28725;硅薄鐨勫唴?#29928;缁?#37835;?#28051;?#38171;?/span></span></div><img alt="" src="http://www.9087120.com/images/cppblog_com/sixinquan/newclassB.GIF" height="212" width="243" /><br /><br /><div><p><span style="font-size: 9pt;">姝?#37827;堕?#26473;?/span><span style="font-size: 9pt; font-family: Arial;">A* d = new B();</span><span style="font-size: 9pt;">?#32029;</span><span style="font-size: 9pt; font-family: Arial;">A</span><span style="font-size: 9pt;">瀵硅薄鐨勫唴?#29928;缁?#37835;?#28051;?#37928;?/span><span style="font-size: 9pt; font-family: Arial;">vfptr</span><span style="font-size: 9pt;">?#32029;鍗宠?#27692;?#33445;?#25292;鎸囬?#22572;紝灏辨槸</span><span style="font-size: 9pt; font-family: Arial;">B</span><span style="font-size: 9pt;">瀵硅薄鐨?/span><span style="font-size: 9pt; font-family: Arial;">vfptr(B</span><span style="font-size: 9pt;">瀵硅薄鐨?/span><span style="font-size: 9pt; font-family: Arial;">vfptr</span><span style="font-size: 9pt;">琚?/span><span style="font-size: 9pt; font-family: Arial;">bitwise copy</span><span style="font-size: 9pt;">?#32029;鍗?#23092;呮嫹璐?#37714;?/span><span style="font-size: 9pt; font-family: Arial;">A</span><span style="font-size: 9pt;">瀵硅薄鐨?/span><span style="font-size: 9pt; font-family: Arial;">vfptr</span><span style="font-size: 9pt;">銆傚</span><span style="font-size: 9pt; font-family: Arial;">B</span><span style="font-size: 9pt;">?#27128;浠?/span><span style="font-size: 9pt; font-family: Arial;">A</span><span style="font-size: 9pt;">铏?#32513;?#37813;?#38000;?#37833;?#37928;勶紝鍒欓渶瑕佸姞涓涓?/span><span style="font-size: 9pt; font-family: Arial;">offset</span><span style="font-size: 9pt; font-family: Arial;">?#32029;鎯?#37712;?#29781;佹洿澶嶆?#20646;紝瑙?a href="http://blog.csdn.net/pathuang68/archive/2009/04/24/4105902.aspx">http://blog.csdn.net/pathuang68</a><a href="http://blog.csdn.net/pathuang68/archive/2009/04/24/4105902.aspx">/archive/2009/04/24/4105902.aspx</a>)</span><span style="font-size: 9pt;">?#32029;鍥?#23005;紝</span><span style="font-size: 9pt; font-family: Arial;">A</span><span style="font-size: 9pt;">瀵硅薄鐨?/span><span style="font-size: 9pt; font-family: Arial;">vfptr</span><span style="font-size: 9pt;">鎵鎸?#37722;?#37928;勬槸</span><span style="font-size: 9pt; font-family: Arial;">B</span><span style="font-size: 9pt;">瀵硅薄鐨勮?#27692;?#33445;?#25292;?#32029;鑰?/span><span style="font-size: 9pt; font-family: Arial;">B</span><span style="font-size: 9pt;">鐨勬瀽鏋勫?#33445;暟浣?#27996;?#28052;?#37713;芥?#25292;</span><span style="font-size: 9pt; font-family: Arial;">0</span><span style="font-size: 9pt;">鐨?#28003;?#32515;紝鍥?#23005;紝杩?#37837;?#28751;?#37721;?#28000;?#38315;?#26473;?/span><span style="font-size: 9pt; font-family: Arial;">A</span><span style="font-size: 9pt;">绫?#28725;硅薄鐨勬寚?#25313;</span><span style="font-size: 9pt; font-family: Arial;">d</span><span style="font-size: 9pt;">?#32029;鎵?#37714;?/span><span style="font-size: 9pt; font-family: Arial;">B</span><span style="font-size: 9pt;">绫?#28725;硅薄鐨勬瀽鏋勫?#33445;暟?#32029;浠?#38000;?#37734;?/span><span style="font-size: 9pt; font-family: Arial;">delete d;</span><span style="font-size: 9pt;">鏃讹紝鍙?#28000;?#38335;姣?/span><span style="font-size: 9pt; font-family: Arial;">B</span><span style="font-size: 9pt;">瀵硅薄?#32029;鑰?#28051;?#28028;?#27996;?#37922;熷唴?#29928;娉勬紡?#25328;寮傚父銆?/span> </p> <p><span style="font-size: 9pt; font-family: Arial;"><br /></span><span style="font-size: 9pt; font-family: 瀹?#28003;?">浜?#28729;?#28051;婏紝璇?#26864;?#37929;?#37721;?#29781;?#28751;?/span><span style="font-size: 9pt; font-family: Arial;">A</span><span style="font-size: 9pt; font-family: 瀹?#28003;?">涓?#37928;勬瀽鏋勫?#33445;?#25292;鎴愯櫄鐨勶紝</span><span style="font-size: 9pt; font-family: Arial;">B</span><span style="font-size: 9pt; font-family: 瀹?#28003;?">绫?#28051;?#37928;勬瀽鏋勫?#33445;?#26495;墠闈?#37928;?/span><span style="font-size: 9pt; font-family: Arial;">virtual</span><span style="font-size: 9pt; font-family: 瀹?#28003;?">鍏?#38335;?#28699;?#28051;?#32480;槸鍚瓨鍦紝鍏?#37835;?#37835;勫?#33445;暟涔?#28051;瀹氭槸铏?#37928;勶紝</span><span style="font-size: 9pt; font-family: Arial;">C</span><span style="font-size: 9pt; font-family: 瀹?#28003;?">绫?#37722;屾?#20158;鐞?#37510;傚洜姝紝寰?#37714;?#32513;?#29825;?#28751;辨槸?#32029;鍙?#29781;佽兘澶熶繚璇佺户鎵?#37711;?#32495;?#28051;?#37832;?#29678;鐨勫熀绫?#37928;勬瀽鏋勫?#33445;?#29256;槸铏?#37928;勶紝?#20549;涔?#28751;?#28051;?#28028;?#27996;?#37922;熷墠闈?#37813;璋?#37721;?#37928;?#38338;?#26864;?#37510;?#26473;?#28751;辨槸涓?#28000;涔?#37734;?#37807;?#28003;?#37922;?#28598;氭佺?#35268;?#37928;?#37827;跺欙紝?#28214;瑕?#28751;嗗熀绫?#37928;勬瀽鏋勫?#33445;?#25292;鎴愯櫄鐨勭湡姝師鍥?#37510;?/span><br /></p></div></span></div><p> </p><p><span style="font-size: 9pt; font-family: 瀹?#28003;?"><span style="font-size: xx-small;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 9pt; font-family: 瀹?#28003;?"></span></span></span></span></p></div><img src ="http://www.9087120.com/sixinquan/aggbug/203817.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.9087120.com/sixinquan/" target="_blank">sin</a> 2013-10-19 21:36 <a href="http://www.9087120.com/sixinquan/archive/2013/10/19/203817.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣璇勮</a></div>]]></description></item><item><title>TCP绐?#37721;?#23114;?#37716;?#37832;?#37714;?/title><link>http://www.9087120.com/sixinquan/archive/2013/10/18/203808.html</link><dc:creator>sin</dc:creator><author>sin</author><pubDate>Fri, 18 Oct 2013 13:54:00 GMT</pubDate><guid>http://www.9087120.com/sixinquan/archive/2013/10/18/203808.html</guid><wfw:comment>http://www.9087120.com/sixinquan/comments/203808.html</wfw:comment><comments>http://www.9087120.com/sixinquan/archive/2013/10/18/203808.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.9087120.com/sixinquan/comments/commentRss/203808.html</wfw:commentRss><trackback:ping>http://www.9087120.com/sixinquan/services/trackbacks/203808.html</trackback:ping><description><![CDATA[<div>婊?#37716;?#32464;?#37721;?#37719;?#29825;?#37928;勫熀?#28272;?#24107;鐞?#28751;辨槸鍦?#28000;绘剰鏃?#37714;伙紝鍙?#38315;?#37826;?#38318;?#32513;?#37816;?#27996;嗕竴涓?#26473;炵画鐨勫?#20349;鍙?#38315;?#37928;勫抚鐨勫簭鍙凤紝绉?#28051;?#37721;?#38315;佺獥鍙?#38171;?#37722;?#37827;讹紝鎺?#37824;?#37826;?#28052;?#32513;?#37816;?#27996;嗕竴涓?#26473;炵画鐨勫?#20349;?#21578;帴鏀?#37928;勫抚鐨勫簭鍙凤紝绉?#28051;?#37818;?#37824;?#32464;?#37721;?#37510;?#37721;?#38315;佺獥鍙拰鎺?#37824;?#32464;?#37721;?#37928;勫簭鍙?#37928;?#28051;?#28051;?#37923;?#28051;?#28051;瀹?#29781;?#28051;鏍凤紝鐢?#38007;?#28598;?#28751;?#28052;?#37721;?#28000;?#28051;?#37722;屻?#28051;?#37722;?#37928;勬鍔?#32464;?#37721;?#37719;?#29825;?#32464;?#37721;?#28598;?#28751;?#28051;鑸?#28051;?#37722;屻?#37721;?#38315;?#37826;?#32464;?#37721;唴鐨勫簭鍒?#37721;?#28000;?#29723;?#27996;嗛偅浜?#23480;?#32513;?#29722;?#37721;?#38315;侊紝浣嗘槸杩樻病鏈?#29722;?#32429;?#29825;?#37928;勫抚?#32029;鎴?#38000;呮槸?#20549;浜?#37721;?#28000;?#29722;?#37721;?#38315;?#37928;勫抚銆?#28051;嬮潰涓?#28051;涓?#28186;嬪瓙?#32025;鍋?#29825;?#37721;?#38315;佺獥鍙?#28751;哄涓??#32029;鎺?#37824;?#32464;?#37721;?#28751;哄涓?锛?#38171;?/div><br /><img alt="" src="http://www.9087120.com/images/cppblog_com/sixinquan/1.png" height="182" width="562" /><br /><br /><div>①鍒濆鎬侊紝鍙?#38315;?#37826;规病鏈夊抚鍙?#37713;猴紝鍙?#38315;佺獥鍙?#37715;?#37722;?#23052;跨浉閲?#37722;?#37510;傛帴鏀?#37826;?鍙?#32464;?#37721;?#37813;?#23534;?#32029;绛夊?#21614;帴鏀?鍙峰抚锛?<br />②鍙?#38315;?#37826;规墦寮0鍙?#32464;?#37721;紝琛?#32448;哄凡鍙?#37713;?甯?#28003;?#28751;氱璁?#26473;?#37733;?#28103;?#37805;?#37510;傛鏃?#37818;?#37824;?#32464;?#37721;?#33333;?#28051;?#37721;?#38171;?<br />③鍙?#38315;?#37826;规墦寮0銆?鍙?#32464;?#37721;紝琛?#32448;?銆?鍙峰抚鍧?#37734;?#32475;夊?#21615;璁?#28052;?#37714;?#37510;?#38007;?#23005;紝鍙?#38315;?#37826;规墦寮鐨勭獥鍙?#37825;板?#33590;揪瑙勫畾闄愬害?#32029;鍦?#37832;?#37824;?#37714;版柊鐨勭璁?#26473;?#37733;炲抚涔?#37715;嶏紝鍙?#38315;?#37826;?#28751;嗘?#20634;鍙?#38315;?#37826;?#37928;勬?#29256;嵁甯?#37510;傛帴鏀?#32464;?#37721;?#23005;?#37827;剁?#33333;?#28000;嶆鍙?#38171;?<br />④鎺?#37824;?#37826;?#23480;?#37824;?#37714;?鍙峰抚?#32029;0鍙?#32464;?#37721;?#37711;?#38338;紝1鍙?#32464;?#37721;?#37813;?#23534;?#32029;琛?#32448;?#37713;嗗鎺?#37824;?鍙峰抚銆傛鏃?#37721;?#38315;佺獥鍙?#33333;?#28051;?#37721;?#38171;?br />⑤鍙?#38315;?#37826;?#37824;?#37714;版帴鏀?#37826;?#37721;?#37833;?#37928;?鍙峰抚纭?#29825;?#26473;?#37733;?#28103;?#37805;紝鍏?#38338;?鍙?#32464;?#37721;紝琛?#32448;?#28000;?#38322;?#37721;戣涓?#37714;櫎0鍙峰抚銆傛鏃?#37818;?#37824;?#32464;?#37721;?#33333;?#28000;?#28051;?#37721;?#38171;?<br />⑥鍙?#38315;?#37826;?#32513;?#32513;?#37721;?#38315;?鍙峰抚?#32029;2鍙?#32464;?#37721;?#37813;?#23534;?#32029;琛?#32448;?鍙峰抚涔?#32510;?#37711;?#23536;呯璁?#28052;?#37714;?#37510;?#38007;?#23005;紝鍙?#38315;?#37826;规墦寮鐨勭獥鍙?#37721;堝?#33590;揪瑙勫畾闄愬害?#32029;鍦?#37832;?#37824;?#37714;版柊鐨勭璁?#26473;?#37733;炲抚涔?#37715;嶏紝鍙?#38315;?#37826;?#28751;嗘?#20634;鍙?#38315;?#37826;?#37928;勬?#29256;嵁甯紝姝?#37827;?#37818;?#37824;?#32464;?#37721;?#33333;?#28000;?#28051;?#37721;?#38171;?<br />⑦鎺?#37824;?#37826;?#23480;?#37824;?#37714;?鍙峰抚?#32029;1鍙?#32464;?#37721;?#37711;?#38338;紝2鍙?#32464;?#37721;?#37813;?#23534;?#32029;琛?#32448;?#37713;嗗鎺?#37824;?鍙峰抚銆傛鏃?#37721;?#38315;佺獥鍙?#33333;?#28051;?#37721;?#38171;?<br />⑧鍙?#38315;?#37826;?#37824;?#37714;版帴鏀?#37826;?#37721;?#37833;?#37928;?鍙峰抚鏀?#23011;?#37928;勭璁?#28103;?#37805;紝鍏?#38338;?鍙?#32464;?#37721;紝琛?#32448;?#28000;?#38322;?#37721;戣涓?#37714;櫎1鍙峰抚銆傛鏃?#37818;?#37824;?#32464;?#37721;?#33333;?#28000;?#28051;?#37721;?#37510;?/div><img src ="http://www.9087120.com/sixinquan/aggbug/203808.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.9087120.com/sixinquan/" target="_blank">sin</a> 2013-10-18 21:54 <a href="http://www.9087120.com/sixinquan/archive/2013/10/18/203808.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣璇勮</a></div>]]></description></item><item><title>Linux?#21812;瀛樼鐞嗕箣涓?椤?#37928;勫?#21979;?#23941;拰?#22132;鏀?/title><link>http://www.9087120.com/sixinquan/archive/2012/07/29/185545.html</link><dc:creator>sin</dc:creator><author>sin</author><pubDate>Sun, 29 Jul 2012 06:44:00 GMT</pubDate><guid>http://www.9087120.com/sixinquan/archive/2012/07/29/185545.html</guid><wfw:comment>http://www.9087120.com/sixinquan/comments/185545.html</wfw:comment><comments>http://www.9087120.com/sixinquan/archive/2012/07/29/185545.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.9087120.com/sixinquan/comments/commentRss/185545.html</wfw:commentRss><trackback:ping>http://www.9087120.com/sixinquan/services/trackbacks/185545.html</trackback:ping><description><![CDATA[Linux瀵瑰唴瀛樺?#21700;唴鐨勯?#22443;鐨勫?#21979;?#23941;拰?#22132;鏀撅紝閲?#37922;?#37928;?#32480;?#23049;曟槸浼?#28028;寸郴缁?#37510;?br /><img alt="" src="http://www.9087120.com/images/cppblog_com/sixinquan/浼?#28028;寸郴缁?png" height="233" width="562" /><br /><br />濡?#28051;婂?#25733;紝Linux鍒嗛?#23945;鏃讹紝鍙?#38003;?#37714;嗛厤2^n涓?#26916;?#37510;傚唴鏍?#32513;存姢MAX_ORDER涓摼琛紝姣?#28051;摼琛?#29825;板綍鐫杩炵画鐨勭闂?#26916;?#37510;傜涓涓摼琛?#28051;?#37928;勬瘡涓椤?#28051;?涓?#32460;?#38338;?#26916;碉紝绗?#27996;?#28051;摼琛?#28051;?#37928;勬瘡涓椤?#28051;?涓?#32460;?#38338;?#26916;碉紝绗?#28051;?#28051;摼琛?#28051;?#37928;勬瘡涓椤?#28051;?涓?#32460;?#38338;?#26916;?#37510;?#37510;?#37510;傦紝渚濇绫?#37818;?#37510;傚?#21979;?#23945;鏃讹紝浠?#28725;瑰簲鐨勯摼琛?#28051;?#37821;橀櫎绌?#38338;?#26916;?#38171;涢噴鏀?#26916;?#37827;讹紝灏嗗?#29808;簲鐨勯褰?#26473;?#37714;板?#29808;簲鐨勯摼琛?#37510;傚?#21979;?#23945;噴鏀?#26916;?#37928;?#26473;?#32459;?#28051;紝鍙?#38003;?#28028;撮鐫?#21812;?#29928;椤?#37928;勬?#21975;?#21975;拰鍚堝苟銆傛瘮濡傝?#20344;?#21979;厤16涓?#32460;?#38338;?#26916;碉紝浣嗘槸瀵瑰簲鐨勯摼琛?#28051;虹?#29492;紝杩?#37827;?#28641;?#37835;?2涓?#32460;?#38338;?#26916;?#28725;瑰簲鐨勯摼琛?#28641;?#37835;?#28051;?#28051;虹?#29492;紝鍒?#28000;庨摼琛?#28051;?#37821;橀櫎32涓?#32460;?#38338;?#26916;碉紝?#33503;灏嗗叾涓鍒嗕负浜岋紝鍏?#28051;?6涓?#26916;?#37922;?#27996;庡唴?#29928;鍒嗛?#23951;紝鍓?#28003;?6涓?#26916;?#37714;欐彃鍏?#37714;?6涓?#26916;?#28725;瑰簲鐨勯摼琛?#28051;?#37510;?br /><br />灏?#32480;?#26916;?#37928;勫?#21979;厤绠?#23049;曟槸?#30045;鍗?#37928;勶紝浣嗘槸瀹?#38340;?#26473;?#32459;?#37719;?#38344;炲父澶嶆潅銆?#26473;欐槸鍥?#28051;?#37714;嗛?#23945;寮?#36423;呴鑰?#38095;?#28051;涓?#37713;犵偣锛?br />1 澶?#37922;唴瀛樺尯銆傚綋浠?#28051;涓唴瀛樺尯鏃?#23049;?#23536;?#37714;板唴?#29928;鏃讹紝绯?#32513;?#28028;?#28000;?#37722;?#28051;?#21812;瀛樿?#20636;偣鐨勫叾瀹冨唴瀛樺尯鎴?#38000;?#28000;?#37721;?#28051;涓唴瀛樿?#20636;偣涓?#37928;勫唴瀛樺尯涓?#38014;?#37721;栧唴?#29928;銆?br />2 椤?#37928;勬崲鍏拰鎹?#37713;猴紝鍦病鏈夎冻澶?#28598;?#37928;勭闂?#26916;?#37827;讹紝鍙?#38003;渶瑕?#28751;?#26916;?#37817;?#37713;?#28000;?#38014;?#37721;?#32460;?#38338;插唴?#29928;銆?br />3 椤?#37928;勫洖鏀讹紝瀵?#28051;浜涚紦鍐插尯鐨?#28051;?#37712;?#28003;?#37922;?#37928;勯杩?#29723;屽洖鏀讹紝浠?#38014;?#37721;?#32460;?#38338;?#26916;?#37510;?br />4 绯?#32513;?#28051;?#36423;呴?#35763;繚鎸?#28051;瀹?#8220;?#25353;浣?#8221;鐨勭闂?#26916;碉紝浠簲浠樺?#29808;唴?#29928;鐨勭揣鎬?#37714;嗛厤銆傚鏋?#32495;?#32513;?#28751;?#26916;?#37714;嗛厤瀹岋紝鍦?#37804;渶?#21812;?#29928;鏃讹紝鍐?#26473;?#29723;岄鐨勫洖鏀?#37812;?#37817;?#37713;猴紝鏃犵?#25118;槸闈炲父绯?#32495;?#37928;勮璁?#37510;傜郴缁?#28051;?#36423;呴?#35763;繚鎸?#28051;瀹氶噺鐨勫唴?#29928;椤?#37510;?br />5 涓?#37722;?#37928;勫?#21979;厤绛?#37923;?#37510;?#28051;?#37722;?#37928;勫?#21979;厤绛?#37923;?#37721;?#38003;?#38322;?#37922;?#37928;勬?#35268;硶鏈夊尯鍒?#37510;?br />鎬?#28052;嬶紝椤?#37928;勫?#21979;?#23941;拰?#22132;鏀鹃渶瑕佽?#38095;戣澶氬洜绱紝灏噺婊冻?#21812;?#29928;鍒嗛厤鐨勫悓鏃讹紝瑕佷繚璇佺郴缁?#37928;?#32459;?#28729;氭拰鍋壮鎬?#37510;?img src ="http://www.9087120.com/sixinquan/aggbug/185545.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.9087120.com/sixinquan/" target="_blank">sin</a> 2012-07-29 14:44 <a href="http://www.9087120.com/sixinquan/archive/2012/07/29/185545.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣璇勮</a></div>]]></description></item><item><title>Linux?#21812;瀛樼鐞嗕箣浜??#21812;瀛樿?#20636;?#29808;拰?#21812;?#29928;鍒嗗尯http://www.9087120.com/sixinquan/archive/2012/07/29/185090.htmlsinsinSun, 29 Jul 2012 01:38:00 GMThttp://www.9087120.com/sixinquan/archive/2012/07/29/185090.htmlhttp://www.9087120.com/sixinquan/comments/185090.htmlhttp://www.9087120.com/sixinquan/archive/2012/07/29/185090.html#Feedback0http://www.9087120.com/sixinquan/comments/commentRss/185090.htmlhttp://www.9087120.com/sixinquan/services/trackbacks/185090.htmlUMA(Uniform Memory Access)?#32029;鍗?#28051;鑷存唴?#29928;璁?#38338;?#37510;?#26473;欑?#23942;儏鍐?#28051;嬶紝CPU璁?#38338;唴?#29928;鐨?#28000;?#28003;?#28003;?#32515;紝浠?#28000;?#38318;芥槸涓鏍?#37928;?#37510;?br />NUMA)(Non Uniform Memory Access)?#32029;鍗?#38344;?#28051;鑷存唴?#29928;璁?#38338;?#37510;?#26473;欑?#23942;儏鍐?#28051;嬶紝CPU璁?#38338;?#28051;?#37722;?#28003;?#32515;?#37928;勫唴瀛橈紝浠?#28000;锋槸涓?#28051;鏍?#37928;?#37510;?#37734;?#28598;欳PU鎯?#37712;?#28051;嬶紝瀵规瘡涓狢PU鏉?#29831;?#37832;夋湰鍦板唴瀛樺拰杩滅?#21812;瀛橈紝璁?#38338;湰鍦板唴?#29928;鐨?#28000;?#28000;?#23011;?#29825;?#38338;?#26473;滅?#21812;?#29928;鐨?#28000;?#28000;?#28751;?#37510;傜?#32346;CPU璁?#38338;唴?#29928;浠?#28000;?#37832;灏忥紝?#27128;闈炲父閲嶈鐨?#28051;鐐?#37510;?br />
Linux鏀?#37816;佸绉?#32429;?#28000;?#28003;?#32495;?#32513;?#37835;勶紝鍥?#23005;Linux蹇呴?#23130;噰鐢?#38315;?#37922;?#37928;勬?#35268;硶鏉?#37819;?#26473;板唴瀛橈紝浠?#37826;逛究瀵瑰唴?#29928;杩?#29723;岀鐞?#37510;?#28051;?#23005;紝Linux鏈?#27996;嗗唴瀛樿?#20636;偣銆佸唴瀛樺尯銆侀?#22443;鐨勬?#20634;?#30857;紝杩?#27996;?#22994;傚康涔熸槸涓鐩?#27996;?#37906;?#37928;?#37510;?br />?#21812;瀛樿?#20636;偣锛?#28051;?#29781;佷?#28615;?#29945;PU璁?#38338;?#28000;?#28000;?#37928;?#28051;?#37722;?#38000;?#37714;?#37714;?#37510;?#28598;欳PU涓?#37916;?#28583;?#28051;嬶紝?#28272;鍦板唴瀛樺拰杩滅?#21812;?#29928;灏辨槸涓?#37722;?#37928;勮?#20636;偣銆?#37719;?#28003;?#37734;?#37719;旵PU鐜?#28583;?#28051;嬶紝璁?#38338;?#37813;鏈夊唴?#29928;鐨?#28000;?#28000;?#38318;芥槸涓鏍?#37928;勶紝Linux?#21812;鏍镐緷鐒跺瓨鍦唴瀛樿?#20636;偣鐨勬?#20634;?#30857;紝鍙?#28051;?#26473;?#37721;?#37832;?#28051;涓唴瀛樿?#20636;偣鑰屽凡銆傚唴鏍?#28000;struct  pg_data_t鏉?#37819;?#26473;板唴?#29928;鍒嗗尯銆?br />?#21812;?#29928;鍒嗗尯锛歀inux瀵瑰唴瀛樿?#20636;偣鍐?#26473;?#29723;?#37714;?#37714;嗭紝鍒嗕负涓?#37722;?#37928;勫?#21975;尯銆傚唴鏍?#28000;struct zone鏉?#37819;?#26473;板唴?#29928;鍒嗗尯銆?#38315;氬父涓涓?#38010;傜偣鍒嗕负DMA銆丯ormal?#25328;High Memory?#21812;瀛樺尯?#32029;鍏?#28003;?#28051;嬮潰鍐?#28000;?#32513;?#37510;?br />椤垫锛歀inux閲?#37922;?#26916;?#23534;忓唴瀛樼鐞嗭紝椤垫槸?#22719;鐞嗗唴瀛樼鐞?#37928;勫熀?#28272;鍗?#28003;嶏紝姣?#28051;唴?#29928;鍒嗗尯鍙?#37922;?#28598;噺鐨勯?#22443;缁勬垚銆傚唴鏍?#28000;struct page鏉?#37819;?#26473;伴?#22443;銆傞?#22443;?#21976;?#22794;緢澶氬鎬紝杩?#27996;?#28766;?#37804;?#37819;?#26473;?#27996;?#26473;?#28051;?#26916;垫鐨勭?#33333;?#37510;佺敤閫旂瓑?#32029;?#32229;濡傛槸鍚?#29722;?#37714;嗛厤銆?br />

涓婂浘涓?#37928;zone_mem_map?#27128;涓涓?#26916;垫鐨勬暟缁勶紝瀹?#29825;板綍浜嗕竴涓唴?#29928;鍒嗗尯鐨勬墍鏈夐?#22443;鐨?#28003;?#37922;?#37807;?#37712;?#37510;?br />

DMA?#21812;瀛樺尯锛?#37719;崇洿鎺唴?#29928;璁?#38338;?#37714;嗗尯?#32029;閫氬父涓虹墿鐞嗗唴?#29928;鐨勮?#23792;16M銆?#28051;?#29781;佹槸渚?#28051;浜?#28598;?#29825;?#28003;?#37922;紝澶?#29825;惧拰?#21812;瀛樼洿鎺?#29825;?#38338;?#37825;版嵁璁?#38338;紝鑰?#37827;渶绯?#32513;CPU鐨勫弬涓?#37510;?br />Normal?#21812;瀛樺尯锛?#28000;?6M鍒?96M?#21812;瀛樺尯銆?br />HighMemory?#21812;瀛樺尯锛?96M浠?#37722;?#37928;勫唴瀛樺尯銆?br />
涓?#28000;涔堥珮绔唴?#29928;鐨勮竟鐣屾槸896M锛?#26473;欐槸鍥?#28051;猴紝32浣峀inux铏氭?#29111;唴瀛樼?#27946;棿涓?-4G?#32029;鍏?#28051;?-3G鐢?#27996;?#37922;?#37812;?#37804;侊紝3G-4G鐢?#27996;庡唴鏍告?#37510;?#26473;欐剰鍛?#37931;?#21812;鏍?#37721;?#37832;?G鐨勮?#27693;嫙鍦板潃绌洪棿?#32029;濡?#37835;滅墿鐞嗗唴瀛樿秴杩?G?#32029;?#21812;鏍?#28751;?#37827;?#23049;?#37828;犲皠浜?#37510;侺inux閲?#37721;?#37928;?#32475;?#37923;槸?#32029;?#21812;鏍?#37734;板潃绌洪棿鐨勫墠896M閲?#37922;?#37733;?#28729;氭?#29362;?#21238;紝鏄犲?#21228;?#35268;?#26335;槸锛?#38095;氭嫙鍦板潃-3G = ?#22719;鐞?#37734;板潃?#32029;鍙?#38003;芥?#29362;?#21227;埌?#22719;鐞?#37734;板潃鐨勫墠896M銆?#28052;?#28751;辨槸璇村唴鏍歌?#27693;嫙鍦板潃绌洪棿鐨?G鍒?G+896M杩?#38318;?#37714;嗭紝椤?#29723;?#37928;勬?#29362;?#21228;槸鍥?#28729;?#37928;勶紝绯?#32513;?#37714;濆鍖?#37827;?#28751;卞?#34425;?#23341;捣鏉?#37510;傝岃?#27693;嫙鍦板潃绌洪棿鐨勬渶鍚?28M?#32029;涔?#28751;辨槸3G+896M鍒?G閮?#37714;?#38322;?#37922;?#37716;?#37804;佹?#29362;?#21238;紝涔?#28751;辨槸璇撮琛?#37828;犲皠鐨勭墿鐞?#37734;板潃鍙?#37721;?#37928;?#37510;?#37734;?#32495;?#32513;?#26473;?#29723;?#26473;?#32459;?#28051;紝閫?#26473;囨洿鏂伴琛紝灏?#37721;?#28000;?#37828;犲?#21227;埌涓?#37722;?#37928;勭墿鐞?#37734;板潃?#32029;?#32139;鐒?#28052;熷?#21614;嫭?#29678;绔墿鐞嗗唴?#29928;銆?br />
杩?#28051;?#29781;佽鍐?#27996;嗕袱涓?#38338;?#26864;?#38171;氱涓?#32029;杩?#37721;?#28000;?#28003;垮唴鏍?#37734;板潃绌洪棿鏄犲?#21227;?#20276;珮绔墿鐞嗗唴?#29928;锛涚浜岋紝铏氭嫙鍦板潃绌洪棿鐨?G+896M鍒?G閮?#37714;嗭紝杩炵画鐨勮?#27693;嫙鍦板潃绌洪棿鍙?#28000;?#37828;犲?#21227;?#20276;潪杩炵画鐨勭墿鐞嗗唴瀛橈紝鍙?#29781;侀?#26473;囨洿鏂伴琛?#28751;?#37721;?#28000;?#37707;氬?#24110;紝杩欏拰鐢?#37812;?#37804;?#37928;勮?#27693;?#29111;唴?#29928;鏄犲?#21231;噰鐢?#27996;嗗悓鏍?#26473;欑?#23942;?#35268;硶銆?#26473;?#37734;病鏈夊娈?#26473;炵画鐨勭闂茬墿鐞?#37734;板潃鏃讹紝?#27128;闈炲父閲嶈鐨?#37510;?br />
澶?#37922;唴瀛樺尯锛?br />鍦?#28051;涓唴瀛樺尯鍒嗛?#23945;鏃讹紝濡?#37835;?#26473;?#28051;唴瀛樺尯?#30149;鏈夋弧?#20923;鏉?#28000;?#37928;勫唴?#29928;椤碉紝鍒欓渶瑕?#28000;?#37711;?#28729;冨唴瀛樺尯鎴?#28000;?#37711;?#28729;冨唴瀛樿?#20636;偣鍒嗛厤銆侺inux涓?#23011;?#28051;唴瀛樺尯閮藉?#34425;珛浜嗗鐢唴瀛樺尯鍒?#29723;紝?#32139;鍓嶅唴瀛樺尯?#30149;鏈夋弧?#20923;鏉?#28000;?#37928;勫唴?#29928;鏃讹紝灏?#28000;?#28598;?#37922;唴瀛樺尯鍒嗛厤銆傛瘮濡傦紝绯?#32513;?#28051;?#37832;?涓唴瀛樿?#20636;偣A,B,C,D?#32029;姣?#28051;唴瀛樿?#20636;偣鍙?#37714;嗕负DMA銆丯ormal銆丠ighMemory?#21812;瀛樺尯銆傚?#30789;?#20636;偣B鏉?#29831;达紝?#21812;瀛樺尯鍒嗛厤鍒?#29723;?#37721;?#38003;芥槸B(HighMemory)銆丅(Normal)銆丅(DMA)銆?div>A(HighMemory)銆丄(Normal)銆丄(DMA)銆?/div>
C(HighMemory)銆丆(Normal)銆丆(DMA)銆?/div>
D(HighMemory)銆丏(Normal)銆丏(DMA)銆?br />鍒嗛?#23941;唴?#29928;鏃讹紝浼?#37711;?#28000;庢湰鍦板唴瀛樿?#20636;偣鍒嗛?#23951;紝鍐?#28000;?#37711;?#28729;冨唴瀛樿?#20636;偣鍒嗛厤銆傚涓涓唴瀛樿?#20636;?#30328;紝浼?#37711;?#28000;嶩ighMemory鍒嗛?#23951;紝鍐?#28000;嶯ormal鎴朌MA鍒嗛厤銆?/div>


sin 2012-07-29 09:38 鍙戣璇勮
]]>Linux?#21812;瀛樼鐞嗕箣涓 鍒嗘涓?#37714;?#26916;?/title><link>http://www.9087120.com/sixinquan/archive/2012/07/19/184234.html</link><dc:creator>sin</dc:creator><author>sin</author><pubDate>Thu, 19 Jul 2012 13:22:00 GMT</pubDate><guid>http://www.9087120.com/sixinquan/archive/2012/07/19/184234.html</guid><wfw:comment>http://www.9087120.com/sixinquan/comments/184234.html</wfw:comment><comments>http://www.9087120.com/sixinquan/archive/2012/07/19/184234.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.9087120.com/sixinquan/comments/commentRss/184234.html</wfw:commentRss><trackback:ping>http://www.9087120.com/sixinquan/services/trackbacks/184234.html</trackback:ping><description><![CDATA[?#24135;浠?#37823;?#28003;?#32495;?#32513;?#37928;勫唴瀛樼鐞嗘満鍒?#37832;?#28051;?#32457;?#38171;?#23048;?#23534;?#32480;?#37918;嗗拰椤?#23534;?#32480;?#37918;?#37510;?br /><br />娈?#23534;忓唴瀛樼鐞嗭紝灏辨槸灏嗗唴?#29928;鍒嗘垚娈碉紝姣?#28051;?#23048;?#37928;勮?#23792;鍦板潃灏辨槸娈靛熀鍦板潃銆?#37734;板潃鏄犲皠鐨?#37827;跺欙紝鐢?#38315;昏緫鍦板潃鍔?#28051;?#23048;靛熀鍦板潃鑰?#23536;?#37714;扮墿鐞?#37734;板潃銆傜函绮?#37928;勬寮忓唴瀛樼鐞?#37928;?#32514;虹偣寰?#37828;?#37828;撅紝灏辨槸鐏垫椿鎬拰鏁?#37916;?#23011;旇緝宸?#37510;傞?#26663;厛?#27128;娈?#37928;勯暱搴槸鍙?#37721;?#37928;勶紝杩?#32513;欏唴?#29928;鐨勬崲鍏?#37817;?#37713;哄鏉?#29831;?#28598;?#28051;嶄究?#32029;濡?#28003;?#38315;夋嫨涓涓?#23048;?#37928;勯暱搴槸涓涓?#22955;?#37813;?#37928;?#38338;?#26864;?#38171;?#37711;舵杩涚鍦?#26473;?#29723;?#26473;?#32459;?#28051;紝鍙?#38003;?#28028;?#37813;?#37711;?#37734;板潃绌洪棿?#32029;杩?#28751;辫?#20344;?#28850;姞娈碉紝浠?#38000;?#38315;?#37812;?#26473;涚鐨勫?#26495;潃绌洪棿鐢?#23536;?#28598;氬皬娈?#37835;勬垚?#32029;鍦?#26473;涚杩?#29723;?#26473;?#32459;?#28051;紝璁?#38338;?#28051;?#37722;?#37928;勬鏃讹紝灏遍渶瑕侀?#25120;?#20344;?#22248;崲娈靛熀鍦板潃锛?#37712;?#28051;鐐癸紝娈?#23534;忓唴瀛樼鐞嗗鏋?#37832;夊澶?#37928;勫皬娈碉紝鍦噴鏀?#23048;?#37928;?#37827;跺欙紝浼?#38315;?#37812;?#28598;?#38318;?#32432;庣墖銆?br /><br />椤?#23534;忓唴瀛樼鐞嗭紝?#21812;?#29928;鍒嗘垚鍥?#28729;氶暱搴?#37928;?#28051;涓?#28051;?#26916;电墖銆?#37734;板潃鏄犲皠鐨?#37827;跺欙紝?#28214;瑕佸厛寤虹?#23342;琛紝椤?#29723;?#28051;?#37928;勬瘡涓椤?#38318;借?#26495;綍浜?#26473;?#28051;?#26916;?#37928;勫熀鍦板潃銆?#38315;?#26473;囬琛紝鐢?#38315;昏緫鍦板潃鐨勯珮浣?#38318;?#37714;嗗厛鎵?#37714;伴昏緫鍦板潃瀵瑰簲鐨勯?#38747;熀鍦板潃?#32029;鍐?#37922;?#26916;靛熀鍦板潃鍋?#32457;?#28051;瀹氶暱搴?#28751;?#23536;?#37714;版渶鍚?#37928;勭墿鐞?#37734;板潃?#32029;鍋?#32457;?#37928;勯暱搴?#37922;?#38315;昏緫鍦板潃鐨?#28003;?#28003;?#38318;?#37714;嗗喅瀹?#37510;?#28051;鑸?#37807;?#37712;?#28051;嬶紝杩?#28051;?#26473;?#32459;嬮兘鍙?#28000;?#37922;辩浠?#28729;?#37812;愶紝鎵浠?#37825;?#37916;?#26473;樻槸姣旇緝?#29678;鐨?#37510;傞寮忓唴瀛樼鐞?#37928;?#28028;樼偣灏辨槸姣旇?#20906;?#22443;?#20249;紝?#21812;瀛樼鐞?#28000;?#26440;?#28751;?#37928;勯涓?#37719;?#28003;嶏紝鏂逛究?#21812;?#29928;鎹?#37711;?#37817;?#37713;哄拰鎵?#37711;?#37734;板潃绌洪棿銆?br /><br />涓?#37837;?#29831;碙inux閲?#37922;?#23048;?#26916;?#23534;忓唴瀛樼鐞嗭紝涔?#28751;辨槸鏃?#37714;嗘?#30857;紝鍙?#37714;?#26916;?#37510;?#37734;板潃鏄犲皠鐨?#37827;跺欙紝鍏堢瀹氬?#29808;簲鐨勬?#30857;紝纭?#28729;?#23048;靛熀鍦板潃锛?#23048;靛唴鍒?#26916;碉紝鍐嶆壘鍒板?#29808;簲鐨勯琛?#26916;癸紝纭?#28729;?#26916;靛熀鍦板潃锛?#37712;?#37922;?#38315;昏緫鍦板潃浣?#28003;?#32429;?#28729;?#37928;勯鍋?#32457;婚噺?#32029;灏辫兘鎵?#37714;版渶缁?#37928;勭墿鐞?#37734;板潃銆?#28003;嗘槸?#32029;瀹?#38340;?#28051;奓inux閲?#37922;?#37928;勬槸椤?#23534;忓唴瀛樼鐞?#37510;傚師鍥犳槸Linux涓?#37928;勬?#38747;熀鍦板潃閮芥槸0?#32029;?#27977;?#32139;浜?#37813;鏈?#37928;勬閮芥槸?#27977;鍚?#37928;?#37510;?#26473;?#37837;峰仛鐨勫師鍥犳槸鏌?#27996;?#28003;?#32495;?#32513;?#37835;?#37928;勭浠堕檺鍒讹紝姣?#28641;Intel鐨刬386銆?#28003;?#28051;?#26462;?#28000;?#37928;勬搷浣?#32495;?#32513;燂紝蹇呴瑕佺鍚堢浠?#28003;?#32495;?#37510;傝櫧鐒?#37813;鏈?#23048;靛熀鍦板潃閮芥槸0?#32029;浣嗘槸娈?#37928;勬?#20634;康鍦Linux?#21812;鏍?#28051;槸纭?#28729;炲瓨鍦?#37928;?#37510;傛瘮濡傚父瑙?#37928;勫唴鏍?#28000;?#37934;?#23048;?#37510;佸唴鏍告?#29256;嵁娈?#37510;佺敤鎴?#37804;?#28000;?#37934;?#23048;?#37510;佺敤鎴?#37804;佹?#29256;嵁娈电瓑銆傞櫎浜嗙鍚堢浠惰?#20345;澶紝娈?#28052;熸槸鏈?#28729;?#38340;呮剰涔?#37928;?#37510;?br /><br />x86纭?#28000;?#37714;嗘鍗曞厓锛?br /><img alt="" src="http://www.9087120.com/images/cppblog_com/sixinquan/鍒嗘鍗曞厓.jpg" height="140" width="311" /><br /><div>閫昏緫鍦板潃鍒嗕负涓?#38318;?#37714;?#32513;勬垚锛?#23048;?#37837;?#29831;嗙?#25328;鎸?#28729;?#23048;靛唴?#27977;瀵?#37734;板潃鐨勫亸绉婚噺銆?br /><div>娈垫弿杩扮锛?#37922;?#37833;瓨鏀?#23048;佃?#23792;鍦板潃?#32029;娈?#28598;?#28751;忥紝瀛樺鏉?#38340;愮瓑銆?br />娈垫弿杩扮琛?#38171;氬瓨鏀?#23048;垫弿杩?#37928;勮椤?#37510;?br />娈?#28725;勫?#27194;櫒锛氬瓨鏀?#23048;?#37837;?#29831;嗙銆?涓?#23048;?#28725;勫?#27194;櫒绉?#28051;篶s(浠?#37934;?#23048;?#28725;勫?#27194;櫒)?#32029;ss(鏍?#23048;?#28725;勫?#27194;櫒)?#32029;ds(鏁版嵁娈?#28725;勫?#27194;櫒)?#32029;es?#32029;fs ?#25328;gs銆?br />娈靛熀鍦板潃瀵勫?#27194;櫒锛?#37816;?#37722;?#23048;垫弿杩扮琛?#37734;板潃銆?/div></div><br />Linux鍒嗘鏈?#37714;?#38171;?br />Linux瀵?#37714;嗘浣?#37922;?#38344;炲?#21578;湁闄?#37510;?#28003;?#28051;?#28051;涓?#29882;?#32429;?#28000;?#28003;?#32495;?#37928;勬搷浣?#32495;?#32513;燂紝瑕?#37824;?#37816;佸绉?#32429;?#28000;?#28003;?#32495;伙紝鑰?#28051;浜涚浠?#28003;?#32495;?#32513;?#37835;勫紡涓嶆敮鎸佸?#21976;鐨勶紝Linux鎶?#37813;鏈?#23048;佃?#23792;鍦板潃閮借涓?銆?br />Linux閲?#37922;?涓?#23048;?#26473;?#29723;屽?#35826;潃?#32029;鐢?#37812;?#37804;?#28000;?#37934;?#23048;碉紝鐢?#37812;?#37804;佹?#29256;嵁娈碉紝?#21812;鏍告?#28000;?#37934;?#23048;碉紝?#21812;鏍告佹?#29256;嵁娈?#37510;?br /><br /><br />x86鍒?#26916;?#37719;曞厓锛?br /><img alt="" src="http://www.9087120.com/images/cppblog_com/sixinquan/鍒?#26916;?#37719;曞厓.jpg" height="128" width="377" /><br />x86閲?#37922;?#28051;?#32510;?#26916;?#29723;?#37510;?br />绗?#28051;绾?#28051;洪鐩?#35120;?#29723;紝瀛樺鍦?#28051;涓?K瀛?#38010;?#37928;勯涓紝姣?#28051;?#29723;?#26916;?#37718;?#37722;?#27996;嗕竴涓?#26916;?#29723;?#37928;勭墿鐞?#37734;板潃銆傜嚎鎬?#37734;板潃鏈?#29678;鐨?0浣?22-31)鐢?#37833;?#27996;?#37922;熺涓绾?#29723;?#32497;?#23534;曪紝鐢?#29831;?#32497;?#23534;?#23536;?#37714;?#37928;勮椤?#28051;?#37928;勫唴瀹?#28729;?#28003;?#27996;?#27996;岀骇琛?#28051;?#37928;?#28051;涓?#29723;?#37928;勫?#26495;潃?#32029;鍗?#28051;?#32510;?#26916;?#29723;?#37813;鍦?#37928;勫唴瀛樺鍙?#37510;?br />绗?#27996;岀骇涓洪琛紝瀛樺鍦?#28051;涓?K瀛?#38010;傞涓紝姣?#28051;?#29723;?#26916;?#37718;?#37722;?#27996;嗕竴涓?#26916;?#37928;勭墿鐞?#37734;板潃銆傜嚎鎬?#37734;板潃鐨?#28051;棿10浣?12-21)浣?#26473;?#29723;岀储寮曪紝瀹?#28003;嶉琛?#29723;?#26916;癸紝鑾?#23536;?#26916;?#37928;勭墿鐞?#37734;板潃銆傞?#30005;墿鐞?#37734;板潃鐨勯珮20浣?#28051;?#32510;?#37804;?#37734;板潃鐨?#28003;?2浣?#35120;?#37812;?#37832;鍚?#37928;勭墿鐞?#37734;板潃銆?br /><div>鍒?#26916;?#37832;?#37714;?#37922;盋R0瀵勫?#27194;櫒涓?#37928;凱G浣嶅惎鐢?#37510;傚PG=1?#32029;?#24782;鐢?#37714;?#26916;?#37832;?#37714;讹紝鎶婄嚎鎬?#37734;板潃?#27974;鎹?#28051;虹墿鐞?#37734;板潃銆傚PG=0?#32029;绂佺敤鍒?#26916;?#37832;?#37714;讹紝?#27967;鎺?#23048;?#37832;?#37714;?#27996;?#37922;?#37928;?#32510;?#37804;?#37734;板潃?#32139;浣滅墿鐞?#37734;板潃浣?#37922;?#37510;?br />椤?#37929;?#35120;?#29723;?#37928;勭墿鐞?#37734;板潃?#29928;鏀?#37734;CR3瀵勫?#27194;櫒銆傛瘡涓?#26473;涚鏈?#28729;?#38007;繁鐨勯鍏?#28766;鐩?#35120;曞拰鑷繁鐨勯琛?#38342;?#37510;傚綋鍙?#37922;?#26473;涚鍒囨崲鏃讹紝Linux鎶奀R3?#24118;鍒?#28725;勫?#27194;櫒鐨勫唴瀹逛繚?#29928;鍦?#37715;?#28051;涓墽琛?#26473;涚鐨勬弿杩扮涓紝鐒?#37722;?#37814;?#28051;?#28051;涓?#29781;佹墽琛?#26473;涚鐨勬弿杩扮鐨勫艰鍏CR3瀵勫?#27194;櫒涓?#37510;?#26473;欑?#32346;浜嗗綋鏂?#26473;涚?#23342;?#23942;柊寮濮?#37734;CPU涓婃墽琛?#37827;讹紝鍒?#26916;?#37719;曞厓鎸?#37722;?#28051;缁勬纭?#37928;勯琛?#37510;?/div><br />Linux鍒?#26916;?#37832;?#37714;?#38171;?br />浣?#28051;?#28051;涓?#38315;?#37922;?#37928;勬搷浣?#32495;?#32513;燂紝Linux?#28214;瑕佸吋瀹?#37722;?#32457;?#32429;?#28000;?#28003;?#32495;伙紝鍖呮嫭涓?#37722;?#28003;嶆暟鐨凜PU銆傚64浣?#37928;凜PU鏉?#29831;达紝涓?#32510;?#26916;?#29723;?#28000;?#37906;?#28598;?#28751;戯紝涓涓?#26916;?#29723;?#28028;氬澶紝杩?#28028;?#37719;?#37922;?#28598;?#28598;氬疂璐?#37928;勭墿鐞嗗唴?#29928;銆侺inux閲?#37922;?#27996;?#38315;?#37922;?#37928;勫?#28058;骇椤?#29723;?#37510;?#28729;?#38340;呴噰鐢?#37713;?#32510;?#26916;?#29723;?#37714;?#37711;?#28003;?#37721;?#32429;?#28000;?#37928;勯檺鍒?#37510;?br /><img alt="" src="http://www.9087120.com/images/cppblog_com/sixinquan/linux4绾?#26916;?#29723;?gif" height="332" width="581" /><br />鍥涚?#23945;琛?#37714;嗗埆绉?#28051;?#38171;?椤?#37711;?#28766;鐩?#35120;?#37510;侀涓婄骇鐩?#35120;?#37510;侀涓棿鐩?#35120;?#37510;侀琛?#37510;傚浜?2浣峹86绯?#32513;燂紝涓?#32510;?#26916;?#29723;?#23480;?#32513;忚冻澶?#27996;?#37510;侺inux閫?#26473;?#28003;?#8220;椤?#28051;婄骇鐩?#35120;?#8221;浣嶅拰“椤?#28051;棿鐩?#35120;?#8221;浣?#37711;?#28051;??#32029;褰?#25652;?#37721;栨秷浜?#26916;?#28051;婄骇鐩?褰曞拰椤?#28051;棿鐩?#35120;曞瓧娈?#37510;?#28051;?#26473;囷紝椤?#28051;婄骇鐩?#35120;曞拰椤?#28051;棿鐩?#35120;?#37734;?#37816;囬?#22557;簭鍒?#28051;?#37928;?#28003;?#32515;?#29722;繚鐣欙紝浠究鍚?#37837;?#37928;?#28000;?#37934;?#37734;?2浣?#32495;?#32513;熷拰64浣?#32495;?#32513;?#28051;嬮兘鑳?#28003;?#37922;?#37510;?img src ="http://www.9087120.com/sixinquan/aggbug/184234.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.9087120.com/sixinquan/" target="_blank">sin</a> 2012-07-19 21:22 <a href="http://www.9087120.com/sixinquan/archive/2012/07/19/184234.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣璇勮</a></div>]]></description></item><item><title>浜?#37721;?#37837;?#37928;?#38344;?#38315;?#35120;?#38316;嶅巻http://www.9087120.com/sixinquan/archive/2010/03/16/109802.htmlsinsinTue, 16 Mar 2010 01:57:00 GMThttp://www.9087120.com/sixinquan/archive/2010/03/16/109802.htmlhttp://www.9087120.com/sixinquan/comments/109802.htmlhttp://www.9087120.com/sixinquan/archive/2010/03/16/109802.html#Feedback0http://www.9087120.com/sixinquan/comments/commentRss/109802.htmlhttp://www.9087120.com/sixinquan/services/trackbacks/109802.html
#include <stdio.h>
#include 
<stdlib.h>

#define MAX_SIZE 128

struct node 
{
    
int        data;
    
struct node*    lchild;
    
struct node*    rchild;
};

struct bin_search_tree 
{
    
struct node*    root;
};


void    init_search_tree(struct bin_search_tree *tree);
void    clear_search_tree(struct bin_search_tree *tree);
void    insert_node(struct bin_search_tree *tree, int element);

void    pre_order(struct node *p);
void    in_order(struct node *p);
void    post_order(struct node *p);

void    visit(struct node *p);


int main()
{
    
struct bin_search_tree tree;
    
int i,arr[] = {4030501127987479915037};
    
    init_search_tree(
&tree);
    
for (i=0; i<sizeof(arr)/sizeof(int); i++)
    {
        insert_node(
&tree, arr[i]);
    }

    
//鍓嶅簭閬嶅巻
    pre_order(tree.root);
    printf(
"\n");

    
//涓簭閬嶅巻
    in_order(tree.root);
    printf(
"\n");

    
//鍚?#32513;?#38316;嶅巻
    post_order(tree.root);
    printf(
"\n");

    clear_search_tree(
&tree);
    getchar();
    
return 0;
}



/*
* 浜?#37721;?#37837;?#37928;勫?#28614;鍖?br>
*/
void init_search_tree(struct bin_search_tree *tree)
{
    tree
->root = NULL;
}

/*
* 娓呴櫎浜?#37721;?#37837;戯紝鐢?#27996;?#37721;?#37837;戝?#20635;閬嶅巻
*/
void clear_search_tree(struct bin_search_tree *tree)
{
    
int i,j;
    
struct node *p,*queue[MAX_SIZE];

    i 
= j = 0;
    queue[
0= tree->root;

    
while (i<=j)
    {
        
for ( ; i<=j; i++ )
        {
            p 
= queue[i];

            
if (p->lchild)
                queue[
++j] = p->lchild;
            
if (p->rchild)
                queue[
++j] = p->rchild;
        }
    }

    
for (i=0; i<=j; i++)
    {
        free(queue[i]);
    }

    tree
->root = NULL;
}

/*
* 浜?#37721;?#37837;?#28051;彃鍏?#38010;傜偣element
*/
void insert_node(struct bin_search_tree *tree, int element)
{
    
struct node    *= tree->root;
    
struct node *child, *newnode;

    newnode 
= (struct node*)malloc(sizeof(struct node));
    newnode
->data = element;
    newnode
->lchild = NULL;
    newnode
->rchild = NULL;

    
if (tree->root == NULL)
    {
        tree
->root = newnode;
        
return;
    }

    
while (p)
    {
        
if ( element < p->data )
        {
            child 
= p->lchild;
            
if (NULL == child)
            {
                p
->lchild = newnode;
                
return;
            }
        }
        
else
        {
            child 
= p->rchild;
            
if (NULL == child)
            {
                p
->rchild = newnode;
                
return;
            }
        }

        p 
= child;
    }
}

/*
* 鍓嶅簭閬嶅?#21997;紝闈?#38315;?#35120;?br>
*/
void pre_order(struct node *p)
{
    
int top = -1;
    
struct node *stack[MAX_SIZE];

    
if (p == NULL)
        
return;

    stack[
++top] = p;
    
while (top>-1
    {
        visit(p
=stack[top--]);

        
if (p->rchild)
            stack[
++top] = p->rchild;
        
if (p->lchild)
            stack[
++top] = p->lchild;
    } 
}

/*
* 涓簭閬嶅?#21997;紝闈?#38315;?#35120;?br>
*/
void in_order(struct node *p)
{
    
int top = -1;
    
struct node *stack[MAX_SIZE];

    
while (top>-1 || p!=NULL)
    {
        
while (p)
        {
            stack[
++top] = p;
            p 
= p->lchild;
        }
        visit(p
=stack[top--]);
        p 
= p->rchild;
    }
}

/*
* 鍚庡簭閬嶅?#21997;紝闈?#38315;?#35120;?br>
*/
void post_order(struct node *p)
{
    
int top = -1;
    
int flag[MAX_SIZE];
    
struct node *stack[MAX_SIZE];

    
while (top>-1 || p!= NULL)
    {
        
while (p)        //灏唒鐨勬墍鏈夊乏鑺傜?#29808;鍏?#37837;?/span>
        {
            stack[
++top] = p;
            flag[top] 
= 0;
            p 
= p->lchild;
        }

        p 
= stack[top];    //寮?#37713;?#37837;堥
        if (flag[top--]==0 && p->rchild)
        {
            stack[
++top] = p;
            flag[top] 
= 1;
            p 
= p->rchild;
        } 
        
else
        {
            visit(p);
            p 
= NULL;    //灏唒缃?#28051;NULL?#32029;闃?#23005;?#26473;?#37711;while(p)寰?#37916;?/span>
        }
    }
}

/*
* 璁?#38338;?#28051;涓?#38010;傜偣
*/
void visit(struct node *p)
{
    printf(
"%d  ", p->data);
}




sin 2010-03-16 09:57 鍙戣璇勮
]]>
WIN32澶?#32510;跨浜?绾跨鍚屾鏈?#37714;Semaphorehttp://www.9087120.com/sixinquan/archive/2010/03/15/109713.htmlsinsinSun, 14 Mar 2010 17:22:00 GMThttp://www.9087120.com/sixinquan/archive/2010/03/15/109713.htmlhttp://www.9087120.com/sixinquan/comments/109713.htmlhttp://www.9087120.com/sixinquan/archive/2010/03/15/109713.html#Feedback0http://www.9087120.com/sixinquan/comments/commentRss/109713.htmlhttp://www.9087120.com/sixinquan/services/trackbacks/109713.html瀹?#38340;?#28051;婏紝濡?#37835;滃?#28056;缓涓涓?#28103;?#37721;烽噺?#32029;?#33503;涓?#28729;?#37928;勬渶澶?#29825;?#37825;版槸1?#32029;?#20549;涔?#28729;?#28751;?#28051;Mutex?#29905;浠?#37510;?br>
涓嬮潰?#27128;涓?#37922;?#27996;?#38000;??#31223;璐?#38000;?#38338;?#26864;?#37928;Win32绋嬪簭?#32029;杩?#29723;?#37827;?#37928;勬埅鍥?#28641;?#28051;?


浠?#37934;佸涓?
/* 鐢?#27996;?#38000;??#31223;璐?#38000;?#38338;?#26864;樻槸涓涓?#32513;?#37711;?#37928;?#26473;涚鍚屾闂?#26864;橈紝璇?#38338;?#26864;?#37832;鏃?#37922;Dijkstra?#24385;鍑?#38171;?#23536;?#28598;?#29825;?#32480;?#37832;?#38338;?#26864;?#38318;?#37721;?#28000;?#37814;借薄涓?#37922;?#27996;?#38000;??#31223;璐?#38000;?#38338;?#26864;?#37510;?br> * 鏈?涓?#37922;?#27996;?#38000;?#37922;?#27996;?#37727;嗗搧鏀?#37714;?#37916;?#35120;buffer涓?#28186;?涓秷璐?#38000;呮秷璐?#38171;?#37922;?#27996;?#38000;呮瘡娆?#37832;澶?#37922;?#27996;?涓?#37727;嗗?#20362;紝?#31223;璐?#38000;呮瘡娆秷璐?涓?#37510;?br> * 瑕佽鍐?#26473;?#28051;?#38338;?#26864;橈紝鎴?#28000;?#36423;呴?#33636;?#32346;:(1)?#33503;涓斿綋缂?#37712;插尯涓病鏈夊?#21975;搧鏃讹紝?#31223;璐?#38000;?#28051;嶈?#33445;秷璐癸紝缂?#37712;插尯婊?#37827;讹紝鐢?#27996;?#38000;?#28052;?#28051;嶈兘鐢?#27996;?#37727;嗗搧 (2)涓?#37722;屾秷璐?#38000;?nbsp; * 涓嶈兘鍚?#37827;舵秷璐?#37722;?#28051;涓?#37727;嗗?#20362;紱
 *
 * 瑙?#37712;?1)鎴?#28000;?#37922;?#28051;涓?#37922;?#27996;?#38000;?#28103;?#37721;烽噺琛?#32448;?#37922;?#27996;?#38000;呰呰?#21228;?#24886;紝鍗崇闂瞓uffer鏁伴噺锛?#37922;?#28051;涓秷璐?#38000;?#28103;?#37721;烽噺琛?#32448;烘秷璐?#38000;呰?#21228;?#24886;紝鍗?#38344;炵闂瞓uffer鏁伴噺銆?br> * 瑙?#37712;?2)鎴?#28000;?#37922;?#28051;涓?#27996;掓枼?#22138;Mutex?#32029;寰?#37714;?#26473;?#28051;狹utex鐨勬秷璐?#38000;呮?#23944;?#33445;秷璐?#37510;?br>
*/

#include 
<time.h>
#include 
<stdlib.h>
#include 
<Windows.h>


#define ASSERT(a) if (!(a)) \
    exit(EXIT_FAILURE)

#define MAX_PRODUCE_COUNT    5      //鐢?#27996;?#38000;呮瘡娆?#37832;澶?#37922;?#27996;?#37825;伴噺
#define CONSUMER_COUNT        5     //?#31223;璐?#38000;呮?#20276;噺
#define BUFFER_SIZE        20       //缂?#37712;插尯澶?#28751;?/span>
#define SLEEP_TIME        600
#define WM_FORCE_PAINT        (WM_APP+10)

void    ProduceAndConsume();
void    EndProduceConsume();

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM) ;  
//Win32绐?#37721;?#37733;炶皟鍑芥暟

DWORD    WINAPI    ProducerThread(LPVOID pVoid);   
//鐢?#27996;?#38000;呯?#36328;鍑芥暟
DWORD    WINAPI    ConsumerThread(LPVOID pVoid);   //?#31223;璐?#38000;呯?#36328;鍑芥暟

int        iProducerPointer;         //鐢?#27996;?#38000;呮寚閽堬紝鎸?#37722;?#37721;?#28000;?#37824;惧?#21975;搧鐨?#37928;?#28003;?#32515;?/span>
int        iConsumerPointer;         //?#31223;璐?#38000;呮寚閽堬紝鎸?#37722;?#37721;?#28000;秷璐瑰?#21975;搧鐨?#28003;?#32515;?/span>
HANDLE        hProducerSemaphore;    //鐢?#27996;?#38000;?#28103;?#37721;烽噺?#32029;鍒濆鏈?0涓?#29863;勬
HANDLE        hConsumerSemaphore;    //?#31223;璐?#38000;?#28103;?#37721;烽噺?#32029;鍒濆鏈?涓?#29863;勬
HANDLE        hConsumerMutex;        //鐢?#27996;?#38000;匨utex

HANDLE        hProducerThread;                    
//鐢?#27996;?#38000;呯?#36328;?#23350;紝涓嶆柇鐢?#27996;?#37727;嗗搧
HANDLE        hConsumersThread[CONSUMER_COUNT];    //?#31223;璐?#38000;呯?#36328;?#23350;紝涓嶆柇?#31223;璐瑰?#21975;搧
HWND        hWnd;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, 
int iCmdShow)
{
    
static TCHAR szAppName[] = TEXT("鐢?#38336;?#38000;呮秷璐?#38000;?/span>") ;
    MSG        msg ;
    WNDCLASS    wndclass ;


    wndclass.style        
= CS_HREDRAW | CS_VREDRAW ;
    wndclass.lpfnWndProc  
= WndProc ;
    wndclass.cbClsExtra   
= 0 ;
    wndclass.cbWndExtra   
= 0 ;
    wndclass.hInstance    
= hInstance ;
    wndclass.hIcon        
= LoadIcon (NULL, IDI_APPLICATION) ;
    wndclass.hCursor      
= LoadCursor (NULL, IDC_ARROW) ;
    wndclass.hbrBackground
= (HBRUSH) GetStockObject (WHITE_BRUSH) ;
    wndclass.lpszMenuName 
= NULL ;
    wndclass.lpszClassName
= szAppName ;

    
if (!RegisterClass (&wndclass))
    {
        MessageBox (  NULL, TEXT (
"This program requires Windows NT!"),
            szAppName, MB_ICONERROR) ;
        
return 0 ;
    }

    hWnd 
= CreateWindow( szAppName,      
        TEXT (
"鐢?#38336;?#38000;呮秷璐?#38000;?/span>"),   
        WS_OVERLAPPEDWINDOW,  
        CW_USEDEFAULT,
        CW_USEDEFAULT,
        CW_USEDEFAULT,
        CW_USEDEFAULT,
        NULL,                 
        NULL,            
        hInstance,   
        NULL) ;     

    ShowWindow (hWnd, iCmdShow) ;
    UpdateWindow (hWnd) ;

    ProduceAndConsume();      
//鍒涘缓鐢?#27996;?#38000;呮秷璐?#38000;呯?#36328;銆?#28103;?#37721;烽噺銆丮utex?#32029;?#33503;杩?#29723;?/span>

    
while (GetMessage (&msg, NULL, 00))
    {
        TranslateMessage (
&msg) ;
        DispatchMessage (
&msg) ;
    }
    
    EndProduceConsume();

    
return (int)msg.wParam ;
}


LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    
int        iTemp;
    
int        iXStart,iYStart;
    HDC             hdc ;
    HBRUSH        hBrush;
    PAINTSTRUCT    ps ;
    RECT        rect;
    MSG        msg;

    
switch (message)
    {
    
case WM_CREATE:
        
return 0 ;

    
case WM_FORCE_PAINT:
        InvalidateRect(hWnd, NULL, TRUE);
        
while (PeekMessage(&msg, hWnd, WM_FORCE_PAINT, WM_FORCE_PAINT, PM_REMOVE))
            ;
        
return 0;

    
case  WM_PAINT:    
        hdc 
= BeginPaint (hwnd, &ps) ;

        GetClientRect(hWnd,
&rect);
        iXStart 
= (rect.right-rect.left)/2-200;
        iYStart 
= (rect.bottom-rect.top)/2-10;
        hBrush 
= SelectObject(hdc, (HBRUSH)GetStockObject(GRAY_BRUSH));
        iTemp 
= iConsumerPointer;

        
while (TRUE)
        {
            Rectangle(hdc, iXStart
+iTemp*20, iYStart, iXStart+(iTemp+1)*20, iYStart+20);
            
if (++iTemp >= BUFFER_SIZE)
                iTemp 
= 0;
            
if (iTemp == iProducerPointer)
                
break;
        }

        SelectObject(hdc, hBrush);

        
while (TRUE)
        {
            Rectangle(hdc, iXStart
+iTemp*20, iYStart, iXStart+(iTemp+1)*20, iYStart+20);
            
if (++iTemp >= BUFFER_SIZE)
                iTemp 
= 0;
            
if (iTemp == iConsumerPointer)
                
break;
        }

        EndPaint (hwnd, 
&ps) ;
        
return 0 ;

    
case   WM_DESTROY:
        PostQuitMessage (
0) ;
        
return 0 ;
    }

    
return DefWindowProc (hwnd, message, wParam, lParam) ;
}

DWORD WINAPI ProducerThread(LPVOID pVoid)
{
    
int        i;
    
int        iRandom;

    
while (TRUE)
    {
        srand((unsigned)time(NULL));
        iRandom 
= rand()%MAX_PRODUCE_COUNT;
        
if (iRandom == 0)
            iRandom
++;

        
//鐢?#27996;?#38000;?#37922;?#29831;穒Random涓?#29863;勬
        for (i=0; i<iRandom; i++)
            ASSERT( WAIT_OBJECT_0 
== WaitForSingleObject(hProducerSemaphore, INFINITE) );

        
//鐢?#27996;?#38000;?#37922;?#27996;iRandom涓?#37727;嗗搧
        iProducerPointer = iProducerPointer+iRandom;
        
if (iProducerPointer>=BUFFER_SIZE)
            iProducerPointer 
= iProducerPointer-BUFFER_SIZE;

        SendMessage(hWnd, WM_FORCE_PAINT, 
00);
        Sleep(SLEEP_TIME);

        
//鐢?#27996;?#38000;?#37922;?#27996;?#27996;iRandom涓?#37727;嗗?#20362;紝?#31223;璐?#38000;呮?#22795;洿澶?#37928;勫?#21975;?#20345;秷璐?#27996;?#38171;?#37813;浠?#28051;烘秷璐?#38000;呴噴鏀緄Random涓?#29863;勬
        ASSERT(ReleaseSemaphore(hConsumerSemaphore, (long)iRandom, NULL));
    }

    
return 0;
}

DWORD WINAPI ConsumerThread(LPVOID pVoid)
{
    
while (TRUE)
    {
        
//?#31223;璐?#38000;?#37922;?#29831;?#37714;Semaphore?#25328;Mutex鍚庯紝鎵嶈?#33445;秷璐?/span>
        ASSERT( WAIT_OBJECT_0 == WaitForSingleObject(hConsumerSemaphore, INFINITE) );
        ASSERT( WAIT_OBJECT_0 
== WaitForSingleObject(hConsumerMutex, INFINITE) );

        
//?#31223;璐?#38000;呮秷璐?#28051;涓?#37727;嗗搧
        iConsumerPointer++;
        
if (iConsumerPointer>=BUFFER_SIZE)
            iConsumerPointer 
= 0;

        SendMessage(hWnd, WM_FORCE_PAINT, 
00);
        Sleep(SLEEP_TIME
/2);
        
        
//?#31223;璐?#38000;呴噴鏀綧utex
        ASSERT(ReleaseMutex(hConsumerMutex));

        
//?#31223;璐?#38000;呮秷璐?#27996;嗕竴涓?#37727;嗗?#20362;紝buffer涓?#28598;?#27996;嗕竴涓?#32460;?#38338;?#28003;?#32515;紝涓?#37922;?#27996;?#38000;呴噴鏀?#28051;涓?#29863;勬
        ASSERT(ReleaseSemaphore(hProducerSemaphore, (long)1, NULL));
    }

    
return 0;
}

void ProduceAndConsume()
{
    
int        i;
    DWORD    dwThreadID;

    iProducerPointer 
= 0;
    iConsumerPointer 
= 0;

    hProducerSemaphore 
= CreateSemaphore(NULL, BUFFER_SIZE, BUFFER_SIZE, NULL);      //鍒涘缓鐢?#27996;?#38000;?#28103;?#37721;烽噺?#32029;鍒濆鏈?0涓?#29863;勬
    hConsumerSemaphore = CreateSemaphore(NULL, 0, BUFFER_SIZE, NULL);                //鍒涘?#28888;秷璐?#38000;?#28103;?#37721;烽噺?#32029;鍒濆鏈?涓?#29863;勬
    hConsumerMutex       = CreateMutex(NULL, FALSE, NULL);                           //鍒涘?#28888;秷璐?#38000;匨utex

    hProducerThread       
= CreateThread(NULL, 0, ProducerThread, NULL, 0&dwThreadID);
    
for (i=0; i<CONSUMER_COUNT; i++)
    {
        hConsumersThread[i] 
= CreateThread(NULL, 0, ConsumerThread, NULL, 0&dwThreadID);
    }
}

void EndProduceConsume()
{
    
int i;

    ASSERT(CloseHandle(hProducerSemaphore));
    ASSERT(CloseHandle(hConsumerSemaphore));
    ASSERT(CloseHandle(hConsumerMutex));
    ASSERT(CloseHandle(hProducerThread));
    
for (i=0; i<CONSUMER_COUNT; i++)
    {
        ASSERT(CloseHandle(hConsumersThread[i]));
    }
}



sin 2010-03-15 01:22 鍙戣璇勮
]]>
տ3
<center id="iceyg"><tr id="iceyg"></tr></center>
<noscript id="iceyg"></noscript>
<center id="iceyg"></center>
<noscript id="iceyg"></noscript>
<noscript id="iceyg"></noscript>
<center id="iceyg"><tr id="iceyg"></tr></center>
<noscript id="iceyg"></noscript>
<center id="iceyg"></center>
<noscript id="iceyg"></noscript>
<noscript id="iceyg"></noscript>