锘??xml version="1.0" encoding="utf-8" standalone="yes"?>色综合色天天久久婷婷基地,麻豆一区二区99久久久久,久久无码AV中文出轨人妻http://www.shnenglu.com/mymsdn/MyMSDN璁板綍寮鍙戞柊鐭ラ亾zh-cnTue, 06 May 2025 20:03:42 GMTTue, 06 May 2025 20:03:42 GMT60鍏充簬protobuf涓殑field_number鑼冨洿鐨勮В閲?/title><link>http://www.shnenglu.com/mymsdn/archive/2011/03/19/142184.html</link><dc:creator>volnet</dc:creator><author>volnet</author><pubDate>Fri, 18 Mar 2011 18:01:00 GMT</pubDate><guid>http://www.shnenglu.com/mymsdn/archive/2011/03/19/142184.html</guid><wfw:comment>http://www.shnenglu.com/mymsdn/comments/142184.html</wfw:comment><comments>http://www.shnenglu.com/mymsdn/archive/2011/03/19/142184.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/mymsdn/comments/commentRss/142184.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/mymsdn/services/trackbacks/142184.html</trackback:ping><description><![CDATA[<!--MyMSDN style!--><link rel="stylesheet" type="text/css" > <style type="text/css"> body{background-color:#eeeeee;} </style> <div>浠ヤ笅鏄潵鑷狦oogle Protobuf Documents閲岀殑涓鍙ヨ瘽錛?</div> <div id="a8c8ks4" class="quote">As you can see, each field in the message definition has a unique numbered tag. These tags are used to identify your fields in the <a >message binary format</a>, and should not be changed once your message type is in use. Note that tags with values in the range 1 through 15 take one byte to encode. Tags in the range 16 through 2047 take two bytes. So you should reserve the tags 1 through 15 for very frequently occurring message elements. Remember to leave some room for frequently occurring elements that might be added in the future. </div> <div>榪欓噷瑕佸仛涓涓В閲婏紝灝辨槸涓轟粈涔堟槸1鍒?5錛屼互鍙?6鍒?047鍛紵</div> <div> <ol> <li>1鍒?5錛屼粎浣跨敤1bytes銆傛瘡涓猙yte鍖呭惈涓や釜閮ㄥ垎錛屼竴涓槸field_number涓涓槸tag錛屽叾涓璮ield-number灝辨槸protobuf涓瘡涓煎悗絳夊彿鍚庣殑鏁板瓧錛堝湪C++鍜孞ava涓紝濡傛灉涓嶈緗繖涓鹼紝鍒欏畠鏄殢鏈虹殑錛屽鏋滃湪Python涓紝涓嶈緗紝瀹冨垯涓嶈澶勭悊錛堣繖涓湪<a >message binary format</a>涓殑Field Order涓鑺備腑鏈夋彁鍒幫級銆傞偅涔堟垜浠彲浠ヨ涓鴻繖涓猣ield_number鏄繀欏葷殑銆傞偅涔堜竴涓猙yte鐢ㄦ潵琛ㄨ揪榪欎釜鍊煎氨鏄?span style="color: red">0</span><span style="color: blue">00000</span><span style="color: green">000</span>錛屽叾涓孩鑹茶〃紺烘槸鍚︽湁鍚庣畫瀛楄妭錛屽鏋滀負0琛ㄧず娌℃湁涔熷氨鏄繖鏄竴涓瓧鑺傦紝钃濊壊閮ㄥ垎琛ㄧずfield-number錛岀豢鑹查儴鍒嗗垯鏄痺ire_type閮ㄥ垎錛岃〃紺烘暟鎹被鍨嬨備篃灝辨槸(field_number << 3) | wire_type銆傚叾涓瓀ire_type鍙湁3浣嶏紝琛ㄧず鏁版嵁綾誨瀷銆傞偅涔堣兘澶熻〃紺篺ield_number鐨勫氨鏄?浣嶈摑鑹茬殑鏁板瓧錛?浣嶆暟瀛楄兘澶熻〃杈劇殑鏈澶ц寖鍥村氨鏄?-15錛堝叾涓?鏄棤鏁堢殑錛夈? <li>16鍒?047錛屼笌涓婇潰鐨勮鍒欏叾瀹炵被浼鹼紝涓嬮潰浠?bytes涓轟緥瀛愶紝閭d箞灝辨湁<span style="color: red">1</span><span style="color: blue">0000000 <span style="color: red">0</span>0000</span><span style="color: green">000</span>錛屽叾涓孩鑹查儴鍒嗕緷鐒舵槸絎﹀彿浣嶏紝鍥犱負姣忎釜byte鐨勭涓浣嶉兘鐢ㄦ潵琛ㄧず涓嬩竴byte鏄惁鍜岃嚜宸辨湁鍏籌紝閭d箞瀵逛簬>1byte鐨勬暟鎹紝絎竴浣嶄竴瀹氭槸1錛屽洜涓鴻繖閲屽亣璁炬槸2byte錛岄偅涔堢浜屼釜byte鐨勭涓浣嶄篃鏄孩鑹詫紝鍒ㄩ櫎榪欎袱浣嶏紝鍐嶆墸鎺?涓獁ire_type浣嶏紝鍓╀笅11浣嶏紙2*8-2-3錛夛紝鑳藉琛ㄨ揪鐨勬暟瀛楄寖鍥村氨鏄?047錛?<sup>11</sup>錛夈?/li></ol></div> <div> 鍙傝冭祫鏂欙細<br /> <ol><li>http://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/proto.html</li> <li>http://code.google.com/apis/protocolbuffers/docs/encoding.html</li></ol> </div><img src ="http://www.shnenglu.com/mymsdn/aggbug/142184.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/mymsdn/" target="_blank">volnet</a> 2011-03-19 02:01 <a href="http://www.shnenglu.com/mymsdn/archive/2011/03/19/142184.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>zig-zag緙栫爜鏂瑰紡http://www.shnenglu.com/mymsdn/archive/2011/03/19/zig-zag-encoding.htmlvolnetvolnetFri, 18 Mar 2011 16:36:00 GMThttp://www.shnenglu.com/mymsdn/archive/2011/03/19/zig-zag-encoding.htmlhttp://www.shnenglu.com/mymsdn/comments/142182.htmlhttp://www.shnenglu.com/mymsdn/archive/2011/03/19/zig-zag-encoding.html#Feedback0http://www.shnenglu.com/mymsdn/comments/commentRss/142182.htmlhttp://www.shnenglu.com/mymsdn/services/trackbacks/142182.htmlhttp://goo.gl/2wRKb
鐢ㄤ綅榪愮畻鏉ヨ〃紺烘妸涓涓礋鏁拌漿鎹㈡垚zig-zag緙栫爜錛屽氨鏄?span class="pun">

int32鏄細(n << 1) ^ (n >> 31)
int64鏄細(n << 1) ^ (n >> 63)
涔熷氨鏄錛屽鏋滄槸璐熸暟錛屽浜?2浣嶆渶澶氳兘鐪佸幓30鏍鹼紙鍏朵腑1鏍兼槸絎﹀彿浣嶏紝鍙︿竴涓唬琛ㄦ渶灝忓?錛屾澶勫亣璁?#8220;姝h礋0”涓嶅悎娉曪級銆傚悓鐞嗭紝64浣嶆渶澶氳兘鐪佸幓62浣嶃傚綋鐒舵瘮杈冩瀬绔殑鏄墍鏈夌殑浣嶆暟閮借鐢ㄤ笂浜嗐?br>



