PC閫嗗悜涔嬩唬鐮佽繕鍘熸妧鏈?绗竴璁插熀鏈暟鎹被鍨嬪湪鍐呭瓨涓殑琛ㄧ幇褰㈠紡.娴偣,鎸囬拡瀵诲潃鍏紡

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PC閫嗗悜涔嬩唬鐮佽繕鍘熸妧鏈?绗竴璁插熀鏈暟鎹被鍨嬪湪鍐呭瓨涓殑琛ㄧ幇褰㈠紡.娴偣,鎸囬拡瀵诲潃鍏紡相关的知识,希望对你有一定的参考价值。

鏍囩锛?a href='http://www.mamicode.com/so/1/%e4%bb%80%e4%b9%88%e4%bb%80%e4%b9%88' title='浠€涔堜粈涔?>浠€涔堜粈涔?/a>   鏇存敼   杞欢   鍔熻兘   鎿嶄綔   鍘熸潵   ble   琛ョ爜   鎸囦护   

鐩綍

涓€涓剁畝浠嬩唬鐮佽繕鍘?/h2>
  • 渚嬪瓙涓€:鎴戜滑寰堝浜洪兘瀛︿範杩囨眹缂?浣嗘槸姹囩紪鐨勬牳蹇冪煡璇嗗氨鏄垜鑳界湅鐨勬噦.鏈変汉鎷挎眹缂栧幓鍋氬鎸?姣斿鎴戝幓杩藉亸绉?鐪嬬潃瑙嗛鍘诲仛.鐒跺悗鎹竴涓父鎴忎緷鐒惰繖鏍?浣嗘槸缁堟湁涓€澶?浣犲彲鑳藉彂鐜版病鎰忔€濅簡.鍥犱负杩欎簺鐭ヨ瘑閮芥槸姝荤殑.姣斿鎴戜滑鎯崇湅娓告垙涓?杩欐浠g爜鍋氫簡浠€涔堜簨鎯?杩欎釜鏃跺€欏氨闇€瑕佸皢姹囩紪杞负楂樼骇浠g爜鏌ョ湅浜? IDA鐨凢5鎻掍欢.涓€鑸兘鍋氬埌.浣嗘槸寰堝鏄仛涓嶅埌鐨? 姣斿娓告垙涓?杩欐浠g爜浣犳壘鍒颁竴涓璞?澶氬皯鍋忕Щ鏄粈涔堜粈涔堝姛鑳?浣嗘槸浼氶€嗗悜鐨勪汉.杩欐浠g爜鎶犲嚭鏉?杞负楂樼骇浠g爜.涓€鐪?鍘熸潵杩欎釜鎰忔€?+澶氬皯鏄粈涔堜綔鐢?鍙﹀杩樺疄鐜颁簡浠€涔堝姛鑳?杩欎釜灏辨槸鏍稿績鎶€鏈簡.涓轰粈涔堝埆浜虹殑澶栨寕鍔熻兘姣旇緝澶?浣犵殑姣旇緝灏?鍏舵牳蹇冨氨鍦ㄨ繖閲?
  • 渚嬪瓙浜?绠楁硶閫嗗悜,濡備竴涓蒋浠?璁╀綘杩藉嚭娉ㄥ唽鐮?浣犲彲鑳藉氨鐖嗙牬.浣嗘槸濡傛灉浣犺兘鎶婂畠绠楁硶閫嗗嚭鏉?閭d箞鏄笉鏄涓€鎻愬崌浜嗚嚜宸?绗簩,鑷繁鍙互鍐欐敞鍐屾満涓撻棬涓鸿繖涓▼搴忕敓鎴愭敞鍐岀爜浜?
  • 渚嬪瓙涓? 濡傛灉浣犳槸涓哄叕鍙稿伐浣?鍙兘鏌愪竴澶?鍏徃闇€瑕佷綘杩涜閫嗗悜.鍙戠幇xx杞欢鐨勪竴涓姛鑳芥瘮杈冨ソ.姝ゆ椂浣犻渶瑕佹€庝箞鍔?瀹屾暣鐨勬牴鎹眹缂栧幓閫嗗悜鍑烘潵杩欎釜鍔熻兘.骞朵笖璁╁叕鍙稿幓鍋氬嚭杩欎釜鍔熻兘.杩欎釜涔熸槸涓€涓緢濂界殑渚嬪瓙.

