锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产一区二区中文字幕免费看,久久久人成影片一区二区三区,国产亚洲成av人在线观看导航http://www.shnenglu.com/kevinlynx/category/19778.html浣庤皟鍋氭妧鏈痏_ C/C++\MMORPG鏈嶅姟鍣╘妯″潡鏋舵瀯__ TODO錛歭inux env/read more books __Kevin Lynxzh-cnWed, 05 Sep 2012 05:06:43 GMTWed, 05 Sep 2012 05:06:43 GMT60C/c++涓嚑縐嶆搷浣滀綅鐨勬柟娉?/title><link>http://www.shnenglu.com/kevinlynx/archive/2012/09/04/189464.html</link><dc:creator>Kevin Lynx</dc:creator><author>Kevin Lynx</author><pubDate>Tue, 04 Sep 2012 12:29:00 GMT</pubDate><guid>http://www.shnenglu.com/kevinlynx/archive/2012/09/04/189464.html</guid><wfw:comment>http://www.shnenglu.com/kevinlynx/comments/189464.html</wfw:comment><comments>http://www.shnenglu.com/kevinlynx/archive/2012/09/04/189464.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/kevinlynx/comments/commentRss/189464.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/kevinlynx/services/trackbacks/189464.html</trackback:ping><description><![CDATA[<div id="lxnnn53" class="entry-content"> <p>鍙傝?a >How do you set, clear and toggle a single bit in C?</a></p> <p>c/c++涓浜岃繘鍒朵綅鐨勬搷浣滃寘鎷緗煇浣嶄負1銆佹竻闄ゆ煇浣嶏紙緗負0錛夈佸紑鍏蟲煇浣?toggling a bit)銆佹鏌ユ煇浣嶆槸鍚︿負1絳夈傝繖浜涙搷浣滆緝涓哄父瑙佸茍涓斿彲浠ヤ綔涓哄叾浠栦綅榪愮畻鐨勫熀紜鎺ュ彛錛屼互涓嬬綏鍒楀嚑縐嶆柟娉曪細</p> <h2>浼犵粺鏂規硶</h2> <ul> <li>璁劇疆鏌愪綅涓?</li> </ul> <div id="rpdr33x" class="highlight"> <pre><code class="c"><span id="35vxr3f" class="n">number</span> <span id="jjpddn5" class="o">|=</span> <span id="31xnr5z" class="mi">1</span> <span id="5pn1ttx" class="o"><<</span> <span id="nfnn35b" class="n">x</span><span id="n5bxxt3" class="p">;</span> <span id="hdj3xvl" class="c1">// 璁劇疆絎瑇浣嶄負1</span> </code></pre> </div> <!-- more --> <ul> <li>娓呴櫎鏌愪綅</li> </ul> <div id="bdpj5dv" class="highlight"> <pre><code class="c"><span id="fp5nfvv" class="n">number</span> <span id="rjx5brb" class="o">&=</span> <span id="5555l5n" class="o">~</span><span id="jvxlb3b" class="p">(</span><span id="3nxr5z5" class="mi">1</span> <span id="jvz35nl" class="o"><<</span> <span id="jjv55ff" class="n">x</span><span id="3pjnz5j" class="p">);</span> <span id="3jvhv55" class="c1">// 緗x浣嶄負0</span> </code></pre> </div> <ul> <li>寮鍏蟲煇浣?/li> </ul> <div id="3zd5rz5" class="highlight"> <pre><code class="c"><span id="15p3n5d" class="n">number</span> <span id="hlhr3n5" class="o">^=</span> <span id="zljt55d" class="mi">1</span> <span id="h3txt5z" class="o"><<</span> <span id="3nz555z" class="n">x</span><span id="fr353nl" class="p">;</span> </code></pre> </div> <ul> <li>媯鏌ユ煇浣?/li> </ul> <div id="jxrlrxr" class="highlight"> <pre><code class="c"><span id="pb331nv" class="k">if</span> <span id="ntf31hf" class="p">(</span><span id="35533ll" class="n">number</span> <span id="vxz33tf" class="o">&</span> <span id="1bdbfd3" class="p">(</span><span id="3f5rp5p" class="mi">1</span> <span id="b5thvrj" class="o"><<</span> <span id="3xj535z" class="n">x</span><span id="dn5h555" class="p">))</span> </code></pre> </div> <p>鐩稿簲鍦版垜浠彲浠ュ皢鍏跺皝瑁呰搗鏉ワ紝綆渚跨殑鏂規硶鏄嬌鐢ㄥ畯鏉ュ皝瑁咃細</p> <div id="5555n5p" class="highlight"> <pre><code class="c"><span id="5z5djdd" class="cp">#define BIT_SET(a,b) ((a) |= (1<<(b)))</span> <span id="35x5pn5" class="cp">#define BIT_CLEAR(a,b) ((a) &= ~(1<<(b)))</span> <span id="jn5xfhn" class="cp">#define BIT_FLIP(a,b) ((a) ^= (1<<(b)))</span> <span id="fnr31ff" class="cp">#define BIT_CHECK(a,b) ((a) & (1<<(b)))</span> </code></pre> </div> <h2>浣跨敤浣嶇粨鏋勬搷浣?/h2> <p>榪欎釜浣跨敤璧鋒潵綆鍗曞緢澶氾細</p> <div id="3fzl5fn" class="highlight"> <pre><code class="c"><span id="n5n3d5v" class="k">struct</span> <span id="bbf1v5f" class="n">bits</span> <span id="3d1555v" class="p">{</span> <span id="3r555p1" class="kt">unsigned</span> <span id="5xv1z5n" class="kt">int</span> <span id="dpd1xr5" class="n">a</span><span id="xxxl5dn" class="o">:</span><span id="hz3bzx5" class="mi">1</span><span id="lvfjf3f" class="p">;</span> <span id="35x535v" class="kt">unsigned</span> <span id="3zfhpl5" class="kt">int</span> <span id="1xhj55v" class="n">b</span><span id="jljl3tb" class="o">:</span><span id="blxhvbv" class="mi">1</span><span id="355zhn5" class="p">;</span> <span id="1555tdd" class="kt">unsigned</span> <span id="r5bpn5h" class="kt">int</span> <span id="b3j5bzz" class="n">c</span><span id="353xdt3" class="o">:</span><span id="3p5z5l5" class="mi">1</span><span id="3n5bnp5" class="p">;</span> <span id="tdbzd5n" class="p">};</span> <span id="35dtz55" class="k">struct</span> <span id="nxbhbz3" class="n">bits</span> <span id="dnr3xvd" class="n">mybits</span><span id="n3jldbj" class="p">;</span> <span id="v3ft55d" class="c1">// set/clear a bit</span> <span id="3lftd5l" class="n">mybits</span><span id="lnrvxdt" class="p">.</span><span id="1jft55r" class="n">b</span> <span id="p55p5r5" class="o">=</span> <span id="lvhtv35" class="mi">1</span><span id="d35nt55" class="p">;</span> <span id="rtf3b5r" class="n">mybits</span><span id="hjv15zh" class="p">.</span><span id="3j555dd" class="n">c</span> <span id="35djn5v" class="o">=</span> <span id="hrn3rhz" class="mi">0</span><span id="vxxb3zh" class="p">;</span> <span id="l55j555" class="c1">// toggle a bit</span> <span id="v3555vv" class="n">mybits</span><span id="t5trlzr" class="p">.</span><span id="jx3vjxf" class="n">a</span> <span id="bv3p355" class="o">=</span> <span id="355p555" class="o">!</span><span id="d5h5lhh" class="n">mybits</span><span id="nxb3jpp" class="p">.</span><span id="fpljp55" class="n">a</span><span id="3555v5x" class="p">;</span> <span id="xhfljzz" class="n">mybits</span><span id="zlxdzln" class="p">.</span><span id="v3j355p" class="n">b</span> <span id="txzfv35" class="o">=</span> <span id="5d3rd5h" class="o">~</span><span id="hlp3zz5" class="n">mybits</span><span id="3h5l55l" class="p">.</span><span id="nf5nr55" class="n">b</span><span id="t355tlj" class="p">;</span> <span id="hb53hbl" class="n">mybits</span><span id="x3l5h53" class="p">.</span><span id="rd5xb5z" class="n">c</span> <span id="3h3ztnp" class="o">^=</span> <span id="353f5z3" class="mi">1</span><span id="35pp5nt" class="p">;</span> <span id="1l33l55" class="c1">// check a bit</span> <span id="t5l3j55" class="k">if</span> <span id="rb3jf55" class="p">(</span><span id="j3rz55l" class="n">mybits</span><span id="5j5h5hd" class="p">.</span><span id="35fvtj5" class="n">c</span><span id="3vrjhff" class="p">)</span> </code></pre> </div> <h2>浣跨敤STL鐨剆td::bitset<n></n> </h2> <p>榪欎釜鏂規硶鍏跺疄綾諱技浜庝嬌鐢ㄤ綅緇撴瀯錛屽彧涓嶈繃STL鍖呰浜嗚繖涓粨鏋勫畾涔夛紝褰撶劧榪樻彁渚涗簡寰堝渚挎嵎鐨勬帴鍙o細</p> <div id="hblzf3f" class="highlight"> <pre><code class="c"><span id="55pbnjz" class="n">std</span><span id="1dpv555" class="o">::</span><span id="rlxl5np" class="n">bitset</span><span id="xh3f55p" class="o"><</span><span id="1b5dd5b" class="mi">5</span><span id="t5555tb" class="o">></span> <span id="hjnl35d" class="n">bits</span><span id="ttxtzxp" class="p">;</span> <span id="b555f5x" class="n">bits</span><span id="nptf35r" class="p">[</span><span id="3rlzlj5" class="mi">0</span><span id="hzv5xtb" class="p">]</span> <span id="dpj3jfx" class="o">=</span> <span id="555r55r" class="nb">true</span><span id="z5555rz" class="p">;</span> <span id="jvhtxtb" class="n">bits</span><span id="lvz33dv" class="p">[</span><span id="55dhnrl" class="mi">1</span><span id="rr33bz5" class="p">]</span> <span id="x5nb5h5" class="o">=</span> <span id="ff15zzj" class="nb">false</span><span id="ld3fv5p" class="p">;</span> <span id="3j5lt3d" class="n">bits</span><span id="3rfl5nx" class="p">.</span><span id="l355rjr" class="n">set</span><span id="dfj53ld" class="p">(</span><span id="bjnlr3l" class="mi">2</span><span id="rlxfbzl" class="p">);</span> <span id="15555xx" class="n">bits</span><span id="3zbh55f" class="p">.</span><span id="jn35nnt" class="n">flip</span><span id="5lplbpn" class="p">(</span><span id="dnhv5jh" class="mi">3</span><span id="x3hfd5j" class="p">);</span> <span id="t355hf5" class="n">bits</span><span id="xf35fvn" class="p">.</span><span id="tvr5x5h" class="n">reset</span><span id="b55t5rx" class="p">(</span><span id="dfjzvjz" class="mi">2</span><span id="bldp35j" class="p">);</span> </code></pre> </div> <p class="post-footer"> 鍘熸枃鍦板潃錛? <a >http://codemacro.com/2012/09/04/bit-operation-in-c-slash-c-plus-plus/</a><br /> written by <a >Kevin Lynx</a>  posted at <a >http://codemacro.com</a> </p> </div><img src ="http://www.shnenglu.com/kevinlynx/aggbug/189464.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/kevinlynx/" target="_blank">Kevin Lynx</a> 2012-09-04 20:29 <a href="http://www.shnenglu.com/kevinlynx/archive/2012/09/04/189464.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>C/c++涓殑--&gt;榪愮畻絎?/title><link>http://www.shnenglu.com/kevinlynx/archive/2012/09/03/189272.html</link><dc:creator>Kevin Lynx</dc:creator><author>Kevin Lynx</author><pubDate>Mon, 03 Sep 2012 07:30:00 GMT</pubDate><guid>http://www.shnenglu.com/kevinlynx/archive/2012/09/03/189272.html</guid><wfw:comment>http://www.shnenglu.com/kevinlynx/comments/189272.html</wfw:comment><comments>http://www.shnenglu.com/kevinlynx/archive/2012/09/03/189272.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/kevinlynx/comments/commentRss/189272.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/kevinlynx/services/trackbacks/189272.html</trackback:ping><description><![CDATA[<div id="h3355ff" class="entry-content"> <p>鍙傝?a >What is the name of this operator: “–>”?</a></p> <p>c/c++涓互涓嬩唬鐮佹槸鍚堟硶鐨勶細</p> <div id="3fthf53" class="highlight"> <pre><code class="c"><span id="3frpdt5" class="cp">#include <stdio.h></span> <span id="xz3555f" class="kt">int</span> <span id="3tnjdv3" class="nf">main</span><span id="pj5fz3f" class="p">()</span> <span id="p5t5rxx" class="p">{</span> <span id="pjv5bbz" class="kt">int</span> <span id="x5l3zxf" class="n">x</span> <span id="v35ft5n" class="o">=</span> <span id="hn55pf5" class="mi">10</span><span id="15rtzpf" class="p">;</span> <span id="vzj35fx" class="k">while</span><span id="lx3xzfn" class="p">(</span> <span id="3np5f5r" class="n">x</span> <span id="l5f5l55" class="o">--></span> <span id="df53r55" class="mi">0</span> <span id="3j555t5" class="p">)</span> <span id="35z3btn" class="c1">// x goes to 0</span> <span id="lz33ddd" class="p">{</span> <span id="r3z35x3" class="n">printf</span><span id="3lt1n5f" class="p">(</span><span id="vpnlltv" class="s">"%d "</span><span id="j5d5555" class="p">,</span> <span id="xj3t5x3" class="n">x</span><span id="135t5lh" class="p">);</span> <span id="np5vlvp" class="p">}</span> <span id="zt33htl" class="p">}</span> </code></pre> </div> <p><code>--></code>鏄竴涓悎娉曠殑鎿嶄綔絎︼紝鎴戞墦璧岃嚜璁/c++鐔熸墜鐨勪綘浠兘涓嶇煡閬撹繖涓搷浣滅銆傛湁浜虹О瀹冧負<code>goes to</code>鎿嶄綔絎︼紝<code>x-->0</code>琛ㄧずx鍚?瓚嬭繎銆?/p> <p><strong>鍏跺疄鎴戝湪蹇芥偁浣犱滑銆?/strong> 騫朵笖鎴戠浉淇℃湁寰堝浜哄姝ゆ妸鎴忕浉褰撶啛鎮夈傛病閿欙紝<code>--></code>鍙槸涓や釜鎿嶄綔絎︽伆濂介亣鍦ㄤ簡涓璧鳳紝浠栦滑鏄嚜鍑忚繍綆楃<code>--</code>鍜屽ぇ浜庢瘮杈冭繍綆楃<code>></code>錛?/p> <div id="btnr35v" class="highlight"> <pre><code class="c"><span id="5zlj553" class="k">while</span> <span id="1bl53tj" class="p">(</span><span id="5jn553j" class="n">x</span><span id="lnr3zhj" class="o">--</span> <span id="pp3lx5t" class="o">></span> <span id="35rn5dd" class="mi">0</span><span id="v555pv5" class="p">)</span> <span id="3f5xltj" class="p">...</span> </code></pre> </div> <p>綾諱技鐨勬妸鎴忚繕鏈夛細</p> <div id="l355vtr" class="highlight"> <pre><code class="c"><span id="bv35tj5" class="k">while</span> <span id="bvzdrp3" class="p">(</span><span id="1b55lj5" class="n">x</span> <span id="vxrvj3h" class="o">--</span> \<br /> \<br /> \<br /> \<br /> <span id="tx5xnlp" class="o">></span> <span id="f5p35x5" class="mi">0</span><span id="dv3x5hr" class="p">)</span> <span id="h3j5f5p" class="n">printf</span><span id="5rpvjz3" class="p">(</span><span id="rzljzd3" class="s">"%d "</span><span id="3jnt53f" class="p">,</span> <span id="3d5v5xx" class="n">x</span><span id="3jlplz5" class="p">);</span> </code></pre> </div> <p class="post-footer"> 鍘熸枃鍦板潃錛? <a >http://codemacro.com/2012/09/03/goes-to-operator/</a><br /> written by <a >Kevin Lynx</a>  posted at <a >http://codemacro.com</a> </p> </div><img src ="http://www.shnenglu.com/kevinlynx/aggbug/189272.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/kevinlynx/" target="_blank">Kevin Lynx</a> 2012-09-03 15:30 <a href="http://www.shnenglu.com/kevinlynx/archive/2012/09/03/189272.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>浣跨敤memcmp姣旇緝涓や釜鍙橀噺緇撴灉涓瀹氬悧錛?/title><link>http://www.shnenglu.com/kevinlynx/archive/2012/08/17/187481.html</link><dc:creator>Kevin Lynx</dc:creator><author>Kevin Lynx</author><pubDate>Fri, 17 Aug 2012 06:07:00 GMT</pubDate><guid>http://www.shnenglu.com/kevinlynx/archive/2012/08/17/187481.html</guid><wfw:comment>http://www.shnenglu.com/kevinlynx/comments/187481.html</wfw:comment><comments>http://www.shnenglu.com/kevinlynx/archive/2012/08/17/187481.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.shnenglu.com/kevinlynx/comments/commentRss/187481.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/kevinlynx/services/trackbacks/187481.html</trackback:ping><description><![CDATA[<div id="35t55j5" class="entry-content"> <p>鍙傝?a >Is using memcmp on array of int strictly conforming?</a></p> <p>浠ヤ笅浠g爜涓瀹氫細杈撳嚭ok鍚楋紵</p> <div id="f5p5hz5" class="highlight"> <pre><code class="c"><span id="35rbhx5" class="cp">#include <stdio.h></span> <span id="t5b55d3" class="cp">#include <string.h></span> <span id="rjzx3f3" class="k">struct</span> <span id="lff3rbb" class="n">S</span> <span id="p5hl55d" class="p">{</span> <span id="3x5r5rr" class="kt">int</span> <span id="3n5h55d" class="n">array</span><span id="xx5x3dd" class="p">[</span><span id="xhtx3vl" class="mi">2</span><span id="z3h5nfn" class="p">];</span> <span id="btzlvj3" class="p">};</span> <span id="dplfhnf" class="kt">int</span> <span id="3v3xfn3" class="nf">main</span> <span id="r5thn5n" class="p">()</span> <span id="3xbp55d" class="p">{</span> <span id="35jx5xd" class="k">struct</span> <span id="5jnjj55" class="n">S</span> <span id="b5jx5t5" class="n">a</span> <span id="3hdp3lr" class="o">=</span> <span id="pjp3l3v" class="p">{</span> <span id="fzpd3f3" class="p">{</span> <span id="3ztp35d" class="mi">1</span><span id="pblp3ln" class="p">,</span> <span id="f5v3rrz" class="mi">2</span> <span id="x5xjhlv" class="p">}</span> <span id="1rnb5lb" class="p">};</span> <span id="nprvdj3" class="k">struct</span> <span id="b3l5pxx" class="n">S</span> <span id="zjd3d55" class="n">b</span><span id="fhlpdlv" class="p">;</span> <span id="zjd5j35" class="n">b</span> <span id="dprjb55" class="o">=</span> <span id="rv55rhj" class="n">a</span><span id="3hv35l5" class="p">;</span> <span id="dn3xxvx" class="k">if</span> <span id="3xr5dn3" class="p">(</span><span id="j55jpp5" class="n">memcmp</span><span id="dvhlll3" class="p">(</span><span id="x3f5lj5" class="n">b</span><span id="zzfbx3n" class="p">.</span><span id="pz5ff55" class="n">array</span><span id="3j5nr55" class="p">,</span> <span id="nfvrfd5" class="n">a</span><span id="jv555nz" class="p">.</span><span id="xz3lrtb" class="n">array</span><span id="55n555l" class="p">,</span> <span id="5rdrn55" class="k">sizeof</span><span id="3jtdb5h" class="p">(</span><span id="3hldbzh" class="n">b</span><span id="hrlv5t5" class="p">.</span><span id="p3rv5hp" class="n">array</span><span id="rtv3jfn" class="p">))</span> <span id="l3rxrxx" class="o">==</span> <span id="3pb55zz" class="mi">0</span><span id="ltfjvb3" class="p">)</span> <span id="3xbl5nb" class="p">{</span> <span id="bt3f553" class="n">puts</span><span id="jl3pfb5" class="p">(</span><span id="3pbl55n" class="s">"ok"</span><span id="jjv3t5d" class="p">);</span> <span id="55zvp3h" class="p">}</span> <span id="3vhd3tj" class="k">return</span> <span id="j5tx5h3" class="mi">0</span><span id="jj33x55" class="p">;</span> <span id="hrtdh35" class="p">}</span> </code></pre> </div> <!-- more --> <p>鎴戝湪vs2005浠ュ強gcc4.4.3涓婂仛浜嗘祴璇曪紝閮借緭鍑轟簡ok銆備絾榪欏茍涓嶆剰鍛寵繖涓唬鐮佷細姘歌繙杈撳嚭ok銆傞棶棰樹富瑕侀泦涓簬榪欓噷浣跨敤浜嗚祴鍊艱鍙ユ潵澶嶅埗鍊鹼紝浣嗗嵈浣跨敤浜唌emcmp榪欎釜鍩轟簬鍐呭瓨鏁版嵁姣旇緝鐨勫嚱鏁版潵姣旇緝鍊箋?/p> <p>c璇█涓殑璧嬪艱繍綆楃錛?錛夎瀹氫箟涓哄熀浜庡肩殑澶嶅埗錛岃屼笉鏄熀浜庡唴瀛樺唴瀹圭殑澶嶅埗銆?/p> <blockquote><p><strong>C99 section 6.5.16.1 p2:</strong> In simple assignment (=), the value of the right operand is converted to the type of the assignment expression and replaces the value stored in the object designated by the left operand.</p></blockquote> <p>榪欎釜鍏跺疄寰堝ソ鐞嗚В錛屽挨鍏跺湪涓嶅悓綾誨瀷鐨勬暟瀛楃被鍨嬮棿澶嶅埗鏃訛紝渚嬪錛?/p> <div id="rrd3r55" class="highlight"> <pre><code class="c"><span id="xbfx3xl" class="kt">float</span> <span id="zz5lj35" class="n">a</span> <span id="3bnpttf" class="o">=</span> <span id="z5555n3" class="mf">1.1</span><span id="35555d5" class="p">;</span> <span id="npzvpv3" class="kt">int</span> <span id="bbfjn5p" class="n">b</span> <span id="f3frvt5" class="o">=</span> <span id="dj3hpd5" class="n">a</span><span id="tdpj35j" class="p">;</span> </code></pre> </div> <p>鍥犱負嫻偣鏁板拰鏁村艦鏁扮殑鍐呭瓨甯冨眬涓嶄竴鏍鳳紝鎵浠ヨ偗瀹氭槸鍩轟簬鍊肩殑涓縐嶅鍒躲傚彟澶栵紝鎸夌収璇█鏍囧噯鐨勬濊礬鏉ョ湅錛屽唴瀛樺竷灞榪欑涓滆タ涓鑸兘灞炰簬瀹炵幇鐩稿叧鐨勶紝鎵浠ヨ璦鏍囧噯鏄笉浼氫緷璧栧疄鐜板幓瀹氫箟璇█鐨勩?/p> <p>涓婇潰鐨勫畾鐞嗗悓鏍風敤浜庡鏉傛暟鎹被鍨嬶紝渚嬪緇撴瀯浣撱傛垜浠兘鐭ラ亾緇撴瀯浣撴瘡涓垚鍛樹箣闂村彲鑳戒細鏈夊瓧鑺傝ˉ榻愶紝鑰屼嬌鐢ㄨ祴鍊艱繍綆楃鏉ュ鍒舵椂錛屼細涓嶄細澶嶅埗榪欎簺琛ラ綈瀛楄妭鐨勫唴瀹癸紝鏄璦鏍囧噯鏈瀹氱殑銆傝繖鎰忓懗鐫浣跨敤memcmp姣旇緝涓や釜閫氳繃璧嬪艱繍綆楃澶嶅埗鐨勪袱涓粨鏋勪綋鏃訛紝鍏剁粨鏋滄槸鏈畾鐨勩?/p> <p>浣嗘槸涓婇潰鐨勪唬鐮佷緥瀛愪腑錛屾瘮杈冪殑鍏跺疄鏄袱涓猧nt鏁扮粍銆傝繖涔熸棤娉曠‘璁ょ粨鏋滃悧錛熻繖涓棶棰樻渶緇堥泦涓簬錛岄毦閬搃nt涔熶細鏈変笉紜畾鐨勮ˉ榻愬瓧鑺傛暟鎹紵</p> <blockquote><p><strong>C99 6.2.6.2 integer types</strong> For signed integer types, the bits of the object representation shall be divided into three groups: value bits, padding bits, and the sign bit. […] The values of any padding bits are unspecified.</p></blockquote> <p>榪欒瘽鍏跺疄鎴戜篃涓嶅お鎳傘備竴涓湁絎﹀彿鏁存暟int錛屽叾鍐呬篃鏈夎ˉ榻愪簩榪涘埗浣?bits)錛?/p> <p>浣嗘棤璁哄浣曪紝榪欎釜渚嬪瓙閮戒笉綆椾弗璋ㄧ殑浠g爜銆備漢浠殑寤鴻鏄嬌鐢╩emcpy鏉ュ鍒惰繖縐嶆暟鎹紝鍥犱負memcpy鍜宮emcmp閮芥槸鍩轟簬鍐呭瓨鍐呭鏉ュ伐浣滅殑銆?/p> <p class="post-footer"> 鍘熸枃鍦板潃錛? <a >http://codemacro.com/2012/08/17/memcmp-on-copy-value/</a><br /> written by <a >Kevin Lynx</a>  posted at <a >http://codemacro.com</a> </p> </div><img src ="http://www.shnenglu.com/kevinlynx/aggbug/187481.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/kevinlynx/" target="_blank">Kevin Lynx</a> 2012-08-17 14:07 <a href="http://www.shnenglu.com/kevinlynx/archive/2012/08/17/187481.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>璁﹚xListCtrl鏀寔瀛恑tem緙栬緫http://www.shnenglu.com/kevinlynx/archive/2012/08/07/186581.htmlKevin LynxKevin LynxTue, 07 Aug 2012 09:09:00 GMThttp://www.shnenglu.com/kevinlynx/archive/2012/08/07/186581.htmlhttp://www.shnenglu.com/kevinlynx/comments/186581.htmlhttp://www.shnenglu.com/kevinlynx/archive/2012/08/07/186581.html#Feedback0http://www.shnenglu.com/kevinlynx/comments/commentRss/186581.htmlhttp://www.shnenglu.com/kevinlynx/services/trackbacks/186581.html