volnet 2011-03-19 00:36 鍙戣〃璇勮
]]>
IsWow64騫朵笉鑳界敤鏉ユ嫻嬫槸鍚︽槸Windows 32bit緋葷粺榪樻槸64bit緋葷粺http://www.shnenglu.com/mymsdn/archive/2010/09/06/125966.htmlvolnetvolnetSun, 05 Sep 2010 18:06:00 GMThttp://www.shnenglu.com/mymsdn/archive/2010/09/06/125966.htmlhttp://www.shnenglu.com/mymsdn/comments/125966.htmlhttp://www.shnenglu.com/mymsdn/archive/2010/09/06/125966.html#Feedback12http://www.shnenglu.com/mymsdn/comments/commentRss/125966.htmlhttp://www.shnenglu.com/mymsdn/services/trackbacks/125966.html濡備綍褰撳墠鎿嶄綔緋葷粺鏄笉鏄?4浣嶏紵濡備綍鍒ゆ柇褰撳墠搴旂敤紼嬪簭鏄惁鍦╓ow64涓嬭繍琛岋紵

棣栧厛浠涔堟槸Wow64錛熷緢澶氭湅鍙嬩竴鐪嬪埌64灝辮涓鴻繖涓柟娉曟槸鍒ゆ柇褰撳墠緋葷粺鏄惁鏄?4bit鐨勶紝鍏跺疄涓嶇劧銆俉ow64鏄疻indows-On-Windows64鐨勬剰鎬濓紝瀹冩槸鎸囧湪64浣嶇殑鎿嶄綔緋葷粺涓婏紙涓嶆槸鎸?4浣嶇殑CPU錛夎繍琛?2浣嶅簲鐢ㄧ▼搴忕殑鍏煎騫沖彴銆?/p>

涓嬮潰鏄疢SDN涓竴孌礗sWow64鐨勫簲鐢ㄧ▼搴忥細

BOOL IsWow64() 
{ 
    typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL); 
    LPFN_ISWOW64PROCESS fnIsWow64Process; 
    BOOL bIsWow64 = FALSE; 
    fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress( GetModuleHandle(_T("kernel32")), "IsWow64Process"); 
    if (NULL != fnIsWow64Process) 
    {
        fnIsWow64Process(GetCurrentProcess(),&bIsWow64); 
    } 
    return bIsWow64; 
}

涓嬮潰鐨勪唬鐮佺敤鏉ユ嫻嬭繖涓▼搴忕殑緇撴灉錛?/p>

if( IsWow64() == TRUE )
{
    _tprintf(_T("IsWow64() == TRUE\n"));
}
else
{
    _tprintf(_T("IsWow64() == FALSE\n"));
}

璁╂垜浠紪璇戜竴涓嬭繖涓▼搴忋?/p>

鎴戜滑闇瑕佺殑鏄?4浣嶇殑鎿嶄綔緋葷粺錛屾瘮濡俋P64bit錛學indows 2008 R2絳夐兘鏄?4bit鎿嶄綔緋葷粺銆?/p>

鍦?4浣嶇殑鎿嶄綔緋葷粺涓婅繍琛岀殑kernel32.dll涓紝灝嗕細瀹炵幇IsWow64Process鏂規硶錛岃屽湪32浣嶇郴緇熶腑鎻愪緵鐨刱ernel32.dll涓垯娌℃湁鎻愪緵鐩稿叧鍑芥暟鐨勫疄鐜般?/p>

姣旇緝榪鋒儜浜虹殑鍒欐槸bIsWow64錛屽叾瀹炰粩緇嗙湅MSDN涓殑Remark錛屼細鍙戠幇錛?/p>

If the application is a 64-bit application running under 64-bit Windows, the Wow64Process parameter is set to FALSE.涔熷氨鏄64浣嶅簲鐢ㄧ▼搴忚窇鍦?4浣嶇殑鎿嶄綔緋葷粺涓婏紝bIsWow64鐨勫煎皢鏄疐ALSE鑰屼笉鏄疶RUE銆?

鍥犳鎴戜滑闇瑕佸垎鍒皢鎴戜滑鐨勭▼搴忕紪璇戞垚Win32騫沖彴鍜寈64騫沖彴鐨勶紝濡傛灉浣犵敤Visual Studio榪涜緙栬瘧錛岄粯璁ゅ畨瑁呭垯鍙寘鍚?2浣嶇殑緙栬瘧鍣?閾炬帴鍣紝鍗充究浣犳槸鍦?4浣嶆搷浣滅郴緇熶笂瀹夎錛屼篃鏄竴鏍風殑銆備綘闇瑕佸湪VC++鑺傜偣涓嬪嬀閫墄64閫夐」鎵嶅彲浠ワ紝Itanium鍒欓渶瑕佸湪Server騫沖彴涓嬪畨瑁呮墠鍙嬀閫夈傜劧鍚庡湪緙栬瘧鐨勬椂鍊欙紝鍒嗗埆閫夋嫨Win32鍜寈64榪涜緙栬瘧銆?

image

緙栬瘧鍚庯紝榪愯錛岀粨鏋滃鎴戜滑鍒嗘瀽鐨勪竴鏍鳳細

鍦?4浣嶇郴緇熶笂榪愯Win32緙栬瘧閰嶇疆鐨勭粨鏋滄槸IsWow64() == TRUE錛岃寈64緙栬瘧閰嶇疆鐨勭粨鏋滄槸IsWow64() == FALSE銆?

濡傛灉鎯寵鐭ラ亾褰撳墠緋葷粺鏄惁鏄?4浣嶇殑錛屽垯鍙互閫氳繃涓嬮潰鐨勬柟娉曪細

BOOL Is64bitSystem()
{
    SYSTEM_INFO si;
    GetNativeSystemInfo(&si);

    if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 ||    
        si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64 )
    {
        return TRUE;
    }
    else
    {
        return FALSE;
    } 
}

娉ㄦ剰錛氶渶瑕佹敞鎰忔槸GetNativeSystemInfo  鍑芥暟浠嶹indows XP 寮濮嬫墠鏈夛紝 鑰?IsWow64Process  鍑芥暟浠?Windows XP with SP2 浠ュ強 Windows Server 2003 with SP1 寮濮嬫墠鏈夈?