浜屼付浠g爜杩樺師涓殑鏁版嵁绫诲瀷琛ㄧ幇褰㈠紡

涓婇潰璇翠簡寰堝浜?閭d箞鐪熸鐨勫紑濮嬬瘒骞呰瑙?

1.鏁存暟绫诲瀷

C++涓暣鏁扮殑鍩烘湰鏁版嵁绫诲瀷鏈変笁绉? int long short. 鍦?VC6.0涓?int long鎵€鍗犲唴瀛橀兘鏄?瀛楄妭.
short涓や釜瀛楄妭. 浠?6杩涘埗涓轰緥 int long 鍒嗗埆灏辨槸4涓瓧鑺? short涓や釜瀛楄妭. 涓€涓瓧鑺傛槸8浣?

3.鏈夌鍙锋暣鏁?/h3>

鏈夌鍙锋暣鏁拌窡涓婇潰鏃犵鍙锋暣鏁颁竴鏍?鍙笉杩囬珮浣嶇敤鏉ヨ〃绀虹鍙蜂綅,鍏朵綑浣庝綅琛ㄧず鏁板€?杩欐牱鏈夌鍙风殑鏁存暟.琛ㄧず鐨勬暟鍊煎氨鍙湁31浣嶄簡.鑼冨洿鍒欐槸 0x80000000~0x7FFFFFFF 杞负鍗佽繘鍒? -2147483648~ 2147483647
鍥犱负鏈€楂樹綅鏄鍙蜂綅,鍙互琛ㄧず 璐熸暟. 渚嬪 -3
鍦ㄥ唴瀛樹腑璐熸暟閮芥槸琛ョ爜褰㈠紡琛ㄧず鐨?/p>

琛ョ爜瑙勫垯: 琛ョ爜瑙勫垯鍒欐槸鐢? - 鍘昏繖涓暟鐨勭粷瀵瑰€?/code>

渚嬪: 0 - 3 鐨勭粨鏋滃氨鏄?-3鍦ㄥ唴瀛樹腑鐨勮〃鐜板舰寮?
鍥犱负琛ョ爜楂樹綅涓?,瑕佽浆涓虹湡鍊间篃鏄?0 - 琛ョ爜鐨勫舰寮? 浣嗘槸涓€鑸绠楁満璁$畻鐨勮瘽,閫氬父閮芥槸鐢ㄨˉ鐮佸彇鍙?1杩涜鑾峰緱鐪熷€? 鍓嶈竟甯︿笂绗﹀彿鍗冲彲.

涓轰粈涔堣礋鏁板彇鍊兼€绘瘮鏁存暟鍙栧€煎涓€涓€?
渚嬪濡備笂:
-2147483648~2147483647
鍘熷洜:
瀵逛簬鍥涗釜瀛楄妭琛ョ爜 0x80000000 浠h〃鐨勬槸-0. 浣嗘槸瀵逛簬0鏉ヨ. 姝h礋鍖哄垎娌″繀瑕?鎵€浠?x800000000瑙勫畾浜嗗氨鏄?瀛楄妭琛ョ爜鏈€灏忓€间簡.鎵€浠ヨ繖涔熸槸璐熸暟姣旀鏁板涓€浣嶇殑鍘熷洜.

5.娴偣缂栫爜

  • 娴偣缂栫爜杞崲.
    鎴戜滑涓婇潰璇翠簡,娴偣鏁版槸閲嶆柊杩涜缂栫爜杩涜瀛樺偍鐨?鎵€浠ユ垜浠彧瑕佹悶鏄庣櫧浜嗙紪鐮?閭d箞灏卞彲浠ヨ嚜宸辩畻鍑烘诞鐐规暟鍦ㄥ唴瀛樹腑鎬庝箞琛ㄧず.鎴栬€呭弽杞洖鏉?16杩涘埗鎬庝箞杞崲涓烘诞鐐规暟
  • 娴偣缂栫爜閲囩敤鐨勬槸 IEEE瑙勫畾鐨勭紪鐮?
    float double杞崲鏂瑰紡涓€鏍? 閮芥槸鍥犱负琛ㄧず鑼冨洿涓嶄竴鏍?鎵€浠ョ紪鐮佹柟寮忔湁浜涚壒鍒?
  • 1.娴偣缂栫爜鐨勭紪鐮佹柟寮?br> 娴偣缂栫爜,浼氬皢涓€涓诞鐐规暟杞负浜岃繘鍒舵暟.浠ョ瀛﹁鏁版硶杩涜鍖哄垎.鍒嗕负涓夐儴鍒?br> 1.绗﹀彿鍩?br> 2.鎸囨暟鍩?br> 3.灏炬暟鍩?br> 濡備笅鍥炬墍绀?
    鎶€鏈垎浜浘鐗? src=