鎴戜嬌鐢ㄧ殑wxLua鐗堟湰淇℃伅涓?code>wxLua 2.8.7.0 built with wxWidgets 2.8.8錛屼篃灝辨槸LuaForWindows_v5.1.4-40.exe榪欎釜瀹夎鍖呴噷鑷甫鐨剋xLua銆傛垜涓嶇煡閬撳叾浠杦xWidgets鐗堟湰閲寃xListCtrl鎬庢牱錛屼絾鎴戜嬌鐢ㄧ殑鐗堟湰閲寃xListCtrl鏄笉鏀寔緙栬緫閲岄潰鐨勫瓙item鐨勩傚湪鎴戜嬌鐢ㄧ殑report妯″紡涓嬶紝瀛恑tem涔熷氨鏄壒瀹氭煇涓琛屼竴鍒楃殑item銆?/p>

google浜嗕竴涓嬶紝鍙戠幇鎮插墽鍦伴渶瑕佽嚜宸卞疄鐜幫紝涓昏灝辨槸鑷繁鏄劇ず涓涓獁xTextCtrl錛?/p>

--
-- file: wxListCtrlTextEdit.lua
-- author: Kevin Lynx
-- date: 08.06.2012
--
local EditList = {}

-- get the column by an abs point
function EditList:getColumn(x)
    local cols = self.listctrl:GetColumnCount()
    local cx = 0
    for i = 0, cols - 1 do
        local w = self.listctrl:GetColumnWidth(i)
        if x <= cx + w then return i end
        cx = cx + w
    end
    return -1