volnet 2010-09-06 02:06 鍙戣〃璇勮
]]>
鑻辯壒灝?amp;reg; 澶氱嚎紼嬪簲鐢ㄥ紑鍙戞寚鍗?/title><link>http://www.shnenglu.com/mymsdn/archive/2010/09/05/125912.html</link><dc:creator>volnet</dc:creator><author>volnet</author><pubDate>Sat, 04 Sep 2010 18:20:00 GMT</pubDate><guid>http://www.shnenglu.com/mymsdn/archive/2010/09/05/125912.html</guid><wfw:comment>http://www.shnenglu.com/mymsdn/comments/125912.html</wfw:comment><comments>http://www.shnenglu.com/mymsdn/archive/2010/09/05/125912.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/mymsdn/comments/commentRss/125912.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/mymsdn/services/trackbacks/125912.html</trackback:ping><description><![CDATA[     鎽樿: http://software.intel.com/zh-cn/articles/intel-guide-for-developing-multithreaded-applications/ 鑻辯壒灝斅?澶氱嚎紼嬪簲鐢ㄥ紑鍙戞寚鍗?鎻愪氦鏂版枃绔? Published On :  2010騫?2鏈?5鏃?20:00 璇勭駭 璇風櫥褰曞悗璇勭駭錛佸綋鍓嶅垎鏁幫細 0 鐢?0 鐢ㄦ埛 璇風櫥褰曞悗璇勭駭錛佸綋鍓嶅垎鏁幫細 0 ...  <a href='http://www.shnenglu.com/mymsdn/archive/2010/09/05/125912.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/mymsdn/aggbug/125912.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/mymsdn/" target="_blank">volnet</a> 2010-09-05 02:20 <a href="http://www.shnenglu.com/mymsdn/archive/2010/09/05/125912.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍏充簬瀹廙AX_PATH涓庢枃浠跺悕闀垮害鐨勫叧緋?/title><link>http://www.shnenglu.com/mymsdn/archive/2010/09/04/125870.html</link><dc:creator>volnet</dc:creator><author>volnet</author><pubDate>Sat, 04 Sep 2010 05:59:00 GMT</pubDate><guid>http://www.shnenglu.com/mymsdn/archive/2010/09/04/125870.html</guid><wfw:comment>http://www.shnenglu.com/mymsdn/comments/125870.html</wfw:comment><comments>http://www.shnenglu.com/mymsdn/archive/2010/09/04/125870.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/mymsdn/comments/commentRss/125870.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/mymsdn/services/trackbacks/125870.html</trackback:ping><description><![CDATA[<p>鐩殑錛氭祴璇昅AX_PATH璺緞涓庢枃浠跺悕鐨勫叧緋匯?/p> <p>緇撹錛歁AX_PATH浠h〃浠庣洏絎﹀紑濮嬪埌鏂囦歡鍚嶇粨灝劇殑C瀛楃涓查暱搴︼紙闀垮害+1錛夌殑鏈澶ч暱搴︺備篃灝辨槸鍋囪C:\a.txt鍏?涓瓧絎︼紝闀垮害涓?錛孧AX_PATH閫氬父涓?60錛屽叾涓繖涓枃浠跺叏鍚嶇殑闀垮害涓嶈兘澶т簬260銆?/p> <p>嫻嬭瘯浠g爜錛?/p> <p><a href="http://www.shnenglu.com/images/cppblog_com/mymsdn/WindowsLiveWriter/253adb4ca2e0_C354/image_2.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.shnenglu.com/images/cppblog_com/mymsdn/WindowsLiveWriter/253adb4ca2e0_C354/image_thumb.png" width="702" height="468"></a></p><pre class="gc-code"><span style="color: blue">#include </span><span style="color: #a31515">"stdafx.h" </span><span style="color: blue">#include </span><span style="color: #a31515"><atlbase.h> </span><span style="color: blue">#include </span><span style="color: #a31515"><windows.h> </span><span style="color: blue">#include </span><span style="color: #a31515"><atlfile.h> </span><span style="color: blue">#include </span><span style="color: #a31515"><atlstr.h> </span><span style="color: blue">#include </span><span style="color: #a31515"><iostream> </span><span style="color: blue">#include </span><span style="color: #a31515"><string> </span><span style="color: #010001">BOOL IsFileExist</span>( <span style="color: #010001">LPCTSTR lpszFileName </span>) { <span style="color: #010001">DWORD dwAttr </span>= ::<span style="color: #010001">GetFileAttributes</span>( <span style="color: #010001">lpszFileName </span>); <span style="color: blue">if </span>( <span style="color: #010001">dwAttr </span>== 0xFFFFFFFF ) { <span style="color: blue">return </span><span style="color: #010001">FALSE</span>; } <span style="color: blue">if </span>( ( <span style="color: #010001">dwAttr </span>& <span style="color: #010001">FILE_ATTRIBUTE_DIRECTORY </span>) > 0 ) { <span style="color: blue">return </span><span style="color: #010001">FALSE</span>; } <span style="color: blue">return </span><span style="color: #010001">TRUE</span>; } <span style="color: #010001">BOOL DeleteFiles</span>( <span style="color: #010001">LPCTSTR lpszPath </span>) { <span style="color: #010001">TCHAR szFrom</span>[<span style="color: #010001">_MAX_PATH</span>+1] = {<span style="color: #010001">_T</span>( <span style="color: #a31515">'\0' </span>)}; <span style="color: #010001">lstrcpy</span>( <span style="color: #010001">szFrom </span>, <span style="color: #010001">lpszPath </span>); <span style="color: #010001">SHFILEOPSTRUCT shf</span>; <span style="color: #010001">memset</span>( &<span style="color: #010001">shf</span>, 0, <span style="color: blue">sizeof</span>( <span style="color: #010001">SHFILEOPSTRUCT </span>) ); <span style="color: #010001">shf</span>.<span style="color: #010001">hwnd </span>= <span style="color: #010001">NULL</span>; <span style="color: #010001">shf</span>.<span style="color: #010001">pFrom </span>= <span style="color: #010001">szFrom</span>; <span style="color: #010001">shf</span>.<span style="color: #010001">wFunc </span>= <span style="color: #010001">FO_DELETE</span>; <span style="color: #010001">shf</span>.<span style="color: #010001">fFlags </span>= <span style="color: #010001">FOF_NOCONFIRMMKDIR </span>| <span style="color: #010001">FOF_NOCONFIRMATION </span>| <span style="color: #010001">FOF_NOERRORUI </span>| <span style="color: #010001">FOF_SILENT</span>; <span style="color: blue">return </span><span style="color: #010001">SHFileOperation</span>( &<span style="color: #010001">shf </span>) == 0; } <span style="color: #010001">BOOL WriteBinaryBytesToFile</span>( <span style="color: #010001">LPCTSTR fileName</span>, <span style="color: blue">unsigned char</span>* <span style="color: #010001">data</span>, <span style="color: blue">unsigned int </span><span style="color: #010001">datasize </span>, <span style="color: #010001">BOOL bAppend </span>) { <span style="color: #010001">CAtlFile file</span>; <span style="color: blue">if</span>( !<span style="color: #010001">bAppend </span>&& <span style="color: #010001">IsFileExist</span>( <span style="color: #010001">fileName </span>)) <span style="color: #010001">DeleteFiles</span>( <span style="color: #010001">fileName </span>); <span style="color: #010001">HRESULT ret </span>= <span style="color: #010001">file</span>.<span style="color: #010001">Create</span>( <span style="color: #010001">fileName</span>, <span style="color: #010001">FILE_WRITE_DATA</span>, <span style="color: #010001">FILE_SHARE_WRITE</span>, <span style="color: #010001">bAppend</span>?<span style="color: #010001">OPEN_ALWAYS</span>:<span style="color: #010001">CREATE_ALWAYS </span>); <span style="color: blue">if </span>( !<span style="color: #010001">SUCCEEDED</span>( <span style="color: #010001">ret </span>) ) <span style="color: blue">return </span><span style="color: #010001">FALSE</span>; <span style="color: blue">if</span>( <span style="color: #010001">bAppend </span>) { <span style="color: #010001">file</span>.<span style="color: #010001">Seek</span>( 0, <span style="color: #010001">FILE_END </span>); } <span style="color: blue">unsigned char </span>*<span style="color: #010001">pos </span>= <span style="color: #010001">data</span>; <span style="color: blue">while</span>( <span style="color: #010001">datasize </span>> 0 ) { <span style="color: #010001">DWORD dwWrite </span>= 0; <span style="color: blue">if </span>( <span style="color: #010001">file</span>.<span style="color: #010001">Write</span>( <span style="color: #010001">pos </span>, <span style="color: #010001">datasize </span>, &<span style="color: #010001">dwWrite </span>) != <span style="color: #010001">S_OK </span>) { <span style="color: #010001">file</span>.<span style="color: #010001">Close</span>(); <span style="color: blue">return </span><span style="color: #010001">FALSE</span>; } <span style="color: #010001">datasize </span>-= <span style="color: #010001">dwWrite</span>; <span style="color: #010001">pos </span>+= <span style="color: #010001">dwWrite</span>; } <span style="color: #010001">file</span>.<span style="color: #010001">Close</span>(); <span style="color: blue">return </span><span style="color: #010001">TRUE</span>; } <span style="color: #010001">BOOL GCreateFile</span>(<span style="color: #010001">std</span>::<span style="color: #010001">string</span>& <span style="color: #010001">fileNamePath</span>, <span style="color: #010001">std</span>::<span style="color: #010001">string</span>& <span style="color: #010001">fileNameExt</span>, <span style="color: blue">int </span><span style="color: #010001">shortNameLength</span>, <span style="color: #010001">std</span>::<span style="color: #010001">string</span>& <span style="color: #010001">data</span>) { <span style="color: blue">char </span><span style="color: #010001">c</span>[] = <span style="color: #a31515">"a"</span>; <span style="color: #010001">std</span>::<span style="color: #010001">string fileName</span>; <span style="color: #010001">fileName</span>.<span style="color: #010001">append</span>(<span style="color: #010001">fileNamePath</span>); <span style="color: blue">while</span>( <span style="color: #010001">shortNameLength</span>-- ) { <span style="color: #010001">fileName</span>.<span style="color: #010001">append</span>(<span style="color: #010001">c</span>); ++*<span style="color: #010001">c</span>; <span style="color: blue">if</span>( *<span style="color: #010001">c </span>> <span style="color: #a31515">'z' </span>) { *<span style="color: #010001">c </span>= <span style="color: #a31515">'a'</span>; } } <span style="color: #010001">fileName</span>.<span style="color: #010001">append</span>(<span style="color: #010001">fileNameExt</span>); <span style="color: #010001">std</span>::<span style="color: #010001">cout </span><< <span style="color: #a31515">"fileName:" </span><< <span style="color: #010001">fileName </span><< <span style="color: #010001">std</span>::<span style="color: #010001">endl</span>; <span style="color: #010001">std</span>::<span style="color: #010001">cout </span><< <span style="color: #a31515">"fileName.size():"</span><< <span style="color: #010001">fileName</span>.<span style="color: #010001">size</span>() << <span style="color: #010001">std</span>::<span style="color: #010001">endl</span>; <span style="color: #010001">std</span>::<span style="color: #010001">cout </span><< <span style="color: #a31515">"MAX_PATH" </span><< <span style="color: #010001">MAX_PATH </span><< <span style="color: #010001">std</span>::<span style="color: #010001">endl</span>; <span style="color: blue">if</span>( <span style="color: #010001">WriteBinaryBytesToFile</span>(<span style="color: #010001">fileName</span>.<span style="color: #010001">c_str</span>(), (<span style="color: blue">unsigned char</span>*)<span style="color: #010001">data</span>.<span style="color: #010001">data</span>(), <span style="color: #010001">data</span>.<span style="color: #010001">size</span>(), <span style="color: #010001">FALSE </span>) ) { <span style="color: #010001">std</span>::<span style="color: #010001">cout </span><< <span style="color: #a31515">"++++++++++++++WriteBinaryBytesToFile successful.++++++++++++++" </span><< <span style="color: #010001">std</span>::<span style="color: #010001">endl</span>; <span style="color: blue">return </span><span style="color: #010001">TRUE</span>; } <span style="color: blue">else </span>{ <span style="color: #010001">std</span>::<span style="color: #010001">cout </span><< <span style="color: #a31515">"==============WriteBinaryBytesToFile error==============." </span><< <span style="color: #010001">std</span>::<span style="color: #010001">endl</span>; <span style="color: blue">return </span><span style="color: #010001">FALSE</span>; } } <span style="color: blue">int </span><span style="color: #010001">_tmain</span>(<span style="color: blue">int </span><span style="color: #010001">argc</span>, <span style="color: #010001">_TCHAR</span>* <span style="color: #010001">argv</span>[]) { <span style="color: #010001">std</span>::<span style="color: #010001">string fileNamePath </span>= <span style="color: #a31515">"E:\\MyCPlusProject\\TestFileNameMaxLength\\TestFileNameMaxLength\\Output\\"</span>; <span style="color: #010001">std</span>::<span style="color: #010001">string fileNameExt </span>= <span style="color: #a31515">".txt"</span>; <span style="color: #010001">std</span>::<span style="color: #010001">string data</span>(<span style="color: #a31515">"This is a content."</span>); <span style="color: blue">int </span><span style="color: #010001">shortNameLength</span>; <span style="color: #010001">shortNameLength </span>= <span style="color: #010001">MAX_PATH </span>- <span style="color: #010001">fileNameExt</span>.<span style="color: #010001">size</span>() - <span style="color: #010001">fileNamePath</span>.<span style="color: #010001">size</span>(); <span style="color: #010001">GCreateFile</span>(<span style="color: #010001">fileNamePath</span>, <span style="color: #010001">fileNameExt</span>, <span style="color: #010001">shortNameLength</span>, <span style="color: #010001">data</span>); <span style="color: #010001">std</span>::<span style="color: #010001">cout </span><< <span style="color: #a31515">"------------------" </span><< <span style="color: #010001">std</span>::<span style="color: #010001">endl</span>; <span style="color: #010001">shortNameLength </span>= <span style="color: #010001">MAX_PATH </span>- <span style="color: #010001">fileNameExt</span>.<span style="color: #010001">size</span>() - <span style="color: #010001">fileNamePath</span>.<span style="color: #010001">size</span>() - 1; <span style="color: #010001">GCreateFile</span>(<span style="color: #010001">fileNamePath</span>, <span style="color: #010001">fileNameExt</span>, <span style="color: #010001">shortNameLength</span>, <span style="color: #010001">data</span>); <span style="color: blue">return </span>0; }</pre> <p>鎻愮ず錛氬彸閿」鐩睘鎬э紝灝嗗瓧絎﹂泦璁劇疆涓衡滄湭璁劇疆鈥濄?/p><img src ="http://www.shnenglu.com/mymsdn/aggbug/125870.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/mymsdn/" target="_blank">volnet</a> 2010-09-04 13:59 <a href="http://www.shnenglu.com/mymsdn/archive/2010/09/04/125870.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>榪涚▼闂寸獥浣撶疆欏?/title><link>http://www.shnenglu.com/mymsdn/archive/2010/09/04/125866.html</link><dc:creator>volnet</dc:creator><author>volnet</author><pubDate>Sat, 04 Sep 2010 04:41:00 GMT</pubDate><guid>http://www.shnenglu.com/mymsdn/archive/2010/09/04/125866.html</guid><wfw:comment>http://www.shnenglu.com/mymsdn/comments/125866.html</wfw:comment><comments>http://www.shnenglu.com/mymsdn/archive/2010/09/04/125866.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/mymsdn/comments/commentRss/125866.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/mymsdn/services/trackbacks/125866.html</trackback:ping><description><![CDATA[<p>鏈榪戦亣鍒頒竴涓窡Windows錛堜笉鏄寚鎿嶄綔緋葷粺錛岃屾槸涓涓?:CreateWindow鐨勭粨鏋滐級鏈夊叧鐨勯棶棰樸?/p> <p>鎯呭喌鏄繖鏍風殑錛岄氬父鐨勫簲鐢ㄧ▼搴忓唴鐨勪簨浠朵紶閫掍竴鑸満鏅兘鏄被浼煎湪紿椾綋A涓婄偣鍑繪寜閽?錛屽脊鍑轟竴涓獥浣揃銆傞潰瀵硅繖鏍風殑鍦烘櫙鍙::SetWindowActive(HWND wnd)鍗沖彲錛岃繖閲屽叾瀹炴湁涓殣鍚殑鍓嶆彁錛屽氨鏄痺nd鐨勭埗紿楀彛鏄嚭浜嶵OP鐨勭姸鎬侊紝涔熷氨鏄畠鐨勭埗紿楀彛鏄疆欏剁殑錛屼篃灝辨槸鎴戜滑鑳藉鍦ㄧ晫闈笂鐪嬪埌瀹冿紝鍚﹀垯浣犵殑鍏朵粬緗《紿楀彛灝嗕緷鏃х疆欏躲?/p> <p>涓嬮潰鐨勪唬鐮佺ず鎰忎簡濡備綍灝嗙獥鍙g疆欏訛紝鍥犱負涔熸病鏈夊鍚勪釜鏂規硶鍋氭繁鍏ュ垎鏋愶紝鎵浠ュ氨涓嶅鍙戣〃璦璁轟簡錛?/p><pre class="gc-code"><span style="color: green">/*鍦烘櫙錛? 鐩爣錛氬皢瀛愮獥鍙f斁鍒扮疆欏訛紙涓旀槸HWND_TOP錛夋ā寮? 璇存槑錛歨MainWnd鏄富紿楀彛錛宮_pMMessageWnd->m_hWnd鏄瓙紿楀彛 */ /*1銆佸皢紿楀彛浠庡悗鍙扮洿鎺ユ彁鍒版渶鍓嶆柟錛岄渶瑕佸厛灝嗕富紿楀彛縐諱笂鏉ャ?/ </span><span style="color: #010001">HWND hMainWnd </span>= <span style="color: #010001">CFramework</span>::<span style="color: #010001">GetInstance</span>()-><span style="color: #010001">GetMainWnd</span>(); <span style="color: blue">if</span>( <span style="color: #010001">hMainWnd </span>!= <span style="color: #010001">NULL </span>) { <span style="color: #010001">SetForegroundWindow</span>(<span style="color: #010001">hMainWnd</span>); <span style="color: #010001">BringWindowToTop</span>(<span style="color: #010001">hMainWnd</span>); <span style="color: #010001">SetActiveWindow</span>(<span style="color: #010001">hMainWnd</span>); <span style="color: #010001">SetWindowPos</span>( <span style="color: #010001">hMainWnd</span>, <span style="color: #010001">HWND_TOPMOST</span>, 0, 0, 0, 0, <span style="color: #010001">SWP_NOMOVE</span>|<span style="color: #010001">SWP_NOSIZE</span>|<span style="color: #010001">SWP_SHOWWINDOW </span>); } <span style="color: green">/*2銆佸皢瀛愮獥鍙g疆欏?/ </span><span style="color: blue">if</span>( <span style="color: #010001">m_pMMessageWnd </span>!= <span style="color: #010001">NULL </span>) <span style="color: green">/* true */ </span>{ <span style="color: #010001">SetForegroundWindow</span>(<span style="color: #010001">m_pMMessageWnd</span>-><span style="color: #010001">m_hWnd</span>); <span style="color: #010001">BringWindowToTop</span>(<span style="color: #010001">m_pMMessageWnd</span>-><span style="color: #010001">m_hWnd</span>); <span style="color: #010001">SetActiveWindow</span>(<span style="color: #010001">m_pMMessageWnd</span>-><span style="color: #010001">m_hWnd</span>); <span style="color: #010001">SetWindowPos</span>( <span style="color: #010001">m_pMMessageWnd</span>-><span style="color: #010001">m_hWnd</span>, <span style="color: #010001">HWND_TOPMOST</span>, 0, 0, 0, 0, <span style="color: #010001">SWP_NOMOVE</span>|<span style="color: #010001">SWP_NOSIZE</span>|<span style="color: #010001">SWP_SHOWWINDOW </span>); <span style="color: #010001">SetWindowPos</span>( <span style="color: #010001">m_pMMessageWnd</span>-><span style="color: #010001">m_hWnd</span>, <span style="color: #010001">HWND_NOTOPMOST</span>, 0, 0, 0, 0, <span style="color: #010001">SWP_NOMOVE</span>|<span style="color: #010001">SWP_NOSIZE</span>|<span style="color: #010001">SWP_SHOWWINDOW </span>); } <span style="color: green">/*3銆佹斁鍦ㄥ悗闈㈢殑鍘熷洜鏄伩鍏嶅瓙紿楀彛榪樻湭寮瑰嚭錛岀偣鍑葷獥浣撳鐨勬椂鍊欒鏀懼埌鍚庨潰鍘伙紝鎵浠ョ瓑紿楀彛鍑烘潵鍚庡啀鍙栨秷緗《*/ </span><span style="color: blue">if</span>( <span style="color: #010001">hMainWnd </span>!= <span style="color: #010001">NULL </span>) { <span style="color: #010001">SetWindowPos</span>( <span style="color: #010001">hMainWnd</span>, <span style="color: #010001">HWND_NOTOPMOST</span>, 0, 0, 0, 0, <span style="color: #010001">SWP_NOMOVE</span>|<span style="color: #010001">SWP_NOSIZE</span>|<span style="color: #010001">SWP_SHOWWINDOW </span>); } <span style="color: green">/*4銆侀伩鍏嶈涓葷獥鍙g粰鍘嬩簡*/ </span><span style="color: blue">if</span>( <span style="color: #010001">m_pMMessageWnd </span>!= <span style="color: #010001">NULL </span>) <span style="color: green">/* true */ </span>{ <span style="color: #010001">SetWindowPos</span>( <span style="color: #010001">m_pMMessageWnd</span>-><span style="color: #010001">m_hWnd</span>, <span style="color: #010001">HWND_TOPMOST</span>, 0, 0, 0, 0, <span style="color: #010001">SWP_NOMOVE</span>|<span style="color: #010001">SWP_NOSIZE</span>|<span style="color: #010001">SWP_SHOWWINDOW </span>); <span style="color: #010001">SetWindowPos</span>( <span style="color: #010001">m_pMMessageWnd</span>-><span style="color: #010001">m_hWnd</span>, <span style="color: #010001">HWND_NOTOPMOST</span>, 0, 0, 0, 0, <span style="color: #010001">SWP_NOMOVE</span>|<span style="color: #010001">SWP_NOSIZE</span>|<span style="color: #010001">SWP_SHOWWINDOW </span>); } </pre><img src ="http://www.shnenglu.com/mymsdn/aggbug/125866.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/mymsdn/" target="_blank">volnet</a> 2010-09-04 12:41 <a href="http://www.shnenglu.com/mymsdn/archive/2010/09/04/125866.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>[杞琞C/C++涓姩鎬侀摼鎺ュ簱鐨勫垱寤哄拰璋冪敤http://www.shnenglu.com/mymsdn/archive/2010/08/28/124983.htmlvolnetvolnetFri, 27 Aug 2010 16:30:00 GMThttp://www.shnenglu.com/mymsdn/archive/2010/08/28/124983.htmlhttp://www.shnenglu.com/mymsdn/comments/124983.htmlhttp://www.shnenglu.com/mymsdn/archive/2010/08/28/124983.html#Feedback1http://www.shnenglu.com/mymsdn/comments/commentRss/124983.htmlhttp://www.shnenglu.com/mymsdn/services/trackbacks/124983.html杞澆鑷細http://developer.51cto.com/art/200702/39608.htm