鏈€楂樹綅鏄鍙蜂綅,琛ㄧず姝h礋
鍘绘帀绗﹀彿浣嶅線鍚庢暟8浣?鏄寚鏁板煙.
鏈€鍚庣殑23浣嶅垯琛ㄧず灏炬暟.

1.姝f暟娴偣杞负鍗佸叚杩涘埗琛ㄧず

  • 2.娴偣鏁拌浆涓?6杩涘埗瀛樺偍
    鐜板湪鎴戜滑瑕佹妸娴偣鏁拌浆涓哄崄鍏繘鍒跺瓨鍌ㄥ湪鍐呭瓨閲?杞崲姝ラ
    1.灏嗕竴涓诞鐐规暟杞寲涓轰簩杩涘埗

    渚嬪:12.25 杞负2杩涘埗 = 1100.01
    鏁存暟鐩存帴杞负浜岃繘鍒跺嵆鍙? 灏忔暟涓嶆柇 * 2 鍙栨暣.
    渚嬪: 0.25
    0.25 * 2 = 0.5 鍙栨暣 = 0
    0.5 * 2 = 1.0 鍙栨暣灏辨槸1
    鎵€鏈?2.25 杞负浜岃繘鍒惰〃绀哄氨鏄?1100.01

2.璁$畻鎸囨暟浣?br> 璁$畻鎸囨暟浣嶉鍏堢Щ鍔ㄥ皬鏁扮偣浣嶇疆鍒扮鍙蜂綅缃櫎鏈€楂樹綅涓?鐨勫湴鏂?
涔熷氨鏄鍙蜂綅涔熷ソ.涓嶆槸绗﹀彿浣嶄篃濂?绉诲姩鍒版渶楂樹綅涓?鐨勫湴鏂? 7.25 杞崲涔嬪悗鏄?br> 0111.01 绉诲姩鍒版渶楂樹綅鍒欐槸 1.1101.