end

-- when a mouse down, show a text edit control 
function EditList:onLeftDown(evt)
    if self.editor:IsShown() then
        self:closeEditor()
    end
    local p = evt:GetPoint()
    local row = evt:GetIndex()
    local col = self:getColumn(p.x)
    local rect = wx.wxListCtrlEx.GetSubItemRect(self.listctrl, row, col)
    rect:SetHeight(rect:GetHeight() + 5) -- adjust
    self.editor:SetSize(rect)
    self.editor:Show()
    self.editor:SetValue(wx.wxListCtrlEx.GetItemText(self.listctrl, row, col))
    self.editor:SetFocus()
    self.col = col
    self.row = row
end

function EditList:closeEditor()
    if not self.editor:IsShown() then return end
    self.editor:Hide()
    self.listctrl:SetItem(self.row, self.col, self.editor:GetValue())
end

function EditList:initialize()
    self.editor = wx.wxTextCtrl(self.listctrl, wx.wxID_ANY, "", wx.wxDefaultPosition, wx.wxDefaultSize, wx.wxTE_PROCESS_ENTER + wx.wxTE_RICH2)
    self.editor:Connect(wx.wxEVT_COMMAND_TEXT_ENTER, function () self:closeEditor() end)
    -- not work actually
    self.editor:Connect(wx.wxEVT_COMMAND_KILL_FOCUS, function () self:closeEditor() end)
    self.editor:Hide()