鍔ㄦ佽繛鎺ュ簱鐨勫垱寤烘楠わ細

涓銆佸垱寤篘on-MFC DLL鍔ㄦ侀摼鎺ュ簱

1銆佹墦寮File 鈥?gt; New 鈥?gt; Project閫夐」錛岄夋嫨Win32 Dynamic-Link Library 鈥?gt;sample project 鈥?gt;宸ョ▼鍚嶏細DllDemo

2銆佹柊寤轟竴涓?h鏂囦歡DllDemo.h

#ifdef DllDemo_EXPORTS
#define DllAPI __declspec(dllexport)
#else
#define DllAPI __declspec(dllimport)
extern "C" //鍘熸牱緙栬瘧
{
DllAPI int __stdcall Max(int a,int b); //__stdcall浣塊潪C/C++璇█鍐呰兘澶熻皟鐢ˋPI
}
#endif

3銆佸湪DllDemo.cpp鏂囦歡涓鍏llDemo.h鏂囦歡錛屽茍瀹炵幇Max(int,int)鍑芥暟

#include "DllDemo.h"
DllAPI int __stdcall Max(int a,int b)
{
if(a==b)
return NULL;
else if(a>b)
return a;
else
return b;
}

4銆佺紪璇戠▼搴忕敓鎴愬姩鎬佽繛鎺ュ簱