1100.01 绉诲姩 1.10001 鎬诲叡绉诲姩浜?浣?姣忔绉诲姩涓€浣?鎸囨暟+1
鍥犱负鎸囨暟涓虹Щ鍔ㄤ簡涓変綅.鎵€浠?3 + 127(8浣? = 130 杞负浜岃繘鍒?10000010 杩欎釜灏辨槸鎸囨暟浣?
涔熷氨鏄笂鍥句腑鎵€璇寸殑绗﹀彿浣嶅悗闈㈡暟8浣嶆槸鎸囨暟浣? 鎴戜滑涓婅竟璁$畻鐨勫氨鏄寚鏁颁綅鐨勫€?
涓轰粈涔?+127.鍥犱负鍙兘浼氬嚭鐜拌礋鏁?鍗佽繘鍒?27鍙互琛ㄧず浜岃繘鍒剁殑01111111. IEEE娴偣缂栫爜瑙勫畾
褰撴寚鏁板煙< 0111111鐨勬椂鍊?灏辨槸涓€涓礋鏁?濡傛灉澶т簬01111111鐨勬椂鍊欏氨鏄竴涓鏁? 鎵€浠?1111111涓?. IEEE娴偣缂栫爜瑙勫畾鐨?鎵€浠ュ彧瑕佽浣忓嵆鍙? 127鍗冲彲. 涔熷彲浠ョ悊瑙d负鎸囨暟鍩熸槸8浣?琛ㄧず鐨勬暟鍊兼槸128.浣咺EE瑙勫畾浜?鎵€浠?1 鎸囨暟鏈€澶у€?- 1鍗冲彲.

3.璁$畻灏炬暟浣?br> 缁忚繃涓婇潰璁$畻鎴戜滑绗﹀彿鏄?,浣嗘槸绗﹀彿浣嶅熀鏈笉鍙?鍥犱负鏄鏁版诞鐐?鎵€浠ョ鍙蜂綅涓?:
鎸囨暟浣嶄负: 130 10000010
鐜板湪璁$畻灏炬暟浣? 灏炬暟浣嶅氨鏄垜浠Щ鍔ㄥ皬鏁扮偣涔嬪悗鐨勬暟鍊?/p>

1.10001 灏炬暟浣嶅氨鏄?10001,浣嗘槸浠栦笉缁?3浣?鎵€浠ユ垜浠ˉ0濉厖.

1000 1000 0000 0000 0000 000 琛?涔嬪悗,鎴戜滑闇€瑕佷粠宸﹀埌鍙?鎸夌収4涓瓧鑺傚垎寮€
100 0100 0000 0000 0000 0000 鍒嗗紑涔嬪悗.
姝ゆ椂鍔犱笂鎴戜滑涔嬪墠鐨勭鍙蜂綅浠ュ強鎸囨暟浣?/p>

0100 0001 0100 0100 0000 0000 0000 0000 杩欐槸鎷兼帴濂界殑.鎴戜滑杞崲涓?6杩涘埗杩涜瀛樺偍
0x41440000 閭d箞鍦ㄥ唴瀛樹腑,鎴戜滑鐨勬诞鐐规暟12.25 鍏跺疄灏辨槸16杩涘埗 0x41 44 00 00 杩涜瀛樺偍鐨?
鎶€鏈垎浜浘鐗? src=

2.璐熸暟娴偣杞负鍗佸叚杩涘埗琛ㄧず.

璐熸暟璺熶笂杈逛竴鏍?涓€鏍疯绠楁寚鏁颁綅.涔熸槸鍒嗕负浠ヤ笅姝ラ
1.杞负绉戝璁℃暟娉?
2.绉诲姩鎸囨暟浣?
3.璁$畻鎸囨暟浣?br> 4.灏炬暟浣嶈ˉ闆跺埌23浣?
5.鎷兼帴杩涜浜岃繘鍒?骞朵笖浜岃繘鍒惰浆涓?6杩涘埗.

1.杞负绉戝璁℃暟娉?br> -0.125 = 0.001
2.绉诲姩鎸囨暟浣?br> 姝ゆ椂绉诲姩鎸囨暟浣嶆槸寰€灏忔暟鐐瑰彸杈圭Щ鍔?绉诲姩鍒版渶楂樹綅涓?鐨勫湴鏂?
0.001 =>1.0 绉诲姩浜嗕笁浣?璁$畻 -3. 寰€鍙宠竟绉诲姩灏辨槸璐熸暟
1.0 鍒欑鍙蜂綅鏄?浠h〃璐熸暟. 鎸囨暟浣嶆槸璐熸暟.

3.璁$畻鎸囨暟浣?
涓婇潰鎴戜滑璁$畻鎸囨暟浣嶆槸寰€灏忔暟鐐瑰乏杈圭Щ鍔?鎵€浠ユ寚鏁颁綅鍘荤浉鍔?鐜板湪鏄線鍙宠竟绉诲姩.鎵€浠ョ浉鍑?br> 127-3 = 124 杞负浜岃繘鍒?= 01111100
4.灏炬暟浣嶈ˉ闆?br> 0000 0000 0000 0000 0000 000
5.绗﹀彿浣?鎸囨暟浣?灏炬暟浣?杩涜鎷兼帴

1011 1110 0000 0000 0000 0000 0000 0000 (鎬诲叡32浣?
杞负16杩涘埗
0xBE00 0000
鎵€浠?0.125 鍦ㄥ唴瀛樹腑鐨?6杩涘埗鍒欐槸 0xBE000000

4.Double绫诲瀷瑙f瀽.

double绫诲瀷杞崲璺焒loat涓€鏍?鍙笉杩囨寚鏁颁綅鍙樻垚浜?1浣? 鍓╀綑鐨?2浣嶈〃绀哄熬鏁颁綅.

2~11娆℃柟 - 1;灏辨槸鐢ㄤ簬璁$畻鐨勬寚鏁?涔熷氨鏄?1023.

涓変付娴偣姹囩紪

2.娴偣姹囩紪

閽堝鍗忓鐞嗗櫒.涔熸彁渚涚殑鐩稿簲鐨勬眹缂栬繘琛屾搷浣?
鍒嗗埆鏄?fld绫绘寚浠?fst 鎸囦护. 浠ュ強 fcom fadd绛夋寚浠?br> 閮芥槸澶у啓

  • 鍘嬫爤鎸囦护
    FLD IN 灏嗘诞鐐规暟IN 鍘嬪叆娴偣鏍?br> FILD IN 灏嗘暣鏁板帇鍏ユ诞鐐规爤 mem32/64 80
    FLDZ 榛樿鍘嬪叆0,娴偣鏍堟槸0
  • 鍑烘爤鎸囦护
    FST OUT 灏嗘诞鐐规爤椤?st(0))鐨勫€肩粰OUT瀛樺偍. out鍙互鏄?mem32/64,浣嗘槸涓嶅嚭鏍?br> FSTP OUT 鍚孎ST out淇濆瓨鍊?浣嗘槸浼氬嚭鏍?
    FISTP OUT 鍑烘爤,骞朵笖浠ユ暣鏁扮殑褰㈠紡缁橭UT瀛樺偍.

  • 鏍堟瘮杈?br> 涔熷彲浠ヨ繘琛屾爤涓殑鍊兼瘮杈?鐢ㄦ潵鏇存敼鏍囧織浣?
    FCOM IN 灏咺N鍦板潃鐨勫唴瀹?涓庢诞鐐规爤椤舵瘮杈?st(0));
    FTST 姣旇緝鏍堥《(st(0)); 鏄惁涓虹┖.
  • 娴偣鍔犳硶
    FADD IN 灏哠t(0)鐨勬暟鎹簬in鍋氬姞娉? 鍊间繚瀛樺湪 鏍堥《st(0);涓?
    FADDP st(N),st 灏唖t(n)鏍堜腑鐨勬暟鎹簬st(0)涓殑鏁版嵁杩涜杩愮畻.娴偣鏍堟湁7涓?閭d箞N鐨勫彇鍊煎氨鏄?~7;
    鍏堟墽琛屼竴娆″嚭鏍堝啲鏋?鐒跺悗鐩稿姞缁撴灉鏀惧湪 st(0)涓瓨鍌?