end

function wx.wxListCtrlTextEdit(listctrl)
    local o = {
        listctrl = listctrl,
        editor = nil,
    }
    local editlist = newObject(o, EditList)
    editlist:initialize()
    listctrl:Connect(wx.wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, function (evt) editlist:onLeftDown(evt) end)
    listctrl:Connect(wx.wxEVT_COMMAND_LIST_ITEM_FOCUSED, function () editlist:closeEditor() end)
    return listctrl
end

鍏跺師鐞嗗氨鏄幏鍙栧埌褰撳墠榧犳爣鐐瑰嚮鎵鍦ㄧ殑瀛恑tem浣嶇疆錛岀劧鍚庡湪姝や綅緗樉紺轟竴涓獁xEditCtrl鍗沖彲銆備互涓婁唬鐮侀渶瑕佷緷璧栨垜涔嬪墠鍐欑殑Lua閲屽疄鐜扮畝鍗曠殑綾?瀵硅薄涓殑浠g爜錛屽悓鏃朵緷璧栦互涓嬮拡瀵箇xListCtrl鐨勬墿灞曟帴鍙o細

--
-- file: wxListCtrlExtend.lua
-- author: Kevin Lynx
-- date: 08.07.2012
-- brief: extend some util functions to wx.wxListCtrl
-- 
wx.wxListCtrlEx = {}