浜屻佺敤.def鏂囦歡鍒涘緩鍔ㄦ佽繛鎺ュ簱DllDemo.dll

1銆佸垹闄llDemo宸ョ▼涓殑DllDemo.h鏂囦歡銆?

2銆佸湪DllDemo.cpp鏂囦歡澶達紝鍒犻櫎 #include DllDemo.h璇彞銆?

3銆佸悜璇ュ伐紼嬩腑鍔犲叆涓涓枃鏈枃浠訛紝鍛藉悕涓篋llDemo.def騫跺啓鍏ュ涓嬭鍙ワ細

LIBRARY MyDll

EXPORTS

Max@1

4銆佺紪璇戠▼搴忕敓鎴愬姩鎬佽繛鎺ュ簱銆?

鍔ㄦ侀摼鎺ョ殑璋冪敤姝ラ錛?/strong>

涓銆侀殣寮忚皟鐢?/strong>

1銆佸緩绔婦llCnslTest宸ョ▼

2銆佸皢鏂囦歡DllDemo.dll銆丏llDemo.lib鎷瘋礉鍒癉llCnslTest宸ョ▼鎵鍦ㄧ殑鐩綍

3銆佸湪DllCnslTest.h涓坊鍔犲涓嬭鍙ワ細

#define DllAPI __declspec(dllimport)
#pragma comment(lib錛?DllDemo.lib") //鍦ㄧ紪杈戝櫒link鏃訛紝閾炬帴鍒癉llDemo.lib鏂囦歡
extern "C"
{
DllAPI int __stdcall Max(int a,int b);
}