3.浣跨敤鍐呰仈娴偣姹囩紪瀹炵幇鍔犳硶

  • 娴偣鍋氬姞娉?/li>
int main(int argc, char* argv[])
{
    float a = 11.25;
    float c = 12.35;
    float d = 13.25f;
    float b = 0.0f;
    __asm{
        fld dword ptr[ebp - 0x4];
        fld dword ptr[ebp - 0x8];
        fld dword ptr[ebp - 0xc];
        faddp st(1),st(0)
        fstp  dword ptr[ebp - 0x10];
    }
    printf("%f 
",b);
    
    return 0; 
}

瀹炵幇缁撴灉:
鎶€鏈垎浜浘鐗? src=

  • 娴偣鍋氳繑鍥炲€?/li>
float GetFloatValue()
{   
    return 12.25f;

}
int main(int argc, char* argv[])
{
    int value = GetFloatValue();
    
    return 0; 
}

瑙傜湅姹囩紪,姹囩紪鍒嗕负涓ゅ眰.涓€灞傛槸璋冪敤鍐?涓€灞傛槸璋冪敤澶?
璋冪敤鍐? 涔熷氨鏄疓etFloatValue()鍑芥暟鍐呴儴.

   push        ebp
   mov         ebp,esp
   sub         esp,40h
   push        ebx
   push        esi
   push        edi
   lea         edi,[ebp-40h]
   mov         ecx,10h
   mov         eax,0CCCCCCCCh
   rep stos    dword ptr [edi]
   fld         dword ptr [[email protected]@4002c400000000000000 (00423fd0)]

涓昏鐪嬫渶鍚庝竴鏍? fld 鍐呭瓨鐨勫€? 鍏跺疄灏辨槸鎶婃垜浠殑娴偣鏁拌浆涓篒EE缂栫爜.鏀惧埌鍐呭瓨涓?
鍏跺疄灏辨槸鏀惧埌鍐呭瓨涓?

澶栧眰璋冪敤: 灏辨槸璋冪敤瀹屾瘯涔嬪悗.

0040EB1D   call        __ftol (004010ec)
0040EB22   mov         dword ptr [ebp-4],eax

璋冪敤瀹屾瘯涔嬪悗,浼氫娇鐢?_ftol. 娴偣鏁拌浆涓烘暣鏁拌繘琛岃浆鍖?涓嬮潰鐨勮繑鍥炲€兼斁鍒版垜浠殑灞€閮ㄥ彉閲忎腑
鎵€浠ヤ互鍚庣湅鍒拌繖鏍锋搷浣?鎴戜滑灏辫鏄庣櫧. 杩斿洖鍊兼槸float鎴栬€卍ouble绫诲瀷.杩涜浜嗚浆鎹?
_ftol鍐呴儴

004010EC   push        ebp
004010ED   mov         ebp,esp
004010EF   add         esp,0F4h
;娴偣寮傚父妫€鏌?004010F2   wait
004010F3   fnstcw      word ptr [ebp-2]
004010F6   wait
004010F7   mov         ax,word ptr [ebp-2]
004010FB   or          ah,0Ch
004010FE   mov         word ptr [ebp-4],ax
00401102   fldcw       word ptr [ebp-4]
;浠巗tr(0)涓彇鍑哄叓涓瓧鑺傛斁鍒板眬閮ㄥ彉閲?ebp -och涓? 鎵€浠ュ悗闈㈡槸qword ptr浠h〃8涓瓧鑺?
;灏唖t(0);浠庢爤涓脊鍑?
00401105   fistp       qword ptr [ebp-0Ch]
00401108   fldcw       word ptr [ebp-2]
;涓嬫柟 eax edx鍚岀敤,eax淇濆瓨4瀛楄妭鐨勬暣鏁伴儴鍒? edx鍒欎繚瀛樺皬鏁伴儴鍒?
0040110B   mov         eax,dword ptr [ebp-0Ch]
0040110E   mov         edx,dword ptr [ebp-8]
骞冲睍杩斿洖.
00401111   leave
00401112   ret

鍐呴儴鍒欐槸杩涜娴偣杞寲.姣旇緝绛夌瓑.

鍥涗付甯冨皵绫诲瀷

甯冨皵绫诲瀷灏辨槸0 璺?1 琛ㄧず.鍦ㄥ唴瀛樹腑灏辨槸杩欐牱鐨勮〃绀哄舰寮? 0灏辨槸 false 1灏辨槸true

鍦板潃涓舵寚閽堜付寮曠敤琛ㄨ揪褰㈠紡

  • 鍦板潃
    鍦–++涓?浣跨敤鍦板潃闇€瑕佷娇鐢?amp;鍙栧湴鍧€绗﹀彿. 鍙栦竴涓彉閲忔墍鍦ㄧ殑鍐呭瓨鍦板潃.
  • 鎸囬拡
    鎸囬拡鐨勬湰璐ㄥ氨鏄瓨鍌ㄥ湴鍧€鐨?鍙笉杩囨湁绫诲瀷涓€璇?琛ㄧず鎴戝凡浠€涔堟柟寮忓瓨鍌ㄨ繖涓湴鍧€. 姣斿
    char szBuff[10] = {1,2,3...};
    char sz = szBuffer; 閭d箞sz淇濆瓨鐨勬槸szBuffer鐨勫湴鍧€.鍙笉杩嘺鎸夌収1涓瓧鑺傝В閲?
    姣斿 sz++,鍥犱负鏄痗har绫诲瀷.鎵€浠ュ湴鍧€灏辨槸+1, 濡傛灉鏄痠nt绫诲瀷瑙i噴+1灏辨槸+4涓瓧鑺?
    濡傛灉瀵瑰叾鍘诲唴瀹?
    sz閭d箞姝ゆ椂鐨勫€兼槸2.鍥犱负鏄痗har 绫诲瀷瑙i噴鐨勫湴鍧€ sz++ sz灏辨槸3
  • 寮曠敤
    鍦–++涓?鍒涘缓寮曠敤 TYPE & a = szBuffer; 鍒涘缓寮曠敤鐨勬椂鍊欏繀椤荤粰鍙橀噺缁欏垵濮嬪寲.
    鏈川灏辨槸涓€涓彉閲忕殑鍒悕.鍦ㄥ唴瀛樹腑鍏跺疄灏辨槸瀵瑰湴鍧€ 鍙栧唴瀹圭殑鎿嶄綔.

    1.鎸囬拡鐨勫鍧€鏂瑰紡

    鍏充簬鎸囬拡.鎴戜滑璇磋繃鏈変笉鍚岀殑琛ㄨ揪褰㈠紡. 渚嬪 BYTE * short ...
    鍥犱负鎸囬拡鏈変笉鍚岀殑琛ㄨ揪褰㈠紡.鎵€浠ヨ嚜澧炶嚜鍑忛兘浼氫骇鐢熷亸绉昏绠?
    渚嬪:
    mov eax,byte ptr[ebp - 0xc];
    mov ebx,byte ptr[ebp - 0xb];
    mov ecx,byte ptr[ebp - 0xa];
    ....
    鎵€浠ユ垜浠彲浠ユ€荤粨涓€鏉″鍧€鍏紡
    鐩殑鍦板潃 = 棣栧湴鍧€ + sizeof(type)
    n鐨勫€?

鐩殑鍦板潃灏辨槸鎴戜滑瑕佽繘琛屽鍧€鐩殑.
sizeof(type) 灏辨槸浣犵殑鏁版嵁绫诲瀷澶у皬
n鐨勫€煎氨鏄綘鐨勫亸绉婚噺.
渚嬪涓€涓暟缁?
char szBuf[10] = {1,2...7,8,9,10};
鎴戜滑鎯宠寰楀埌涓嬫爣涓?鐨勪綅缃殑鐨勫€兼€庝箞鑾峰緱.
楂樼骇浠g爜: int a = szbuf[8];瀹屼簡.
鍥犱负鏈夊叕寮?鎴戜滑鍙互涓嶇敤杩欐牱鍐?
鍐欐垚濡備笅:
鐩殑鍦板潃 = 棣栧湴鍧€ + sizeof(type) *n; 濂楀叕寮?/p>

szbuffer = szbuffer + sizeof(char) * 8;
姝ゆ椂szBuffer鐨勫湴鍧€灏辨槸鎸囧悜鏁扮粍涓嬭〃涓?鐨勪綅缃?鎴戜滑瀵瑰叾鍙栧唴瀹瑰嵆鍙幏鍙栧叾鍊?

int main(int argc, char* argv[])
{
    char szBuf[10] = {1,2,3,4,5,6,7,8,9,10};
    char *dst = szBuf + sizeof(char) * 8;
    printf("Value = %d
",*dst);
    system("pause");
    
    return 0; 
}

鎶€鏈垎浜浘鐗? src=

以上是关于PC閫嗗悜涔嬩唬鐮佽繕鍘熸妧鏈?绗竴璁插熀鏈暟鎹被鍨嬪湪鍐呭瓨涓殑琛ㄧ幇褰㈠紡.娴偣,鎸囬拡瀵诲潃鍏紡的主要内容,如果未能解决你的问题,请参考以下文章

GitHub 鍏ㄩ儴婧愪唬鐮佽娉勯湶锛孴ypeScript 鐨勫紑鍙戣€呰川鐤戞墭绠℃湇鍔$殑瀹夊叏鎬э紒

瓒e浘 | 涓€涓彁楂樹唬鐮佽川閲忕殑缁濆鏂规硶

浜戝師鐢熸妧鏈細楂樺彲鐢↘ubernetes闆嗙兢

绗叓璇?绗簩璁?08_02_bash鑴氭湰缂栫▼涔嬩竷 case璇彞鍙婅剼鏈€夐」杩涢樁

200琛孞S浠g爜锛屽甫浣犲疄鐜板井鍨嬩唬鐮佺紪璇戝櫒锛堜汉浜洪兘鑳藉浼氾級