function wx.wxListCtrlEx.GetSubItemRect(listctrl, item, col)
    local rect = wx.wxRect()
    listctrl:GetItemRect(item, rect)
    local x = 0
    local w = 0
    for i = 0, col do
        w = listctrl:GetColumnWidth(i)
        x = x + w
    end
    return wx.wxRect(x - w, rect:GetY(), w, rect:GetHeight())
end

function wx.wxListCtrlEx.GetItemText(listctrl, item, col)
    local info = wx.wxListItem()
    info:SetId(item)
    info:SetColumn(col)
    info:SetMask(wx.wxLIST_MASK_TEXT)
    listctrl:GetItem(info)
    return info:GetText()
end

鍦ㄦ垜鐪嬪埌鐨剋xWidgets瀹樻柟鏂囨。閲岋紝鍏跺疄wxListCtrl宸茬粡鏈?code>GetSubItemRect鎺ュ彛錛屽茍涓斿湪鍙︿竴浜涚ず渚嬩唬鐮侀噷錛屼篃鐪嬪埌浜?code>GetItemText鎺ュ彛錛屼絾鏄紝鎴戜嬌鐢ㄧ殑鐗堟湰閲屾病鏈夛紝鎵浠ュ彧濂借嚜宸卞啓銆傚熀浜庝互涓婏紝瑕佷嬌鐢ㄨ繖涓彲浠ユ敮鎸佺紪杈戝瓙item鐨剋xListCtrl錛屽彲浠ワ細