4銆佸湪DllCnslTest.cpp鏂囦歡涓坊鍔犲涓嬭鍙ワ細

#include "DllCnslTest.h"http://鎴栬?#include "DllDemo.h"
void main()
{
int value;
value = Max(2,9);
printf("The Max value is %d\n",value);
}

5銆佺紪璇戝茍鐢熸垚搴旂敤紼嬪簭DllCnslTest.exe

浜屻佹樉寮忚皟鐢?/strong>

1銆佸緩绔婦llWinTest宸ョ▼銆?

2銆佸皢鏂囦歡DllDemo.dll鎷瘋礉鍒癉llWinTest宸ョ▼鎵鍦ㄧ殑鐩綍鎴朩indows緋葷粺鐩綍涓嬨?

3銆佺敤vc/bin涓嬬殑Dumpbin.exe鐨勫皬紼嬪簭錛屾煡鐪婦LL鏂囦歡(DllDemo.dll)涓殑鍑芥暟緇撴瀯銆?

4銆佷嬌鐢ㄧ被鍨嬪畾涔夊叧閿瓧typedef錛屽畾涔夋寚鍚戝拰DLL涓浉鍚岀殑鍑芥暟鍘熷瀷鎸囬拡銆?

渚嬶細

typedef int(*lpMax)(int a,int b); //姝よ鍙ュ彲浠ユ斁鍦?h鏂囦歡涓?/p>

5銆侀氳繃LoadLibray()灝咲LL鍔犺澆鍒板綋鍓嶇殑搴旂敤紼嬪簭涓茍榪斿洖褰撳墠DLL鏂囦歡鐨勫彞鏌勩?

渚嬶細

HINSTANCE hDll; //澹版槑涓涓狣ll瀹炰緥鏂囦歡鍙ユ焺
hDll = LoadLibrary("DllDemo.dll");//瀵煎叆DllDemo.dll鍔ㄦ佽繛鎺ュ簱

6銆侀氳繃GetProcAddress()鍑芥暟鑾峰彇瀵煎叆鍒板簲鐢ㄧ▼搴忎腑鐨勫嚱鏁版寚閽堛?

渚嬶細

lpMax Max;
Max = (lpMax)GetProcAddress(hDLL,"Max");
int value;
value = Max(2,9);
printf("The Max value is %d",value);

7銆佸嚱鏁拌皟鐢ㄥ畬姣曞悗錛屼嬌鐢‵reeLibrary()鍗歌澆DLL鏂囦歡銆?pre>

FreeLibrary(hDll);

8銆佺紪璇戝茍鐢熸垚搴旂敤紼嬪簭DllWinTest.exe

娉細鏄懼紡閾炬帴搴旂敤紼嬪簭緙栬瘧鏃朵笉闇瑕佷嬌鐢ㄧ浉搴旂殑Lib鏂囦歡銆?/p>

涓嬭澆錛?font style="background-color: #cccccc">Visual Studio 2008楠岃瘉閫氳繃錛夛細http://www.shnenglu.com/Files/mymsdn/DllCnsTest.7z



volnet 2010-08-28 00:30 鍙戣〃璇勮
]]>
涓や釜鏈夌敤鐨勫畯錛?amp;ldquo;紱佹綾繪垚鍛樺鍒?amp;rdquo;浠ュ強&ldquo;紱佹闅愬紡鏋勯?amp;rdquo;http://www.shnenglu.com/mymsdn/archive/2010/08/11/123003.htmlvolnetvolnetTue, 10 Aug 2010 16:34:00 GMThttp://www.shnenglu.com/mymsdn/archive/2010/08/11/123003.htmlhttp://www.shnenglu.com/mymsdn/comments/123003.htmlhttp://www.shnenglu.com/mymsdn/archive/2010/08/11/123003.html#Feedback1http://www.shnenglu.com/mymsdn/comments/commentRss/123003.htmlhttp://www.shnenglu.com/mymsdn/services/trackbacks/123003.html紱佹綾繪垚鍛樺鍒訛紝鍏舵牳蹇冨氨鍦ㄤ簬涓嶅厑璁哥被澶栭儴鐪嬭澶嶅埗鍑芥暟錛屽寘鎷?#8220;鎷瘋礉鏋勯犲嚱鏁?#8221;銆?#8220;operator =閲嶈澆”銆?/p>
#define DISALLOW_COPY_AND_ASSIGN(TypeName) \
private:                     \
TypeName(const TypeName&);               \
TypeName& operator=(const TypeName&)
紱佹闅愬紡鏋勯狅紝鍒欏彲浠ュ皢榛樿鏋勯犲嚱鏁伴殣钘忚搗鏉ワ紝鍦ㄥぇ澶氭暟緙栬瘧鍣ㄤ腑涔熷彲浠ュ鏋勯犲嚱鏁板鍔爀xplicit鍏抽敭瀛楁潵閬垮厤闅愬紡鏋勯犮?
#define DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \
private:                     \
TypeName();                                    \
DISALLOW_COPY_AND_ASSIGN(TypeName)
鏇村瑙i噴璇﹁銆奙ore Effective C++銆?