list = wx.wxListCtrlTextEdit(wx.wxListCtrl(dialog, wx.wxID_ANY, wx.wxDefaultPosition, wx.wxDefaultSize, wx.wxLC_REPORT))

涔熷氨鏄氳繃wx.wxListCtrlTextEdit榪欎釜鍑芥暟鍋氫笅澶勭悊錛岃繖涓嚱鏁拌繑鍥炵殑鏄湰韜殑wxListCtrl銆傚綋鐒舵洿濂界殑鏂瑰紡鏄嬌鐢ㄧ戶鎵夸箣綾葷殑鏂瑰紡錛屽紑鍙戜竴縐嶆柊鐨勬帶浠訛紝浣嗗湪Lua涓紝閽堝usedata綾誨瀷鐨勬墿灞曡矊浼煎彧鑳借繖鏍蜂簡銆?/p>

鏈濂藉悙妲戒笅錛岃繖涓帶浠舵墿灞曞叾瀹炲緢鎭跺績銆傛湰鏉ユ垜鎵撶畻褰撶紪杈戞帶浠跺け鍘葷劍鐐瑰悗灝遍殣钘忓畠錛屼絾鏄線緙栬緫鎺т歡涓婃敞鍐孠ILL_FOCUS浜嬩歡濮嬬粓涓嶈搗浣滅敤錛涙垜鍙堟墦綆楀紕涓狤SC閿洏浜嬩歡鍘繪墜鍔ㄥ彇娑堬紝浣嗘樉鐒秝xTextCtrl鏄笉鏀寔閿洏浜嬩歡鐨勩傚ソ鍚э紝鍑戝悎鐢ㄤ簡銆?/p>