volnet 2010-08-11 00:34 鍙戣〃璇勮
]]>
[C++]__declspec鍏抽敭瀛?/title><link>http://www.shnenglu.com/mymsdn/archive/2010/07/22/121059.html</link><dc:creator>volnet</dc:creator><author>volnet</author><pubDate>Thu, 22 Jul 2010 12:46:00 GMT</pubDate><guid>http://www.shnenglu.com/mymsdn/archive/2010/07/22/121059.html</guid><wfw:comment>http://www.shnenglu.com/mymsdn/comments/121059.html</wfw:comment><comments>http://www.shnenglu.com/mymsdn/archive/2010/07/22/121059.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/mymsdn/comments/commentRss/121059.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/mymsdn/services/trackbacks/121059.html</trackback:ping><description><![CDATA[<p><span style="color: blue">__declspec</span>鍏抽敭瀛?/p><pre class="gc-code"><span style="color: green">// keyword__declspec.cpp : 瀹氫箟鎺у埗鍙板簲鐢ㄧ▼搴忕殑鍏ュ彛鐐廣? // // ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/kernel_d/hh/Kernel_d/64bitAMD_6db3322a-fe6d-4287-9eda-a9c1378e715d.xml.htm // The sizeof value for any structure is the offset of the final member, // plus that member's size, rounded up to the nearest multiple of the largest // member alignment value or the whole structure alignment value, // whichever is greater. </span><span style="color: blue">#include </span><span style="color: #a31515">"stdafx.h" </span><span style="color: blue">__declspec</span>( <span style="color: blue">align</span>( 32) ) <span style="color: blue">struct </span><span style="color: #010001">Struct__declspec_1 </span>{ <span style="color: blue">int </span><span style="color: #010001">a</span>; <span style="color: blue">int </span><span style="color: #010001">b</span>; }; <span style="color: blue">__declspec</span>( <span style="color: blue">align</span>( 32) ) <span style="color: blue">struct </span><span style="color: #010001">Struct__declspec_2 </span>{ <span style="color: blue">__declspec</span>( <span style="color: blue">align</span>( 64) ) <span style="color: blue">int </span><span style="color: #010001">a</span>; <span style="color: blue">int </span><span style="color: #010001">b</span>; }; <span style="color: blue">__declspec</span>( <span style="color: blue">align</span>( 8 ) ) <span style="color: blue">struct </span><span style="color: #010001">Struct__declspec_3 </span>{ <span style="color: blue">int </span><span style="color: #010001">a</span>; <span style="color: green">//4 bytes </span><span style="color: blue">int </span><span style="color: #010001">b</span>; <span style="color: green">//4 bytes </span><span style="color: blue">int </span><span style="color: #010001">c</span>; <span style="color: green">//4 bytes </span>}; <span style="color: blue">__declspec</span>( <span style="color: blue">align</span>( 8 ) ) <span style="color: blue">struct </span><span style="color: #010001">Struct__declspec_4 </span>{ <span style="color: blue">int </span><span style="color: #010001">a</span>; <span style="color: green">//4 bytes </span><span style="color: blue">int </span><span style="color: #010001">b</span>; <span style="color: green">//4 bytes </span>}; <span style="color: blue">struct </span><span style="color: #010001">StructNormal </span>{ <span style="color: blue">int </span><span style="color: #010001">a</span>; <span style="color: green">//4 bytes </span><span style="color: blue">int </span><span style="color: #010001">b</span>; <span style="color: green">//4 bytes </span><span style="color: blue">int </span><span style="color: #010001">c</span>; <span style="color: green">//4 bytes </span>}; <span style="color: blue">int </span><span style="color: #010001">_tmain</span>(<span style="color: blue">int </span><span style="color: #010001">argc</span>, <span style="color: #010001">_TCHAR</span>* <span style="color: #010001">argv</span>[]) { <span style="color: #010001">printf</span>( <span style="color: #a31515">"sizeof Struct__declspec_1 is %d.\n"</span>, <span style="color: blue">sizeof</span>( <span style="color: #010001">Struct__declspec_1 </span>)); <span style="color: green">//32 </span><span style="color: #010001">printf</span>( <span style="color: #a31515">"sizeof Struct__declspec_2 is %d.\n"</span>, <span style="color: blue">sizeof</span>( <span style="color: #010001">Struct__declspec_2 </span>)); <span style="color: green">//64 </span><span style="color: #010001">printf</span>( <span style="color: #a31515">"sizeof Struct__declspec_3 is %d.\n"</span>, <span style="color: blue">sizeof</span>( <span style="color: #010001">Struct__declspec_3 </span>)); <span style="color: green">//16 </span><span style="color: #010001">printf</span>( <span style="color: #a31515">"sizeof Struct__declspec_4 is %d.\n"</span>, <span style="color: blue">sizeof</span>( <span style="color: #010001">Struct__declspec_4 </span>)); <span style="color: green">//8 </span><span style="color: #010001">printf</span>( <span style="color: #a31515">"sizeof StructNormal is %d.\n"</span>, <span style="color: blue">sizeof</span>( <span style="color: #010001">StructNormal </span>)); <span style="color: green">//12 </span><span style="color: blue">return </span>0; } </pre><img src ="http://www.shnenglu.com/mymsdn/aggbug/121059.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/mymsdn/" target="_blank">volnet</a> 2010-07-22 20:46 <a href="http://www.shnenglu.com/mymsdn/archive/2010/07/22/121059.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>[C++]鍐呭瓨綆$悊錛?錛?/title><link>http://www.shnenglu.com/mymsdn/archive/2010/07/06/memory_manager-1.html</link><dc:creator>volnet</dc:creator><author>volnet</author><pubDate>Tue, 06 Jul 2010 14:45:00 GMT</pubDate><guid>http://www.shnenglu.com/mymsdn/archive/2010/07/06/memory_manager-1.html</guid><wfw:comment>http://www.shnenglu.com/mymsdn/comments/119492.html</wfw:comment><comments>http://www.shnenglu.com/mymsdn/archive/2010/07/06/memory_manager-1.html#Feedback</comments><slash:comments>17</slash:comments><wfw:commentRss>http://www.shnenglu.com/mymsdn/comments/commentRss/119492.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/mymsdn/services/trackbacks/119492.html</trackback:ping><description><![CDATA[     鎽樿: 鍜屽ぇ澶氭暟鍐呭瓨綆$悊鐨勫垵琛蜂竴鑷達紝甯屾湜鑳藉鎺у埗鍐呭瓨鍒嗛厤鍜屽洖鏀訛紝鍑忓皯鍐呭瓨紕庣墖錛屼笖閫氬父榪欐牱鐨勫唴瀛橀兘浼氶寮涓孌佃繛緇唴瀛樼┖闂達紝鐒跺悗鎴戜滑鑷繁鏉ョ鐞嗚繖孌靛唴瀛樸傚綋鐒墮氬父榪欐牱鐨勯渶姹傞兘寰堝悎鐞嗭紝浣嗘槸瀹炵幇璧鋒潵鍒欓氬父涓嶈兘瀹岀編錛屾瘮濡傦細鏁堢巼銆佺畻娉曠殑閫夋嫨銆佸浣曞噺灝戝唴瀛樼鐗囥佽窡韙鐞嗗唴瀛樺垎閰嶃佹ц兘媯嫻嬨佸緋葷粺鍐呭瓨浣跨敤鐨勭粺璁°佸瀮鍦懼洖鏀剁瓑銆備笅闈㈡槸鎴戣繎鏈熷疄鐜扮殑涓涓潪甯哥畝闄嬬殑紼嬪簭錛岀敋鑷沖彲鑳借繛鍩烘湰鐨勮姹傞兘鏃犳硶杈懼埌錛屽ぇ瀹跺府蹇欑湅鐪嬶紝瀹冪┒绔熸湁澶氬皯緙虹偣...  <a href='http://www.shnenglu.com/mymsdn/archive/2010/07/06/memory_manager-1.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/mymsdn/aggbug/119492.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/mymsdn/" target="_blank">volnet</a> 2010-07-06 22:45 <a href="http://www.shnenglu.com/mymsdn/archive/2010/07/06/memory_manager-1.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.shnenglu.com/" title="精品视频久久久久">精品视频久久久久</a> <div class="friend-links"> </div> </div> </footer> <a href="http://www.76288.com.cn" target="_blank">久久精品国产99国产电影网</a>| <a href="http://www.yzzdj.cn" target="_blank">热久久视久久精品18</a>| <a href="http://www.ajchugui.cn" target="_blank">久久精品国产清高在天天线</a>| <a href="http://www.liess.cn" target="_blank">日本福利片国产午夜久久</a>| <a href="http://www.etnz.cn" target="_blank">国产精品伦理久久久久久</a>| <a href="http://www.huakuyaow.cn" target="_blank">性高湖久久久久久久久AAAAA</a>| <a href="http://www.lozhun.cn" target="_blank">亚洲日韩欧美一区久久久久我 </a>| <a href="http://www.wz65.cn" target="_blank">伊人色综合久久天天网</a>| <a href="http://www.baby-photo.com.cn" target="_blank">久久人人爽人人爽人人爽</a>| <a href="http://www.837666.cn" target="_blank">久久久久亚洲av无码专区</a>| <a href="http://www.timng.cn" target="_blank">久久精品国产亚洲一区二区三区</a>| <a href="http://www.qinhaichang.cn" target="_blank">三级韩国一区久久二区综合</a>| <a href="http://www.haoking.cn" target="_blank">精品熟女少妇a∨免费久久</a>| <a href="http://www.xs258.cn" target="_blank">亚洲国产精品一区二区三区久久</a>| <a href="http://www.ctihf.com.cn" target="_blank">欧美va久久久噜噜噜久久</a>| <a href="http://www.trgba.cn" target="_blank">蜜臀久久99精品久久久久久</a>| <a href="http://www.tjjxqc.cn" target="_blank">国产精品久久久久…</a>| <a href="http://www.xh68.cn" target="_blank">亚洲国产精品18久久久久久</a>| <a href="http://www.cqxy168.cn" target="_blank">久久国产精品视频</a>| <a href="http://www.lidonsj.cn" target="_blank">99久久人妻无码精品系列</a>| <a href="http://www.fiyhigh.com.cn" target="_blank">日本五月天婷久久网站</a>| <a href="http://www.jn249.cn" target="_blank">久久久久99精品成人片三人毛片</a>| <a href="http://www.tvauto.cn" target="_blank">精品久久久久久成人AV</a>| <a href="http://www.shantiee.cn" target="_blank">久久九九兔免费精品6</a>| <a href="http://www.662z.cn" target="_blank">伊人久久大香线蕉成人</a>| <a href="http://www.ojl4q.cn" target="_blank">久久影院午夜理论片无码</a>| <a href="http://www.rainbow-city.cn" target="_blank">欧美综合天天夜夜久久</a>| <a href="http://www.vqsg.cn" target="_blank">久久久精品一区二区三区</a>| <a href="http://www.9746.com.cn" target="_blank">久久综合噜噜激激的五月天</a>| <a href="http://www.aamih.cn" target="_blank">亚洲国产欧美国产综合久久</a>| <a href="http://www.92loc.cn" target="_blank">四虎国产精品成人免费久久</a>| <a href="http://www.jianzhuhr.net.cn" target="_blank">国产精品免费久久久久电影网</a>| <a href="http://www.85062.com.cn" target="_blank">久久99国产综合精品女同</a>| <a href="http://www.csmfy.cn" target="_blank">一本一本久久A久久综合精品</a>| <a href="http://www.nba592.cn" target="_blank">午夜精品久久久久久影视riav</a>| <a href="http://www.dlwz8.cn" target="_blank">久久99久久无码毛片一区二区</a>| <a href="http://www.fjprxr.cn" target="_blank">天天久久狠狠色综合</a>| <a href="http://www.jxlbw.cn" target="_blank">久久国产高清一区二区三区</a>| <a href="http://www.ffcchh.com.cn" target="_blank">精品久久久久久无码免费</a>| <a href="http://www.designelite.com.cn" target="_blank">伊人久久综在合线亚洲2019</a>| <a href="http://www.52yydy.cn" target="_blank">国产69精品久久久久9999</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>