Kevin Lynx 2012-08-07 17:09 鍙戣〃璇勮
]]>
国产成人精品久久一区二区三区av| 中文字幕久久精品| 国产精品九九久久免费视频 | 久久精品中文无码资源站| 午夜精品久久久久久久| 国产午夜久久影院| 亚洲&#228;v永久无码精品天堂久久 | 久久亚洲熟女cc98cm| 久久精品国产亚洲一区二区| 亚洲国产精品一区二区三区久久| 久久亚洲AV成人无码电影| 精品久久久久久久久久久久久久久| 精品久久久久久无码不卡| 久久福利片| 国产精品久久久久天天影视 | 99精品国产在热久久| 久久久久久久久66精品片| 国产日韩久久免费影院| 精品久久无码中文字幕| 一级做a爰片久久毛片免费陪| 91精品国产高清久久久久久国产嫩草| 日韩精品久久久久久久电影蜜臀| 久久精品国产精品亚洲下载| 免费国产99久久久香蕉| 久久精品国产亚洲精品2020| 久久无码国产专区精品| 天天综合久久一二三区| 国产精品99久久久久久猫咪| 97久久香蕉国产线看观看| 欧美精品久久久久久久自慰| 国产69精品久久久久久人妻精品| 亚洲欧美国产日韩综合久久| 免费精品久久久久久中文字幕 | 国产69精品久久久久9999| 久久91亚洲人成电影网站| 久久精品国产亚洲麻豆| 久久中文娱乐网| 精品久久久久久99人妻| 久久综合视频网站| 四虎国产精品成人免费久久| 亚洲AV无码久久精品蜜桃|