锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品国产馆在线真实露脸,亚洲国产另类久久精品,在线欧美三区http://www.shnenglu.com/saga/archive/2007/12/22/39281.htmlsaga.constantinesaga.constantineSat, 22 Dec 2007 07:47:00 GMThttp://www.shnenglu.com/saga/archive/2007/12/22/39281.htmlhttp://www.shnenglu.com/saga/comments/39281.htmlhttp://www.shnenglu.com/saga/archive/2007/12/22/39281.html#Feedback2http://www.shnenglu.com/saga/comments/commentRss/39281.htmlhttp://www.shnenglu.com/saga/services/trackbacks/39281.html
hardcode----紜紪鐮併?br>鎵璋撶‖緙栫爜錛宧ardcode錛屽氨鏄妸涓涓湰鏉ュ簲璇ワ紙鍙互錛夊啓鍒伴厤緗俊鎭腑鐨勪俊鎭洿鎺ュ湪紼嬪簭浠g爜涓啓姝諱簡銆? 
   
  渚嬪錛屽啓浜嗕竴涓敹鍙戦偖浠剁殑紼嬪簭錛岀敤鎴峰悕錛屽瘑鐮侊紝鏈嶅姟鍣ㄥ湴鍧絳夋渶濂藉仛鎴愬閮ㄩ厤緗紝  
  浣嗘槸濡傛灉鐩存帴鍐欐鍦ㄧ▼搴忎唬鐮佷腑錛屾瘡嬈℃敼淇℃伅鏃墮渶瑕侀噸鏂扮紪璇戜簡……  
   
  榪欑紼嬪簭涓嶅ソ緇存姢銆?nbsp;  
  涓鑸噿鐨勭▼搴忓憳鎴栬呭垵瀛﹁呰繖縐嶇▼搴忎駭閲忚緝澶с?br>
      

鍦ㄨ綆楁満紼嬪簭鎴栨枃鏈紪杈戜腑錛宧ardcode(榪欎釜璇嶆瘮hard code鐢ㄨ搗鏉ヨ棰戠箒涓浜?鏄寚灝嗗彲鍙樺彉閲忕敤涓涓浐瀹氬兼潵浠f浛鐨勬柟娉曘傜敤榪欑鏂規硶緙栬瘧鍚庯紝濡傛灉浠ュ悗闇瑕佹洿鏀規鍙橀噺灝遍潪甯稿洶闅句簡銆傚ぇ閮ㄥ垎紼嬪簭璇█閲岋紝鍙互灝嗕竴涓浐瀹氭暟鍊煎畾涔変負涓涓爣璁幫紝鐒跺悗鐢ㄨ繖涓壒孌婃爣璁版潵鍙栦唬鍙橀噺鍚嶇О銆傚綋鏍囪鍚嶇О鏀瑰彉鏃訛紝鍙橀噺鍚嶄笉鍙橈紝榪欐牱錛屽綋閲嶆柊緙栬瘧鏁翠釜紼嬪簭鏃訛紝鎵鏈夊彉閲忛兘涓嶅啀鏄浐瀹氬鹼紝榪欐牱灝辨洿瀹規槗鐨勫疄鐜頒簡鏀瑰彉鍙橀噺鐨勭洰鐨勩傚敖綆¢氳繃緙栬緫鍣ㄧ殑鏌ユ壘鏇挎崲鍔熻兘涔熻兘瀹炵幇鏁翠釜鍙橀噺鍚嶇О鐨勬浛鎹紝浣嗕篃寰堟湁鍙兘鍑虹幇澶氭崲鎴栬呭皯鎹㈢殑鎯呭喌錛岃屽湪璁$畻鏈虹▼搴忎腑錛屼換浣曞皬閿欒鐨勫嚭鐜伴兘鏄笉鍙ザ鎭曠殑銆傛渶濂界殑鏂規硶鏄崟鐙負鍙橀噺鍚嶅垝鍒嗙┖闂達紝鏉ュ疄鐜拌繖縐嶅彉鍖栵紝灝卞鍚屽墠闈㈣鐨勯偅鏍鳳紝灝嗛渶瑕佹敼鍙樼殑鍙橀噺鍚嶆殏鏃剁敤涓涓畾涔夊ソ鐨勬爣璁板悕縐版潵浠f浛灝辨槸涓縐嶅緢濂界殑鏂規硶銆傞氬父鎯呭喌涓嬶紝閮藉簲璇ラ伩鍏嶄嬌鐢╤ardcode鏂規硶銆傘銆

鏈夋椂涔熺敤hardcode鏉ュ艦瀹歸偅浜涢潪甯擱毦瀛︾殑璇█錛屾瘮濡侰鎴栬匔++璇█錛岀浉瀵圭殑錛岀敤softcode鏉ュ艦瀹硅薄VB榪欑被綆鍗曞ソ鐢ㄧ殑紼嬪簭璇█銆?



saga.constantine 2007-12-22 15:47 鍙戣〃璇勮
]]>
[杞澆]windows娑堟伅鍒嗘祦鍣?http://www.shnenglu.com/saga/archive/2007/09/04/31311.htmlsaga.constantinesaga.constantineTue, 04 Sep 2007 05:40:00 GMThttp://www.shnenglu.com/saga/archive/2007/09/04/31311.htmlhttp://www.shnenglu.com/saga/comments/31311.htmlhttp://www.shnenglu.com/saga/archive/2007/09/04/31311.html#Feedback1http://www.shnenglu.com/saga/comments/commentRss/31311.htmlhttp://www.shnenglu.com/saga/services/trackbacks/31311.html鑷繁鐪嬫牳蹇冪紪紼嬶紝瀵規秷鎭垎嫻佸櫒涓嶅お鐞嗚В錛岃繖綃囧啓鐨勪笉閿欙紝鎵浠ヨ漿杞姐?br>鏂囩珷浣滆咃細嬈f
鍘熸枃閾炬帴錛?a >http://blog.csdn.net/hopkins9961629/archive/2006/01/25/588184.aspx

寰堝ソ鐞嗚В,windows鎿嶄綔緋葷粺浣跨敤娑堟伅澶勭悊鏈哄埗,閭d箞,鎴戜滑鎵璁捐鐨勭▼搴忓浣曟墠鑳藉垎杈ㄥ拰澶勭悊緋葷粺涓殑鍚勭娑堟伅鍛?榪欏氨鏄秷鎭垎嫻佸櫒鐨勪綔鐢?

綆鍗曟潵璇?娑堟伅鍒嗘祦鍣ㄥ氨鏄竴孌典唬鐮?鍦ㄦ垜鐨勮榪頒腑,灝嗗垎7閲嶆潵寰簭娓愯繘鐨勪粙緇嶅畠.浠庢渶鍒濈殑絎?閲嶅埌鏈鎴愮啛鐨勭7閲?瀹冪殑鏍峰瓙浼氭湁寰堝ぇ鐨勫彉鍖?浣?瀹炵幇鐨勫姛鑳介兘鏄竴鏍風殑,鎵涓嶅悓鐨?浠呬粎鏄彉寰楁洿鍔犵畝緇冪艦浜?

紼嬪簭寮濮嬫椂鍊?浼氭槸main鍑芥暟,鐒跺悗浼氱敓鎴愬垵濮嬬殑紿楀彛,鍚屾椂浼氳皟鐢╓ndProc鍑芥暟.榪欐槸涓涓嚜瀹氫箟鐨勫嚱鏁?鍚嶅瓧涔熶細鏈夊彉鍖?浣嗗叾鍔熻兘鏄竴鏍風殑,灝辨槸榪愯娑堟伅鍒嗘祦鍣?WndProc鍑芥暟濡備笅:

LRESULT CALLBACK WndProc (HWND hwnd, UINT msg,WPARAM wParam, LPARAM lParam)
{

//......

return DefWindowProc(hwnd, msg, wParam, lParam);

}

榪欏叾涓?hwnd鏄獥鍙g殑鍙ユ焺,msg鏄郴緇熷彂閫佹潵鐨勬秷鎭殑鍚嶅瓧.wParam鍜宭Param鍒欐槸闅忔秷鎭竴璧峰彂閫佹潵鐨勬秷鎭弬鏁?

WndProc鍑芥暟浣跨敤浜嗘秷鎭垎嫻佸櫒錛屼笅闈㈡妸娑堟伅鍒嗘祦鍣ㄧ殑鍐呭瑙i噴涓涓嬶細

涓閲嶏紝褰撲笉鍚岀殑娑堟伅鍑虹幇鏃訛紝鍦ㄥ叾涓啓鍏ョ浉搴旂殑紼嬪簭璇彞鍗沖彲銆?br>LRESULT CALLBACK WndProc (HWND hwnd, UINT msg,WPARAM wParam, LPARAM lParam)
{
 switch(msg)
 {
  case WM_CREATE:
  // ...
  return 0;

  case WM_PAINT:
  // ...
  return 0;

  case WM_DESTROY:
  //...
  return 0;
 }
 return DefWindowProc(hwnd, msg, wParam, lParam);
}

浜岄噸錛岃繍鐢ㄤ笁涓秷鎭垎嫻佸櫒榪涜澶勭悊銆?br>LRESULT CALLBACK WndProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
 switch(msg)
 {
  case WM_CREATE:
  return HANDLE_WM_CREATE(hwnd, wParam, lParam, Cls_OnCreate);

  case WM_PAINT:
  return HANDLE_WM_PAINT(hwnd, wParam, lParam, Cls_OnPaint);

  case WM_DESTROY:
  return HANDLE_WM_DESTROY(hwnd, wParam, lParam, Cls_OnDestroy);
 }
 return DefWindowProc(hwnd, msg, wParam, lParam);
}
榪欓噷鐨凥ANDLE_WM_CREATE錛孒ANDLE_WM_PAINT錛孒ANDLE_WM_DESTROY灝辨槸娑堟伅鍒嗘祦鍣ㄣ?br>涓庢秷鎭笉鍚屼箣澶勫氨鏄湪鍓嶉潰澧炲姞浜?#8220;HANDLE_”瀛楃錛寃indows鐨勬秷鎭垎嫻佸櫒灝辨槸榪欐牱鐨勬ā鏍楓?br>瀹冪殑鏈川灝辨槸瀹忓畾涔夈?br>鍏朵腑鐨勫洓涓弬鏁版湁涓変釜閮芥槸浠庢湰鍑芥暟鐨勫叆鍙e弬鏁頒腑鐩存帴寰楀埌鐨勶紝鍗充負hwnd, wParam, lParam銆?br>鍙湁絎洓鐨勫弬鏁版槸琛ㄦ槑璋冪敤鐨勫嚱鏁般?br>娑堟伅鍒嗘祦鍣ㄦ槸鍦╳inowsx.h鏂囦歡涓畾涔夌殑銆傜敱姝わ紝鍙互鐪嬪嚭絎洓涓弬鏁版槸璋冪敤鐨勫嚱鏁幫紝鍏跺畾涔夊涓嬶細

#define HANDLE_WM_CREATE(hwnd, wParam, lParam, fn) ((fn)((hwnd), (LPCREATESTRUCT)(lParam)) ? 0L : (LRESULT)-1L)

#define HANDLE_WM_PAINT(hwnd, wParam, lParam, fn) ((fn)(hwnd), 0L)

#define HANDLE_WM_DESTROYCLIPBOARD(hwnd, wParam, lParam, fn) ((fn)(hwnd), 0L)

0L鏄〃紺篿nt綾誨瀷鐨勫彉閲忥紝鍏舵暟鍊間負0銆?br>int綾誨瀷鏃訛紝鍙湪鍚庨潰鍔爈鎴栬匧(灝忓啓鍜屽ぇ鍐欏艦寮?
琛ㄦ槑鏃犵鍙鋒暟鏃訛紝鍙湪鍚庨潰鍔爑鎴栬匲(灝忓啓鍜屽ぇ鍐欏艦寮?
float綾誨瀷鏃訛紝鍙湪鍚庨潰鍔爁鎴栬匜(灝忓啓鍜屽ぇ鍐欏艦寮?
渚嬪錛?br>128u 1024UL 1L 8Lu 3.14159F 0.1f

LRESULT鏄竴涓郴緇熺殑鏁版嵁綾誨瀷錛屽叾瀹氫箟濡備笅錛?br>typedef LONG_PTR LRESULT;

LONG_PTR涔熸槸涓涓郴緇熺殑鏁版嵁綾誨瀷錛屽叾瀹氫箟濡備笅錛?br>#if defined(_WIN64)
 typedef __int64 LONG_PTR;
#else
 typedef long LONG_PTR;
#endif
鐢辨鍙錛孡RESULT鐨勫疄璐ㄥ氨鏄?4鐨刲ong綾誨瀷鐨勫彉閲?/p>

閭d箞(LRESULT)-1L鐨勫疄璐ㄥ茍涓嶆槸鍑忔硶錛岃屾槸((LRESULT)(-1L))錛屽嵆寮哄埗綾誨瀷杞崲

涓夐噸錛屾妸娑堟伅鍒嗘祦鍣ㄧ殑瀹忓畾涔変唬鎹㈠洖鍘伙紝灝辨垚浜嗕笅闈㈢殑鏍峰瓙
LRESULT CALLBACK WndProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
 switch(msg)
 {
  case WM_CREATE:
  return Cls_OnCreate(hwnd, (LPCREATESTRUCT)(lParam)) ? 0L : (LRESULT)-1L;
  // 濡傛灉澶勭悊浜嗘秷鎭紝鍒機ls_OnCreate搴旇繑鍥濼RUE錛屽鑷碬ndProc榪斿洖0錛屽惁鍒機ls_OnCreate榪斿洖FALSE錛屽鑷碬ndProc榪斿洖-1錛?/p>

  case WM_PAINT:
  return Cls_OnPaint(hwnd), 0L;
  // 閫楀彿琛ㄨ揪寮忥紱Cls_OnPaint鏄痸oid綾誨瀷錛岃繖閲岃繑鍥?錛?

  case WM_DESTROY:
  return Cls_OnDestroy(hwnd), 0L; // 鍚孋ls_OnPaint
 }
 return DefWindowProc(hwnd, msg, wParam, lParam);
}
鍦ㄩ楀彿琛ㄨ揪寮忥紝C++浼氳綆楁瘡涓〃杈懼紡錛屼絾瀹屾暣鐨勯楀彿琛ㄨ揪寮忕殑緇撴灉鏄渶鍙寵竟琛ㄨ揪寮忕殑鍊箋?br>鎵浠ワ紝浼歳eturn 0銆?br>鐒跺悗錛屽氨鍙互鎵嬪姩鐨勭紪鍐欏悇涓鐞嗗嚱鏁頒簡錛欳ls_OnCreate錛孋ls_OnPaint錛學M_DESTROY銆?/p>

鍥涢噸錛?br>LRESULT CALLBACK WndProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
 switch(msg)
 {
  HANDLE_MSG(hwnd, WM_CREATE, Cls_OnCreate);
  HANDLE_MSG(hwnd, WM_PAINT, Cls_OnPaint);
  HANDLE_MSG(hwnd, WM_DESTROY, Cls_OnDestroy);
 }
 return DefWindowProc(hwnd, msg, wParam, lParam);
}

HANDLE_MSG涔熸槸涓涓畯錛屽畠鍦╳indowsx.h涓畾涔夛紝濡備笅錛?br>#define HANDLE_MSG(hwnd, message, fn) case (message): return HANDLE_##message((hwnd), (wParam), (lParam), (fn))

榪欎釜瀹忚鍋氱殑灝辨槸鏍規嵁涓嶅悓鐨刴essage錛?#鐢ㄦ潵榪炴帴鍓嶅悗鐨勫瓧絎︿覆錛夛紝鎶婅嚜宸?#8220;鍙樻垚”鐩稿簲鐨凥ANDLE_XXXXMESSAGE褰㈠紡鐨勫畯錛屽啀閫氳繃鐩稿簲鐨勫畯鏉ユ墽琛屾秷鎭鐞嗕唬鐮併?br>璇寸櫧浜嗭紝灝辨槸鎶妋essage鐨勬秷鎭仛涓烘浛鎹紝##灝辨槸涓涓浛鎹㈢殑鏍囧織銆?br>濡傛灉娌℃湁##錛屽氨鎴愪簡HANDLE_message浜嗭紝榪欐牱錛屽畯鏄笉浼氳浠f崲鐨勩?br>濡傛灉灝卞崟鐙竴涓紝鍒欎細浠f崲錛屽hwnd鍜宖n銆?/p>

姣斿瀹為檯浠g爜涓啓鍏ワ細
HANDLE_MSG(hwnd, WM_CREATE, Cls_OnCreate)
鍒欑粡榪囪漿鎹㈠氨鍙樻垚錛?br>case (WM_CREATE): return HANDLE_WM_CREATE((hwnd), (wParam), (lParam), (Cls_OnCreate))
榪欎笌浜岄噸涓妯′竴鏍楓?/p>

浠ヤ笂鍥涢噸錛屾槸娑堟伅鍒嗙鍣ㄧ殑鍩烘湰浣跨敤錛屼絾錛岃繖涓嶅畬鏁達紝娑堟伅鍒嗙鍣ㄤ富瑕佸簲鐢ㄥ湪瀵硅瘽妗嗘秷鎭鐞嗕腑銆?br>榪欓噷錛岀獥鍙e瓙綾誨寲鏄垜浠粡甯鎬嬌鐢ㄧ殑鎵嬫錛岃繖涔熷彲浠ラ氳繃娑堟伅鍒嗘祦鍣ㄥ疄鐜幫紝

絎簲閲?br>LRESULT CALLBACK Dlg_Proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
 switch(msg)
 {
  HANDLE_MSG(hwnd, WM_INITDIALO , Cls_OnInitDialog); // 涓嶈兘鐩存帴浣跨敤HANDLE_MSG瀹?br>  HANDLE_MSG(hwnd, WM_COMMAND, Cls_OnCommand); // 涓嶈兘鐩存帴浣跨敤HANDLE_MSG瀹?br> }
 return false;
}
鐢變簬鏄獥鍙e瓙綾誨寲錛屾墍浠ワ紝鏈鍚庯紝榪斿洖鐨勬槸false錛屼互琛ㄦ槑錛屽鏋滄病鏈夌害瀹氬搷搴旂殑娑堟伅錛?br>鍒欒繑鍥炵埗浜茬獥鍙alse錛屽鏋滄湁錛屽垯榪斿洖ture錛岃繖鏄笌鍓嶅洓閲嶄笉鍚岀殑鍦版柟銆?br>涓鑸儏鍐典笅錛屽璇濇榪囩▼鍑芥暟搴旇鍦ㄥ鐞嗕簡娑堟伅鐨勬儏鍐典笅榪斿洖TRUE錛屽鏋滄病鏈夊鐞嗭紝鍒欒繑鍥濬ALSE銆?br>濡傛灉瀵硅瘽妗嗚繃紼嬭繑鍥炰簡FALSE錛岄偅涔堝璇濇綆$悊鍣ㄤ負榪欐潯娑堟伅鍑嗗榛樿鐨勫璇濇搷浣溿?/p>

浣嗘槸錛岃繖鍏朵腑鏈夐敊璇紝鍥犱負鏈夌殑娑堟伅,闇瑕佸崟鐙鐞嗐傚崟鐙鐞嗙殑娑堟伅鍒楄〃瑙丼etDlgMsgResult瀹忋?/p>

絎叚閲?br>榪欑偣灝忛棶棰橈紝榪欏氨闇瑕佺敤鍒癝etDlgMsgResult(hwnd, msg, result)瀹忋?

LRESULT CALLBACK Dlg_Proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
 {
 case WM_INITDIALO:
 return (SetDlgMsgResult(hwnd, Msg, HANDLE_WM_INITDIALO((hwnd), (wParam), (lParam), (fn)));

 case WM_COMMAND:
 return (SetDlgMsgResult(hwnd, Msg, HANDLE_WM_COMMAND((hwnd), (wParam), (lParam), (fn)));
 }
return false;
}
榪欓噷錛屽氨鐢ㄧ洿鎺ョ敤鍒頒簡絎簩閲嶇殑娑堟伅鍒嗘祦鍣紝鑰屾姏寮冧簡鍏朵粬銆?/p>

榪欎釜瀹忓畾涔夊涓嬶細
#define SetDlgMsgResult(hwnd, msg, result)
(
 (
 (msg) == WM_CTLCOLORMSGBOX ||
 (msg) == WM_CTLCOLOREDIT ||
 (msg) == WM_CTLCOLORLISTBOX ||
 (msg) == WM_CTLCOLORBTN ||
 (msg) == WM_CTLCOLORDLG ||
 (msg) == WM_CTLCOLORSCROLLBAR ||
 (msg) == WM_CTLCOLORSTATIC ||
 (msg) == WM_COMPAREITEM ||
 (msg) == WM_VKEYTOITEM ||
 (msg) == WM_CHARTOITEM ||
 (msg) == WM_QUERYDRAGICON ||
 (msg) == WM_INITDIALOG
 ) ?
 (BOOL)(result) :
 (SetWindowLongPtr((hwnd), DWLP_MSGRESULT, (LPARAM)(LRESULT)(result)), TRUE)
)

涓轟簡琛ㄨ堪娓呮錛屾墍浠ョ敤浜嗘鏍煎紡錛岃繖鏄竴涓笁欏硅〃杈懼紡錛岄鍏堝娑堟伅綾誨瀷榪涜鑰冨療銆?/p>

濡傛灉瀵硅瘽妗嗚繃紼嬪鐞嗙殑娑堟伅鎭板閥涓鴻繑鍥炵壒瀹氬間腑鐨勪竴涓紝鍒欏瀹炶繑鍥瀝esult錛?br>涓嶈琚墠闈㈢殑BOOL钂欒斀錛孊OOL鍦ㄥご鏂囦歡涓殑瀹氫箟瀹為檯涓婃槸涓涓猧nt鍨嬶紝
涓鏃﹂渶瑕佽繑鍥為潪TRUE鎴朏ALSE鐨勫叾浠栧鹼紝鐓ф牱鍙互錛?/p>

榪欐牱錛屾垜浠殑Cls_OnInitDialog灝辮兘澶熸紜殑榪斿洖瀹冪殑BOOL鍊間簡錛?br>鑰孋ls_OnCommand鍦ㄥ鐞嗕箣鍚庯紝涔熷彲浠ョ敱鍚庨潰鐨勯楀彿琛ㄨ揪寮忔紜殑榪斿洖涓涓猅RUE琛ㄧず娑堟伅宸插鐞嗐?/p>

絎竷閲?br>鎴戜滑榪樺彲浠ユ妸case涔熷寘鍚繘鏉ワ紝灝辨垚浜嗗涓嬬殑鏍峰瓙銆?/p>

LRESULT CALLBACK Dlg_Proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
 switch(msg)
 {
 chHANDLE_DLGMSG(hwnd, WM_INITDIALOG, Cls_OnInitDialog);
 chHANDLE_DLGMSG(hwnd, WM_COMMAND, Cls_OnCommand);
 }
 return false;
}

chHANDLE_DLGMSG鏄墰浜哄畾涔夌殑涓涓畯錛屽畠鎶奵ase涔熷寘鍚繘鏉ヤ簡銆?br>#define chHANDLE_DLGMSG(hwnd, message, fn) case (message): return (SetDlgMsgResult(hwnd, uMsg, HANDLE_##message((hwnd), (wParam), (lParam), (fn))))

榪欐牱錛岀▼搴忎腑鐨勮鍙?br> switch (uMsg)
 {
  chHANDLE_DLGMSG(hwnd, WM_INITDIALOG, Dlg_OnInitDialog);
  chHANDLE_DLGMSG(hwnd, WM_SIZE,       Dlg_OnSize);
  chHANDLE_DLGMSG(hwnd, WM_COMMAND,    Dlg_OnCommand);
 }

灝辮緲昏瘧鎴愶細
 switch (uMsg)
 {
 case (WM_INITDIALOG):
  return (SetDlgMsgResult(hwnd, uMsg, HANDLE_WM_INITDIALOG((hwnd), (wParam), (lParam), (Dlg_OnInitDialog))));

 case (WM_SIZE)
  return (SetDlgMsgResult(hwnd, uMsg, HANDLE_WM_SIZE((hwnd), (wParam), (lParam), (Dlg_OnSize))));

 case (WM_COMMAND)
  return (SetDlgMsgResult(hwnd, uMsg, HANDLE_WM_COMMAND((hwnd), (wParam), (lParam), (Dlg_OnCommand))));
 }

榪欐牱,娑堟伅鍒嗘祦鍣?灝變粙緇嶅畬姣?



saga.constantine 2007-09-04 13:40 鍙戣〃璇勮
]]>
[杞笘]fstream鐨勪嬌鐢ㄦ柟娉曚粙緇?/title><link>http://www.shnenglu.com/saga/archive/2007/06/19/26652.html</link><dc:creator>saga.constantine</dc:creator><author>saga.constantine</author><pubDate>Tue, 19 Jun 2007 15:46:00 GMT</pubDate><guid>http://www.shnenglu.com/saga/archive/2007/06/19/26652.html</guid><wfw:comment>http://www.shnenglu.com/saga/comments/26652.html</wfw:comment><comments>http://www.shnenglu.com/saga/archive/2007/06/19/26652.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/saga/comments/commentRss/26652.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/saga/services/trackbacks/26652.html</trackback:ping><description><![CDATA[<p>鍦–++涓紝鏈変竴涓猻tream榪欎釜綾伙紝鎵鏈夌殑I/O閮戒互榪欎釜“嫻?#8221;綾諱負鍩虹鐨勶紝鍖呮嫭鎴戜滑瑕佽璇嗙殑鏂囦歡I/O錛宻tream榪欎釜綾繪湁涓や釜閲嶈鐨勮繍綆楃錛?/p> <p>1銆佹彃鍏ュ櫒(<<)<br>銆銆鍚戞祦杈撳嚭鏁版嵁銆傛瘮濡傝緋葷粺鏈変竴涓粯璁ょ殑鏍囧噯杈撳嚭嫻?cout)錛屼竴鑸儏鍐典笅灝辨槸鎸囩殑鏄劇ず鍣紝鎵浠ワ紝cout<<"Write Stdout"<<' ';灝辮〃紺烘妸瀛楃涓?Write Stdout"鍜屾崲琛屽瓧絎?' ')杈撳嚭鍒版爣鍑嗚緭鍑烘祦銆?/p> <p>2銆佹瀽鍙栧櫒(>>)<br>銆銆浠庢祦涓緭鍏ユ暟鎹傛瘮濡傝緋葷粺鏈変竴涓粯璁ょ殑鏍囧噯杈撳叆嫻?cin)錛屼竴鑸儏鍐典笅灝辨槸鎸囩殑閿洏錛屾墍浠ワ紝cin>>x;灝辮〃紺轟粠鏍囧噯杈撳叆嫻佷腑<a name=1></a><strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">璇誨彇</strong>涓涓寚瀹氱被鍨?鍗沖彉閲弜鐨勭被鍨?鐨勬暟鎹?/p> <p>銆銆鍦–++涓紝瀵規枃浠剁殑鎿嶄綔鏄氳繃stream鐨勫瓙綾?a name=0></a><strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">fstream</strong>(file stream)鏉ュ疄鐜扮殑錛屾墍浠ワ紝瑕佺敤榪欑鏂瑰紡鎿嶄綔鏂囦歡錛屽氨蹇呴』鍔犲叆澶存枃浠?strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">fstream</strong>.h銆備笅闈㈠氨鎶婃綾葷殑鏂囦歡鎿嶄綔榪囩▼涓涓閬撴潵銆?/p> <p>涓銆佹墦寮鏂囦歡<br>銆銆鍦?strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">fstream</strong>綾諱腑錛屾湁涓涓垚鍛樺嚱鏁皁pen()錛屽氨鏄敤鏉ユ墦寮鏂囦歡鐨勶紝鍏跺師鍨嬫槸錛?/p> <p>void open(const char* filename,int mode,int access);</p> <p>鍙傛暟錛?/p> <p>filename錛氥銆瑕佹墦寮鐨勬枃浠跺悕 <br>mode錛氥銆銆銆瑕佹墦寮鏂囦歡鐨勬柟寮?<br>access錛氥銆銆鎵撳紑鏂囦歡鐨勫睘鎬?br>鎵撳紑鏂囦歡鐨勬柟寮忓湪綾籭os(鏄墍鏈夋祦寮廔/O綾葷殑鍩虹被)涓畾涔夛紝甯哥敤鐨勫煎涓嬶細 </p> <p>ios::app錛氥銆銆浠ヨ拷鍔犵殑鏂瑰紡鎵撳紑鏂囦歡 <br>ios::ate錛氥銆銆鏂囦歡鎵撳紑鍚庡畾浣嶅埌鏂囦歡灝撅紝ios:app灝卞寘鍚湁姝ゅ睘鎬?<br>ios::binary錛?銆浠?a name=2></a><strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">浜岃繘鍒?/strong>鏂瑰紡鎵撳紑鏂囦歡錛岀己鐪佺殑鏂瑰紡鏄枃鏈柟寮忋備袱縐嶆柟寮忕殑鍖哄埆瑙佸墠鏂?<br>ios::in錛氥銆銆 鏂囦歡浠ヨ緭鍏ユ柟寮忔墦寮 <br>ios::out錛氥銆銆鏂囦歡浠ヨ緭鍑烘柟寮忔墦寮 <br>ios::nocreate錛?涓嶅緩绔嬫枃浠訛紝鎵浠ユ枃浠朵笉瀛樺湪鏃舵墦寮澶辮觸銆 <br>ios::noreplace錛氫笉瑕嗙洊鏂囦歡錛屾墍浠ユ墦寮鏂囦歡鏃跺鏋滄枃浠跺瓨鍦ㄥけ璐?<br>ios::trunc錛氥銆濡傛灉鏂囦歡瀛樺湪錛屾妸鏂囦歡闀垮害璁句負0 <br>銆銆鍙互鐢?#8220;鎴?#8221;鎶婁互涓婂睘鎬ц繛鎺ヨ搗鏉ワ紝濡俰os::out|ios::binary</p> <p>銆銆鎵撳紑鏂囦歡鐨勫睘鎬у彇鍊兼槸錛?/p> <p>0錛氭櫘閫氭枃浠訛紝鎵撳紑璁塊棶 <br>1錛氬彧璇繪枃浠?<br>2錛氶殣鍚枃浠?<br>4錛氱郴緇熸枃浠?<br>銆銆鍙互鐢?#8220;鎴?#8221;鎴栬?#8220;+”鎶婁互涓婂睘鎬ц繛鎺ヨ搗鏉?錛屽3鎴?|2灝辨槸浠ュ彧璇誨拰闅愬惈灞炴ф墦寮鏂囦歡銆?/p> <p>銆銆渚嬪錛氫互<strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">浜岃繘鍒?/strong>杈撳叆鏂瑰紡鎵撳紑鏂囦歡c:config.sys </p> <p>銆銆<strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">fstream</strong> file1;<br>銆銆file1.open("c:\config.sys",ios::binary|ios::in,0);</p> <p>銆銆濡傛灉open鍑芥暟鍙湁鏂囦歡鍚嶄竴涓弬鏁幫紝鍒欐槸浠ヨ/鍐欐櫘閫氭枃浠舵墦寮錛屽嵆錛?/p> <p>銆銆file1.open("c:\config.sys");<=>file1.open("c:\config.sys",ios::in|ios::out,0);</p> <p>銆銆鍙﹀錛?strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">fstream</strong>榪樻湁鍜宱pen()涓鏍風殑鏋勯犲嚱鏁幫紝瀵逛簬涓婁緥錛屽湪瀹氫箟鐨勬椂渚氨鍙互鎵撳紑鏂囦歡浜嗭細</p> <p>銆銆<strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">fstream</strong> file1("c:\config.sys");</p> <p>銆銆鐗瑰埆鎻愬嚭鐨勬槸錛?strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">fstream</strong>鏈変袱涓瓙綾伙細ifstream(input file stream)鍜宱fstream(outpu file stream)錛宨fstream榛樿浠ヨ緭鍏ユ柟寮忔墦寮鏂囦歡錛岃宱fstream榛樿浠ヨ緭鍑烘柟寮忔墦寮鏂囦歡銆?/p> <p>銆銆ifstream file2("c:\pdos.def");//浠ヨ緭鍏ユ柟寮忔墦寮鏂囦歡<br>銆銆ofstream file3("c:\x.123");//浠ヨ緭鍑烘柟寮忔墦寮鏂囦歡</p> <p>銆銆鎵浠ワ紝鍦ㄥ疄闄呭簲鐢ㄤ腑錛屾牴鎹渶瑕佺殑涓嶅悓錛岄夋嫨涓嶅悓鐨勭被鏉ュ畾涔夛細濡傛灉鎯充互杈撳叆鏂瑰紡鎵撳紑錛屽氨鐢╥fstream鏉ュ畾涔夛紱濡傛灉鎯充互杈撳嚭鏂瑰紡鎵撳紑錛屽氨鐢╫fstream鏉ュ畾涔夛紱濡傛灉鎯充互杈撳叆/杈撳嚭鏂瑰紡鏉ユ墦寮錛屽氨鐢?strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">fstream</strong>鏉ュ畾涔夈?/p> <p>浜屻佸叧闂枃浠?br>銆銆鎵撳紑鐨勬枃浠朵嬌鐢ㄥ畬鎴愬悗涓瀹氳鍏抽棴錛?strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">fstream</strong>鎻愪緵浜嗘垚鍛樺嚱鏁癱lose()鏉ュ畬鎴愭鎿嶄綔錛屽錛歠ile1.close();灝辨妸file1鐩歌繛鐨勬枃浠跺叧闂?/p> <p>涓夈佽鍐欐枃浠?br>銆銆璇誨啓鏂囦歡鍒嗕負鏂囨湰鏂囦歡鍜?strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">浜岃繘鍒?/strong>鏂囦歡鐨?strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">璇誨彇</strong>錛屽浜庢枃鏈枃浠剁殑<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">璇誨彇</strong>姣旇緝綆鍗曪紝鐢ㄦ彃鍏ュ櫒鍜屾瀽鍙栧櫒灝卞彲浠ヤ簡錛涜屽浜?strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">浜岃繘鍒?/strong>鐨?strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">璇誨彇</strong>灝辮澶嶆潅浜涳紝涓嬭灝辮緇嗙殑浠嬬粛榪欎袱縐嶆柟寮?/p> <p>銆銆1銆佹枃鏈枃浠剁殑璇誨啓<br>銆銆鏂囨湰鏂囦歡鐨勮鍐欏緢綆鍗曪細鐢ㄦ彃鍏ュ櫒(<<)鍚戞枃浠惰緭鍑猴紱鐢ㄦ瀽鍙栧櫒(>>)浠庢枃浠惰緭鍏ャ傚亣璁緁ile1鏄互杈撳叆鏂瑰紡鎵撳紑錛宖ile2浠ヨ緭鍑烘墦寮銆傜ず渚嬪涓嬶細</p> <p>銆銆file2<<"I Love You";//鍚戞枃浠跺啓鍏ュ瓧絎︿覆"I Love You"<br>銆銆int i;<br>銆銆file1>>i;//浠庢枃浠惰緭鍏ヤ竴涓暣鏁板箋?</p> <p>銆銆榪欑鏂瑰紡榪樻湁涓縐嶇畝鍗曠殑鏍煎紡鍖栬兘鍔涳紝姣斿鍙互鎸囧畾杈撳嚭涓?6榪涘埗絳夌瓑錛屽叿浣撶殑鏍煎紡鏈変互涓嬩竴浜?/p> <p>鎿嶇旱絎?鍔熻兘 杈撳叆/杈撳嚭 <br>dec 鏍煎紡鍖栦負鍗佽繘鍒舵暟鍊兼暟鎹?杈撳叆鍜岃緭鍑?<br>endl 杈撳嚭涓涓崲琛岀騫跺埛鏂版嫻?杈撳嚭 <br>ends 杈撳嚭涓涓┖瀛楃 杈撳嚭 <br>hex 鏍煎紡鍖栦負鍗佸叚榪涘埗鏁板兼暟鎹?杈撳叆鍜岃緭鍑?<br>oct 鏍煎紡鍖栦負鍏繘鍒舵暟鍊兼暟鎹?杈撳叆鍜岃緭鍑?<br>setpxecision(int p) 璁劇疆嫻偣鏁扮殑綺懼害浣嶆暟 杈撳嚭 </p> <p>銆銆姣斿瑕佹妸123褰撲綔鍗佸叚榪涘埗杈撳嚭錛歠ile1< </p> <p>銆銆2銆?strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">浜岃繘鍒?/strong>鏂囦歡鐨勮鍐?br>鈶爌ut()<br>銆銆put()鍑芥暟鍚戞祦鍐欏叆涓涓瓧絎︼紝鍏跺師鍨嬫槸ofstream &put(char ch)錛屼嬌鐢ㄤ篃姣旇緝綆鍗曪紝濡俧ile1.put('c');灝辨槸鍚戞祦鍐欎竴涓瓧絎?c'銆?</p> <p>鈶et()<br>銆銆get()鍑芥暟姣旇緝鐏墊椿錛屾湁3縐嶅父鐢ㄧ殑閲嶈澆褰㈠紡錛?/p> <p>銆銆涓縐嶅氨鏄拰put()瀵瑰簲鐨勫艦寮忥細ifstream &get(char &ch);鍔熻兘鏄粠嫻佷腑<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">璇誨彇</strong>涓涓瓧絎︼紝緇撴灉淇濆瓨鍦ㄥ紩鐢╟h涓紝濡傛灉鍒版枃浠跺熬錛岃繑鍥炵┖瀛楃銆傚file2.get(x);琛ㄧず浠庢枃浠朵腑<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">璇誨彇</strong>涓涓瓧絎︼紝騫舵妸<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">璇誨彇</strong>鐨勫瓧絎︿繚瀛樺湪x涓?/p> <p>銆銆鍙︿竴縐嶉噸杞藉艦寮忕殑鍘熷瀷鏄細 int get();榪欑褰㈠紡鏄粠嫻佷腑榪斿洖涓涓瓧絎︼紝濡傛灉鍒拌揪鏂囦歡灝撅紝榪斿洖EOF錛屽x=file2.get();鍜屼笂渚嬪姛鑳芥槸涓鏍風殑銆?/p> <p>銆銆榪樻湁涓縐嶅艦寮忕殑鍘熷瀷鏄細ifstream &get(char *buf,int num,char delim=' ')錛涜繖縐嶅艦寮忔妸瀛楃璇誨叆鐢?buf 鎸囧悜鐨勬暟緇勶紝鐩村埌璇誨叆浜?num 涓瓧絎︽垨閬囧埌浜嗙敱 delim 鎸囧畾鐨勫瓧絎︼紝濡傛灉娌′嬌鐢?delim 榪欎釜鍙傛暟錛屽皢浣跨敤緙虹渷鍊兼崲琛岀' '銆備緥濡傦細</p> <p>銆銆file2.get(str1,127,'A');//浠庢枃浠朵腑<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">璇誨彇</strong>瀛楃鍒板瓧絎︿覆str1錛屽綋閬囧埌瀛楃'A'鎴?strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">璇誨彇</strong>浜?27涓瓧絎︽椂緇堟銆?/p> <p>鈶㈣鍐欐暟鎹潡<br>銆銆瑕佽鍐?strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">浜岃繘鍒?/strong>鏁版嵁鍧楋紝浣跨敤鎴愬憳鍑芥暟read()鍜寃rite()鎴愬憳鍑芥暟錛屽畠浠師鍨嬪涓嬶細</p> <p>銆銆銆銆read(unsigned char *buf,int num);<br>銆銆銆銆write(const unsigned char *buf,int num);</p> <p>銆銆read()浠庢枃浠朵腑<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">璇誨彇</strong> num 涓瓧絎﹀埌 buf 鎸囧悜鐨勭紦瀛樹腑錛屽鏋滃湪榪樻湭璇誨叆 num 涓瓧絎︽椂灝卞埌浜嗘枃浠跺熬錛屽彲浠ョ敤鎴愬憳鍑芥暟 int gcount();鏉ュ彇寰楀疄闄?strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">璇誨彇</strong>鐨勫瓧絎︽暟錛涜?write() 浠巄uf 鎸囧悜鐨勭紦瀛樺啓 num 涓瓧絎﹀埌鏂囦歡涓紝鍊煎緱娉ㄦ剰鐨勬槸緙撳瓨鐨勭被鍨嬫槸 unsigned char *錛屾湁鏃跺彲鑳介渶瑕佺被鍨嬭漿鎹€?/p> <p>渚嬶細</p> <p>銆銆銆銆unsigned char str1[]="I Love You";<br>銆銆銆銆int n[5];<br>銆銆銆銆ifstream in("xxx.xxx");<br>銆銆銆銆ofstream out("yyy.yyy");<br>銆銆銆銆out.write(str1,strlen(str1));//鎶婂瓧絎︿覆str1鍏ㄩ儴鍐欏埌yyy.yyy涓?br>銆銆銆銆in.read((unsigned char*)n,sizeof(n));//浠巟xx.xxx涓?strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">璇誨彇</strong>鎸囧畾涓暣鏁幫紝娉ㄦ剰綾誨瀷杞崲<br>銆銆銆銆in.close();out.close(); </p> <p>鍥涖佹嫻婨OF<br>銆銆鎴愬憳鍑芥暟eof()鐢ㄦ潵媯嫻嬫槸鍚﹀埌杈炬枃浠跺熬錛屽鏋滃埌杈炬枃浠跺熬榪斿洖闈?鍊鹼紝鍚﹀垯榪斿洖0銆傚師鍨嬫槸int eof();</p> <p>渚嬶細銆銆if(in.eof())ShowMessage("宸茬粡鍒拌揪鏂囦歡灝撅紒");</p> <p>浜斻佹枃浠跺畾浣?br>銆銆鍜孋鐨勬枃浠舵搷浣滄柟寮忎笉鍚岀殑鏄紝C++ I/O緋葷粺綆$悊涓や釜涓庝竴涓枃浠剁浉鑱旂郴鐨勬寚閽堛備竴涓槸璇繪寚閽堬紝瀹冭鏄庤緭鍏ユ搷浣滃湪鏂囦歡涓殑浣嶇疆錛涘彟涓涓槸鍐欐寚閽堬紝瀹冧笅嬈″啓鎿嶄綔鐨勪綅緗傛瘡嬈℃墽琛岃緭鍏ユ垨杈撳嚭鏃訛紝鐩稿簲鐨勬寚閽堣嚜鍔ㄥ彉鍖栥傛墍浠ワ紝C++鐨勬枃浠跺畾浣嶅垎涓鴻浣嶇疆鍜屽啓浣嶇疆鐨勫畾浣嶏紝瀵瑰簲鐨勬垚鍛樺嚱鏁版槸 seekg()鍜?seekp()錛宻eekg()鏄緗浣嶇疆錛宻eekp鏄緗啓浣嶇疆銆傚畠浠渶閫氱敤鐨勫艦寮忓涓嬶細</p> <p>銆銆銆銆istream &seekg(streamoff offset,seek_dir origin);<br>銆銆銆銆ostream &seekp(streamoff offset,seek_dir origin); </p> <p>銆銆streamoff瀹氫箟浜?iostream.h 涓紝瀹氫箟鏈夊亸縐婚噺 offset 鎵鑳藉彇寰楃殑鏈澶у鹼紝seek_dir 琛ㄧず縐誨姩鐨勫熀鍑嗕綅緗紝鏄竴涓湁浠ヤ笅鍊肩殑鏋氫婦錛?</p> <p>ios::beg錛氥銆鏂囦歡寮澶?<br>ios::cur錛氥銆鏂囦歡褰撳墠浣嶇疆 <br>ios::end錛氥銆鏂囦歡緇撳熬 <br>銆銆榪欎袱涓嚱鏁頒竴鑸敤浜?strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">浜岃繘鍒?/strong>鏂囦歡錛屽洜涓烘枃鏈枃浠朵細鍥犱負緋葷粺瀵瑰瓧絎︾殑瑙i噴鑰屽彲鑳戒笌棰勬兂鐨勫間笉鍚屻?/p> <p>渚嬶細</p> <p>銆銆銆銆 file1.seekg(1234,ios::cur);//鎶婃枃浠剁殑璇繪寚閽堜粠褰撳墠浣嶇疆鍚戝悗縐?234涓瓧鑺?br>銆銆銆銆 file2.seekp(1234,ios::beg);//鎶婃枃浠剁殑鍐欐寚閽堜粠鏂囦歡寮澶村悜鍚庣Щ1234涓瓧鑺?</p> <img src ="http://www.shnenglu.com/saga/aggbug/26652.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/saga/" target="_blank">saga.constantine</a> 2007-06-19 23:46 <a href="http://www.shnenglu.com/saga/archive/2007/06/19/26652.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>[杞創]浠涔堝彨0day婕忔礊錛?/title><link>http://www.shnenglu.com/saga/archive/2007/05/20/24438.html</link><dc:creator>saga.constantine</dc:creator><author>saga.constantine</author><pubDate>Sun, 20 May 2007 07:20:00 GMT</pubDate><guid>http://www.shnenglu.com/saga/archive/2007/05/20/24438.html</guid><wfw:comment>http://www.shnenglu.com/saga/comments/24438.html</wfw:comment><comments>http://www.shnenglu.com/saga/archive/2007/05/20/24438.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/saga/comments/commentRss/24438.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/saga/services/trackbacks/24438.html</trackback:ping><description><![CDATA[鐪間笅鐨?Day姝e紩鍙戜俊鎭畨鍏ㄦ柊“鍦伴渿”鐪嬩笉瑙佺殑鎵嶆槸鏈鍙曠殑<br>銆銆榪欏氨鏄?Day鐨勭湡姝e▉鑳?br>銆銆濡傛灉浣犳槸涓瀹朵紒涓氱殑緗戠粶瀹夊叏涓葷錛屼紒涓氬緗戠殑瀹夊叏浠g爜銆佽剼鏈垎鏋愩佺幆澧冮厤緗佺淮鎶よˉ涓佸凡鍋氬埌鏃犳噲鍙嚮錛屽唴緗戦槻鐏銆侀槻鐥呮瘨銆佸叆渚墊嫻嬨佽韓浠借璇佺瓑紜歡璁炬柦涔熼綈鍏ㄥ畬澶囷紝浠庢妧鏈墜孌墊潵璁詫紝浼間箮娌℃湁浠涔堝彲鎷呭績鐨勶紱浣嗕綘鑰冭檻榪囦綘鎵浣跨敤鐨勬搷浣滅郴緇熴佺綉绔欏鉤鍙版垨鍏朵粬絎笁鏂瑰簲鐢ㄧ▼搴忥紝鏄惁瀛樺湪鐫鏌愪釜涓嶄負浜虹煡鐨勯噸澶ф紡媧炲憿錛熷綋浣犲彂鐜頒綘鐨勭綉緇滃凡閬叆渚碉紝淇℃伅宸茶紿冨彇錛屾煡閬嶆墍鏈夋紡媧炴暟鎹簱鍜屽畨鍏ㄨˉ涓佽祫鏂欏嵈涓嶅緱鍏惰В銆傝繖鏃訛紝浣犺冭檻榪?Day涔堬紵<br>銆銆浠涔堟槸0Day<br>銆銆0Day鐨勬蹇墊渶鏃╃敤浜庤蔣浠跺拰娓告垙鐮磋В錛屽睘浜庨潪鐩堝埄鎬у拰闈炲晢涓氬寲鐨勭粍緇囪涓猴紝鍏跺熀鏈唴娑墊槸“鍗蟲椂鎬?#8221;銆俉arez琚澶氫漢璇涓烘槸涓涓渶澶х殑杞歡鐮磋В緇勭粐錛岃屽疄闄呬笂錛學arez濡傞粦瀹竴鏍鳳紝鍙槸涓縐嶈涓恒?Day涔熸槸銆傚綋鏃剁殑0Day鏄寚鍦ㄦ鐗堣蔣浠舵垨娓告垙鍙戝竷鐨勫綋澶╃敋鑷充箣鍓嶏紝鍙戝竷闄勫甫鐫搴忓垪鍙鋒垨鑰呰В瀵嗗櫒鐨勭牬瑙g増錛岃浣跨敤鑰呭彲浠ヤ笉鐢ㄤ粯璐瑰氨鑳介暱鏈熶嬌鐢ㄣ傚洜姝わ紝铏界劧Warez鍜?Dday閮芥槸鍙嶇洍鐗堢殑閲嶈鎵撳嚮瀵硅薄錛屽嵈鍚屾椂鍙楀埌鍏嶈垂浣跨敤鑰呭拰涓氬唴鍚岃鐨勬帹宕囥傚敖綆arez鍜?Day鐨勬嫢鎶よ呭浠ユ鑰岃皨鍒╃殑鐩楃増鍟嗕笉榻匡紝浣嗗晢涓氬埄鐩婄殑椹卞姩榪樻槸灝嗙牬瑙h涓虹殑鍟嗕笟鍖栨帹鍒頒簡楂樺嘲銆傝岀溂涓嬬殑0Day錛屾鍦ㄥ淇℃伅瀹夊叏浜х敓瓚婃潵瓚婁弗閲嶇殑濞佽儊銆?br>銆銆淇℃伅瀹夊叏鎰忎箟涓婄殑0Day鏄寚鍦ㄥ畨鍏ㄨˉ涓佸彂甯冨墠鑰岃浜嗚В鍜屾帉鎻$殑婕忔礊淇℃伅銆?br>銆銆2005騫?2鏈?鏃ワ紝鍑犱箮褰卞搷Windows鎵鏈夋搷浣滅郴緇熺殑WMF婕忔礊鍦ㄧ綉涓婂叕寮錛岃櫧鐒跺井杞湪8澶╁悗鎻愬墠鍙戝竷浜嗗畨鍏ㄨˉ涓侊紙寰蔣鐨勬儻渚嬫槸鍦ㄦ瘡鏈堢殑絎竴涓懆浜岋級錛屼絾灝卞湪榪?澶╁唴鍑虹幇浜嗕簩鐧懼涓埄鐢ㄦ婕忔礊鐨勬敾鍑昏剼鏈傛紡媧炰俊鎭殑鍏紑鍔犻熶簡杞歡鐢熶駭浼佷笟鐨勫畨鍏ㄨˉ涓佹洿鏂拌繘紼嬶紝鍑忓皯浜嗘伓鎰忕▼搴忕殑鍗卞紼嬪害銆備絾濡傛灉鏄笉鍏紑鐨?Day鍛紵WMF婕忔礊鍏紑涔嬪墠錛屽張鏈夊灝戜漢宸茬粡鍒╃敤浜嗗畠錛熸槸鍚︽湁寰堝0Day涓鐩村湪縐樺瘑嫻佷紶錛熶緥濡傦紝緇欏叏鐞冪綉緇滃甫鏉ュ法澶у嵄瀹崇殑“鍐插嚮娉?#8221;鍜?#8220;闇囪崱娉?#8221;榪欎袱縐嶇梾姣掞紝濡傛灉瀹冧滑鐨勬紡媧炰俊鎭病鏈夊叕寮錛岃嚜鐒朵篃灝辨病鏈夎繖涓ょ瓚呯駭鐥呮瘨鐨勪駭鐢熴傚弽榪囨潵鎯籌紝鏈変粈涔堢悊鐢辮涓虹溂涓嬩笉瀛樺湪綾諱技鐨勬湁鐫閲嶅ぇ瀹夊叏闅愭偅鐨勬紡媧炲憿錛燂紙Dtlogin榪滅▼婧㈠嚭婕忔礊浜?002騫磋鍙戠幇錛?004騫村叕甯冦傦級<br>銆銆鐪嬩笉瑙佺殑鎵嶆槸鏈鍙曠殑錛岃繖灝辨槸0Day鐨勭湡姝e▉鑳併?br>銆銆涓嶅彲閬垮厤鐨?Day<br>銆銆淇℃伅浠峰肩殑椋為熸彁鍗囷紝浜掕仈緗戝湪鍏ㄧ悆鐨勬櫘鍙婏紝鏁板瓧緇忔祹鐨勫箍娉涘簲鐢紝榪欎竴鍒囬兘鍒烘縺鐫淇℃伅瀹夊叏甯傚満鐨勪笉鏂墿澶э紝杞歡鐮磋В銆佸彛浠よВ瀵嗐侀棿璋嶈蔣浠躲佹湪椹梾姣掑叏閮ㄩ兘浠庢棭鏈熺殑浠呭仛鐮旂┒鍜屽悜浠栦漢鐐鐨勭洰鐨勮漿鍖栦負綰晢涓氬埄鐩婄殑榪愪綔錛屽茍榪呴熷湴浼犳挱寮鏉ワ紝浠庢搷浣滅郴緇熷埌鏁版嵁搴擄紝浠庡簲鐢ㄨ蔣浠跺埌絎笁鏂圭▼搴忓拰鎻掍歡錛屽啀鍒伴亶甯冨叏鐞冪殑婕忔礊鍙戝竷涓績錛岀湅鐪嬪畠浠綋涓湁澶氬皯0Day瀛樺湪錛熷彲浠ユ涓嶅じ寮犵殑璇達紝鍦ㄥ畨鍏ㄨˉ涓佺▼搴忓彂甯冧箣鍓嶏紝鎵鏈夌殑婕忔礊淇℃伅閮芥槸0Day錛屼絾鏄粠鏈彂甯冭繃瀹夊叏琛ヤ竵鐨勮蔣浠舵槸鍚﹀氨鎰忓懗鐫瀹冧滑褰撲腑涓嶅瓨鍦?Day鍛紵<br>銆銆鏈変漢璇達細“姣忎竴涓◢鍏瘋妯$殑搴旂敤杞歡閮藉彲鑳藉瓨鍦?Day銆?#8221;娌¢敊錛佷粠鐞嗚涓婅錛屾紡媧炲繀瀹氬瓨鍦紝鍙槸灝氭湭鍙戠幇錛岃屽譏琛ユ帾鏂芥案榪滄粸鍚庤屽凡銆?br>銆銆鍙鐢ㄦ埛鏂逛笉鐙嚜寮鍙戞搷浣滅郴緇熸垨搴旂敤紼嬪簭錛屾垨鑰呰鍙浣跨敤絎笁鏂圭殑杞歡錛?Day鐨勫嚭鐜板氨鏄繜鏃╃殑浜嬶紝鏃犺浣犳槸浣跨敤鏁版嵁搴撹繕鏄綉绔欑鐞嗗鉤鍙幫紝鏃犺浣犳槸浣跨敤濯掍綋鎾斁鍣ㄨ繕鏄粯鍥懼伐鍏鳳紝鍗充究鏄笓鑱屽畨鍏ㄩ槻鎶ょ殑杞歡紼嬪簭鏈韓錛岄兘浼氬嚭鐜板畨鍏ㄦ紡媧烇紝榪欏凡鏄笉浜夌殑浜嬪疄錛屼絾鏈鍙曠殑涓嶆槸婕忔礊瀛樺湪鐨勫厛澶╂э紝鑰屾槸0Day鐨勪笉鍙鐭ユс?br>銆銆浠庡紑婧愮殑瑙掑害涓婃潵璇達紝Linux鏇村鏄撴瘮灝侀棴婧愪唬鐮佺殑Windows瀛樺湪鏇村鐨?Day銆傞偅浜涜嚜浠ヤ負浣跨敤鐫瀹夊叏鎿嶄綔緋葷粺鐨勪漢錛岃繜鏃╀細琚?Day鏀誨嚮寮勫緱鍝戝彛鏃犺█銆傝屽井杞憿錛熻繙鏈塈IS鍜孖E錛岃繎鏈塛MF鍜孍xcel錛岀敱浜庡叾鎿嶄綔緋葷粺搴旂敤鐨勫箍娉涙э紝濡備粖宸叉槸琛ヤ竵鍔犺ˉ涓侊紝鏇存柊鍐嶆洿鏂幫紝鏈鏂版搷浣滅郴緇烿ista绔熺劧鍚湁鍑犱竾琛岀殑闂浠g爜銆傚皻鏈彂琛岋紝宸叉槸婊$洰鐤棈錛岃皝鍙堣兘淇濊瘉寰蔣鐨勬簮浠g爜娌℃湁涓濇娉勯湶鍛紵<br>銆銆0Day璧板悜浣曟柟<br>銆銆瓚婃潵瓚婂鐨勭牬瑙h呭拰榛戝浠紝宸茬粡鎶婄洰鍏変粠鐜囧厛鍙戝竷婕忔礊淇℃伅鐨勮崳瑾夋劅杞彉鍒板埄鐢ㄨ繖浜涙紡媧炶屽緱鍒扮殑緇忔祹鍒╃泭涓婏紝浜掕仈緗戝埌澶勫厖鏂ョ潃鏁頒互涓囪鐨勫厖婊″叆渚墊縺鎯呯殑鑴氭湰灝忓瓙錛屾洿涓嶇敤璇撮偅浜涗互紿冨彇淇℃伅涓鴻亴涓氱殑鍟嗕笟闂磋皪鍜屾儏鎶ヤ漢鍛樹簡銆備簬鏄紝0Day鏈変簡甯傚満銆?br>銆銆鍥藉涓ゅ勾鍓嶅氨鏈変簡0Day鐨勭綉涓婁氦鏄擄紝榛戝浠氳繃緗戜笂鎶ヤ環鍑哄敭鎵嬩腑鏈叕寮鐨勬紡媧炰俊鎭紝涓涓搷浣滅郴緇熸垨鏁版嵁搴撶殑榪滅▼婧㈠嚭婧愮爜鍙互鍗栧埌涓婂崈緹庡厓鐢氳嚦鏇撮珮錛涜屽浗鍐呯殑榛戝鍚岃錛屽墠涓嶄箙涔熷湪緗戜笂寤虹珛浜嗕竴涓笓闂ㄥ嚭鍞叆渚電▼搴忓彿縐頒腑鍥界涓0Day鐨勭綉绔欙紝灝界綾諱技鐨勬彁渚涢粦瀹㈠伐鍏風殑緗戠珯寰堝錛屼絾姝ょ綉绔欎笌鍏跺畠緗戠珯鐨勫尯鍒湪浜?Day鐨勭壒鎬у崄鍒嗘槑鏄撅細浠鋒牸杈冮珮鐨勬敾鍑葷▼搴忕殑鏀誨嚮瀵硅薄錛岃繕娌℃湁鐩稿簲鐨勫畨鍏ㄨˉ涓侊紝涔熷氨鏄榪欐牱鐨勬敾鍑葷▼搴忓緢鍙兘鍏鋒湁涓鍑誨繀涓殑鏁堟灉銆傝繖涓綉绔欐垚绔嬩笉涔呬究鍦ㄦ悳绱㈠紩鎿庝腑娑堝け浜嗭紝涔熻宸茬粡鍏抽棴錛屼篃璁歌漿鍏ュ湴涓嬨備絾涓嶇鎬庢牱錛?Day甯︽潵鐨勬綔鍦ㄧ粡嫻庡埄鐩婁笉鍙姽鏉錛岃屽叾灝嗘潵瀵逛俊鎭畨鍏ㄧ殑褰卞搷浠ュ強鍗卞涔熺粷涓嶈兘杞昏銆?br>銆銆杞歡涓婄殑0Day鍑犱箮涓嶅彲閬垮厤錛岄偅紜歡鍛紵紜歡鏄惁瀛樺湪0Day錛熺瓟妗堟棤鐤戞槸鑲畾鐨勩傝繎騫存潵錛屾濈璺敱鍣ㄦ紡媧為綣佸嚭鐜幫紝浠婂勾2鏈堬紝宸茶鏇濆厜鐨勬煇鐭ュ悕緗戠粶浜у搧婕忔礊鑷充粖浠嶆湭琚慨澶嶃傚浜庨偅浜涘熀浜嶪P鍗忚榪炴帴緗戠粶鐨勮礬鐢便佺綉鍏熾佷氦鎹㈡満錛屽摢涓數淇¤繍钀ュ晢鏁㈢櫨鍒嗕箣鐧懼湴 淇濊瘉鑷繁鐨勭綉緇滆澶囦竾鏃犱竴澶憋紵錛?005騫?鏈?1鏃ワ紝鍏ㄥ浗瓚呰繃浜屽崄涓煄甯傜殑浜掕仈緗戝嚭鐜扮兢鍙戞ф晠闅滐紱鍚屽勾7鏈?2鏃ワ紝鍖椾含20涓嘇DSL鐢ㄦ埛鏂綉錛夈?br>銆銆鏃╁湪涓ゅ勾鍓嶏紝鑻辯壒灝旂殑棣栧腑鎶鏈畼灝辨彁鍑鴻繃浜掕仈緗戜笉鑳芥壙鍙椾笌鏃ヤ勘澧炵殑浣跨敤鑰呰繖涓鎯蟲硶錛屽綋鏃訛紝琚緢澶氫漢璁や負鏄棤紼戒箣璋堛備粖騫?鏈堬紝鍦ㄧ編鍥界殑鍟嗕笟鍦嗘浼氳涓婏紝鍖呮嫭鎯犳櫘鍏徃銆両BM鍏徃銆丼un鍏徃銆侀氱敤姹借濺鍏徃銆佸寰楀疂鍏徃鍜屽彲鍙e彲涔愬叕鍙哥瓑鍦ㄥ唴鐨?60涓紒涓氫唬琛ㄥ懠鍚佹斂搴滆瀵瑰彂鐢熷ぇ瑙勬ā緗戠粶鏁呴殰鐨勫彲鑳芥у仛濂藉噯澶囧伐浣?#8230;…<br>銆銆褰撲粖鐨勪簰鑱旂綉錛岀梾姣掋佽爼铏佸兊灝哥綉緇溿侀棿璋嶈蔣浠躲丏DoS鐘瑰媧按鑸硾婊ワ紝鎵鏈夌殑榪欎竴鍒囬兘鎴栧鎴栧皯鍦頒粠0Day璧拌繃錛屽彲浠ラ嫻嬶紝鍦ㄤ笉榪滅殑灝嗘潵錛屼簰鑱旂綉鐦棯緇濅笉閬ヨ繙銆?br>銆銆閭d箞鏀垮簻綆$悊鑰呫佺數淇¤繍钀ュ晢銆佸畨鍏ㄥ巶鍟嗭紝榪樻湁鍏ㄤ笘鐣岀殑浜掕仈緗戠敤鎴鳳紝闈㈠0Day錛屾垜浠噯澶囧ソ浜嗗悧錛? <img src ="http://www.shnenglu.com/saga/aggbug/24438.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/saga/" target="_blank">saga.constantine</a> 2007-05-20 15:20 <a href="http://www.shnenglu.com/saga/archive/2007/05/20/24438.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>[杞澆]鐢ㄦ埛灞備笅鎷︽埅緋葷粺api鐨勫師鐞嗕笌瀹炵幇http://www.shnenglu.com/saga/archive/2007/01/22/17891.htmlsaga.constantinesaga.constantineMon, 22 Jan 2007 08:49:00 GMThttp://www.shnenglu.com/saga/archive/2007/01/22/17891.htmlhttp://www.shnenglu.com/saga/comments/17891.htmlhttp://www.shnenglu.com/saga/archive/2007/01/22/17891.html#Feedback0http://www.shnenglu.com/saga/comments/commentRss/17891.htmlhttp://www.shnenglu.com/saga/services/trackbacks/17891.html**杞澆**
**鎴戣嚜宸辯湅浜嗙湅榪欑墖鏂囩珷錛岃繕涓嶉敊錛佺▼搴忎篃鍙互緙栬瘧鍑烘潵**

鏂囩珷浣滆咃細kiki
淇℃伅鏉ユ簮錛氶偑鎭跺叓榪涘埗淇℃伅瀹夊叏鍥㈤槦錛?/font> www.eviloctal.com 錛?br />鏈枃绔犻鍙?/font> 榛戣壊嫻峰哺綰跨綉緇滃畨鍏ㄦ妧鏈鍧?/font> 錛屽悗鐢眐iki鍙嬫儏鎻愪氦鍒伴偑鎭跺叓榪涘埗淇℃伅瀹夊叏鍥㈤槦

聽聽聽聽聽聽聽聽聽鎷︽埅api鐨勬妧鏈湁寰堝縐嶏紝澶т綋鍒嗕負鐢ㄦ埛灞傚拰鍐呮牳灞傜殑鎷︽埅錛庤繖閲屽彧璇磋鐢ㄦ埛灞傜殑鎷︽埅錛庤岀敤鎴峰眰涔熷垎涓鴻澶氱錛氫慨鏀筆E鏂囦歡瀵煎叆琛紝鐩存帴淇敼瑕佹嫤鎴殑api鐨勫唴瀛橈紙浠庡紑濮嬪埌鏈鍚庯紝浣跨▼搴忚煩杞埌鎸囧畾鐨勫湴鍧鎵ц錛夛紟涓嶈繃澶ч儴鍒嗗師鐞嗛兘鏄慨鏀圭▼搴忔祦紼嬶紝浣夸箣璺寵漿鍒頒綘瑕佹墽琛岀殑鍦版柟錛岀劧鍚庡啀榪斿洖鍒板師鍦板潃錛庡師鏉pi鐨勫姛鑳藉繀欏昏繕鑳藉疄鐜幫紟鍚﹀垯鎷︽埅灝卞け鍘諱綔鐢ㄤ簡錛庝慨鏀規枃浠跺鍏ヨ〃鐨勬柟娉曠殑緙虹偣鏄鏋滅敤鎴風▼搴忓姩鎬佸姞杞斤紙浣跨敤LoadLibrary鍜孏etProcAddress鍑芥暟錛夛紝鎷︽埅灝嗗彉寰楀鏉備竴浜涳紟鎵浠ヨ繖閲屼粙緇嶄竴涓嬬浜岀鏂規硶錛岀洿鎺ヤ慨鏀筧pi錛屽綋鐒朵笉鏄叏灞鐨勶紟錛堝悗闈細璇村埌錛?br />
銆銆闇瑕佷簡瑙g殑涓浜涚煡璇嗭細

銆銆錛戯紟windows鍐呭瓨鐨勭粨鏋勫睘鎬у拰榪涚▼鍦板潃絀洪棿

銆銆錛掞紟鍑芥暟鍫嗘爤鐨勪竴浜涚煡璇?br />


涓錛歸in2000鍜寈p鐨勫唴瀛樼粨鏋勫拰榪涚▼鍦板潃絀洪棿

聽 windows閲囩敤4GB騫沖潶铏氭嫙鍦板潃絀洪棿鐨勫仛娉曘傚嵆姣忎釜榪涚▼鍗曠嫭鎷ユ湁4GB鐨勫湴鍧絀洪棿銆傛瘡涓繘紼嬪彧鑳借闂嚜宸辯殑榪?GB鐨勮櫄鎷熺┖闂達紝鑰屽浜庡叾浠栬繘紼嬬殑鍦板潃絀洪棿鍒欐槸涓嶅彲瑙佺殑銆傝繖鏍蜂繚璇佷簡榪涚▼鐨勫畨鍏ㄦу拰紼沖畾鎬с備絾鏄紝榪?GB鐨勭┖闂存槸涓涓櫄鎷熺┖闂達紝鍦ㄤ嬌鐢ㄤ箣鍓嶏紝鎴戜滑蹇呴』鍏堜繚鐣欎竴孌佃櫄鎷熷湴鍧錛岀劧鍚庡啀涓鴻繖孌佃櫄鎷熷湴鍧鎻愪氦鐗╃悊瀛樺偍鍣ㄣ傚彲鏄垜浠殑鍐呭瓨澶ч儴鍒嗛兘榪樻病鏈?GB錛岄偅涔堣繖4GB鐨勫湴鍧絀洪棿鏄浣曞疄鐜扮殑鍛紵浜嬪疄涓妛indows閲囩敤鐨勫唴瀛樻槧灝勮繖縐嶆柟娉曪紝鍗蟲妸鐗╃悊紓佺洏褰撲綔鍐呭瓨鏉ヤ嬌鐢紝姣斿鎴戜滑鎵撳紑涓涓彲鎵ц鏂囦歡鐨勬椂鍊欙紝鎿嶄綔緋葷粺浼氫負鎴戜滑寮杈熻繖涓?GB鐨勫湴鍧絀洪棿錛?x00000000--0xffffffff銆傚叾涓?x00000000--0x7fffffff鏄睘浜庣敤鎴峰眰鐨勭┖闂?0x80000000--0xffffffff鍒欏睘浜庡叡浜唴鏍告柟寮忓垎鍖猴紝涓昏鏄搷浣滅郴緇熺殑綰跨▼璋冨害錛屽唴瀛樼鐞嗭紝鏂囦歡緋葷粺鏀寔錛岀綉緇滄敮鎸佸拰鎵鏈夎澶囬┍鍔ㄧ▼搴忋傚浜庣敤鎴峰眰鐨勮繘紼嬶紝榪欎簺鍦板潃絀洪棿鏄笉鍙闂殑銆備換浣曡闂兘灝嗗鑷翠竴涓敊璇傚紑杈熻繖4GB鐨勮櫄鎷熷湴鍧絀洪棿涔嬪悗錛岀郴緇熶細鎶婄鐩樹笂鐨勬墽琛屾枃浠舵槧灝勫埌榪涚▼鐨勫湴鍧絀洪棿涓幓(涓鑸槸鍦ㄥ湴鍧0x00400000錛屽彲浠ラ氳繃淇敼緙栬瘧閫夐」鏉ヤ慨鏀硅繖涓湴鍧)鑰屼竴涓繘紼嬭繍琛屾墍闇瑕佺殑鍔ㄦ佸簱鏂囦歡鍒欎竴鑸粠0x10000000寮濮嬪姞杞姐備絾鏄鏋滄墍鏈夌殑鍔ㄦ佸簱閮藉姞杞藉埌榪欎釜浣嶇疆鑲畾浼氬紩璧峰啿紿併傚洜姝ゅ繀欏誨涓浜涘彲鑳藉紩璧峰啿紿佺殑dll緙栬瘧鏃墮噸鏂頒慨鏀瑰熀鍦板潃銆備絾鏄浜庢墍鏈夌殑鎿嶄綔緋葷粺鎵鎻愪緵鐨勫姩鎬佸簱windows宸茬粡瀹氫箟濂戒簡鏄犲皠鍦ㄦ寚瀹氱殑浣嶇疆銆傝繖涓綅緗細闅忕潃鐗堟湰鐨勪笉鍚岃屼細鏈夋墍鏀瑰彉錛屼笉榪囧浜庡悓涓鍙版満鍣ㄤ笂鐨勬槧灝勫湴鍧鏉ヨ閮芥槸涓鏍風殑銆傚嵆鍦╝榪涚▼閲屾槧灝勭殑kernel32.dll鐨勫湴鍧鍜屽湪榪涚▼b閲岀殑kernel32.dll鐨勫湴鍧鏄竴鏍風殑銆傚浜庢枃浠舵槧灝勬槸涓縐嶇壒孌婄殑鏂瑰紡錛屼嬌寰楃▼搴忎笉闇瑕佽繘琛岀鐩榠/o灝辮兘瀵圭鐩樻枃浠惰繘琛屾搷浣滐紝鑰屼笖鏀寔澶氱淇濇姢灞炴с傚浜庝竴涓鏄犲皠鐨勬枃浠訛紝涓昏鏄嬌鐢–reateFileMapping鍑芥暟錛屽埄鐢ㄤ粬鎴戜滑鍙互璁懼畾涓浜涜鍐欏睘鎬?PAGE_READONLY,PAGE_READWRITE,PAGE_WRITECOPY.絎竴鍙傛暟鎸囧畾鍙兘瀵硅鏄犲皠鏂囦歡榪涜璇繪搷浣溿備換浣曞啓鎿嶄綔灝嗗鑷村唴瀛樿闂敊璇傜浜屼釜鍙傛暟鍒欐寚鏄庡彲浠ュ鏄犲皠鏂囦歡榪涜璇誨啓銆傝繖鏃跺欙紝浠諱綍瀵規枃浠剁殑璇誨啓閮芥槸鐩存帴鎿嶄綔鏂囦歡鐨勩傝屽浜庣涓変釜鍙傛暟PAGE_WRITECOPY欏懼悕鎬濅箟灝辨槸鍐欏叆鏃舵嫹璐濓紝浠諱綍鍚戣繖孌靛唴瀛樺啓鍏ョ殑鎿嶄綔(鍥犱負鏂囦歡鏄槧灝勫埌榪涚▼鍦板潃絀洪棿鐨勶紝瀵硅繖孌電┖闂寸殑璇誨啓灝辯浉褰撲簬瀵規枃浠惰繘琛岀殑鐩存帴璇誨啓)閮藉皢琚郴緇熸崟鑾鳳紝騫墮噸鏂板湪浣犵殑铏氭嫙鍦板潃絀洪棿閲嶆柊淇濈暀騫跺垎閰嶄竴孌靛唴瀛橈紝浣犳墍鍐欏叆鐨勪竴鍒囦笢瑗塊兘灝嗗湪榪欓噷錛岃屼笖浣犲師鍏堢殑鎸囧悜鏄犲皠鏂囦歡鐨勫唴瀛樺湴鍧涔熶細瀹為檯鎸囧悜榪欐閲嶆柊鍒嗛厤鐨勫唴瀛橈紝浜庢槸鍦ㄨ繘紼嬬粨鏉熷悗錛屾槧灝勬枃浠跺唴瀹瑰茍娌℃湁鏀瑰彉錛屽彧鏄湪榪愯鏈熼棿鍦ㄩ偅孌電鏈夋嫹璐濈殑鍐呭瓨閲岄潰瀛樺湪鐫浣犱慨鏀圭殑鍐呭銆倃indows榪涚▼榪愯鎵闇瑕佹槧灝勭殑涓浜涚郴緇焏ll灝辨槸浠ヨ繖縐嶆柟寮忔槧灝勭殑錛屾瘮濡傚父鐢ㄧ殑ntdll.dll,kernel32.dll,gdi32.dll.鍑犱箮鎵鏈夌殑榪涚▼閮戒細鍔犺澆榪欎笁涓姩鎬佸簱銆傚鏋滀綘鍦ㄤ竴涓繘紼嬮噷淇敼榪欎釜鏄犲皠鏂囦歡鐨勫唴瀹癸紝騫朵笉浼氬獎鍝嶅埌鍏朵粬鐨勮繘紼嬩嬌鐢ㄤ粬浠備綘鎵淇敼鐨勫彧鏄湪鏈繘紼嬬殑鍦板潃絀洪棿涔嬪唴鐨勩備簨瀹炰笂鍘熷鏂囦歡騫舵病鏈夎鏀瑰彉銆?br />榪欐牱錛屽湪鍚庨潰鐨勪慨鏀圭郴緇焌pi鐨勬椂鍊欙紝瀹為檯灝辨槸淇敼榪欎簺鍔ㄦ佸簱鍦板潃鍐呯殑鍐呭銆傚墠闈㈣鍒拌繖涓嶆槸淇敼鍏ㄥ眬api灝辨槸榪欎釜鍘熷洜錛屽洜涓轟粬浠兘鏄互鍐欏叆鏃舵嫹璐濈殑鏂瑰紡鏉ユ槧灝勭殑銆備笉榪囪繖宸茬粡瓚沖浜嗭紝windows鎻愪緵浜?涓己澶х殑鍐呭瓨鎿嶄綔鍑芥暟ReadProcessMemory鍜學riteProcessMemory.鍒╃敤榪欎袱涓嚱鏁版垜浠氨鍙互闅忎究瀵逛換鎰忚繘紼嬬殑浠繪剰鐢ㄦ埛鍦板潃絀洪棿榪涜璇誨啓浜嗐備絾鏄紝鐜板湪鏈変竴涓棶棰橈紝鎴戜滑璇ュ啓浠涔堬紝璇翠簡鍗婂ぉ錛屾庝箞瀹炵幇璺寵漿鍛紵鐜板湪鏉ョ湅涓涓畝鍗曠殑渚嬪瓙錛?br />MessageBox(NULL, "World", "Hello", 0);
鎴戜滑鍦ㄦ墽琛岃繖鏉¤鍙ョ殑鏃跺欙紝璋冪敤浜嗙郴緇焌pi MessageBox錛屽疄闄呬笂鍦ㄧ▼搴忎腑鎴戞病鏈夊畾涔塙NICODE瀹忥紝緋葷粺璋冪敤鐨勬槸MessageBox鐨凙NSI鐗堟湰MessageBoxA,榪欎釜鍑芥暟鏄敱user32.dll瀵煎嚭鐨勩備笅闈㈡槸鎵ц榪欐潯璇彞鐨勬眹緙栦唬鐮侊細
0040102A 聽 push 聽 聽 0
0040102C 聽 push 聽 聽 offset string "Hello" (0041f024)
00401031 聽 push 聽 聽 offset string "World" (0041f01c)
00401036 聽 push 聽 聽 0
00401038 聽 call 聽 聽 dword ptr [__imp__MessageBoxA@16 (0042428c)]
鍓嶉潰鍥涙潯鎸囦護鍒嗗埆涓哄弬鏁板帇鏍堬紝鍥犱負MessageBoxA鏄痏_stdcall璋冪敤綰﹀畾錛屾墍浠ュ弬鏁版槸浠庡彸寰宸﹀帇鏍堢殑銆傛渶鍚庡啀CALL 0x0042428c

鐪嬬湅0042428c榪欐鍐呭瓨鐨勫鹼細
0042428C 0B 05 D5 77 00 00 00
鍙互鐪嬪埌榪欎釜鍊?x77d5050b,姝f槸user32.dll瀵煎嚭鍑芥暟MessageBoxA鐨勫叆鍙e湴鍧銆?br />
榪欐槸0x77D5050B澶勭殑鍐呭錛?
77D5050B 8B FF 聽 聽 聽 聽 聽 mov 聽 聽 聽 edi,edi
77D5050D 55 聽 聽 聽 聽 聽 聽 push 聽 聽 ebp
77D5050E 8B EC 聽 聽 聽 聽 聽 mov 聽 聽 聽 ebp,esp
鐞嗚涓婂彧瑕佹敼鍙榓pi鍏ュ彛鍜屽嚭鍙g殑浠諱綍鏈哄櫒鐮侊紝閮藉彲浠ユ嫤鎴api銆傝繖閲屾垜閫夋嫨鏈綆鍗曠殑淇敼鏂規硶錛岀洿鎺ヤ慨鏀筧pi鍏ュ彛鐨勫墠鍗佷釜瀛楄妭鏉ュ疄鐜拌煩杞備負浠涔堟槸鍗佸瓧鑺傚憿錛熷叾瀹炰慨鏀瑰灝戝瓧鑺傞兘娌℃湁鍏崇郴錛屽彧瑕佸疄鐜頒簡鍑芥暟鐨勮煩杞箣鍚庯紝浣犺兘鎶婁粬浠仮澶嶅茍璁╀粬緇х畫榪愯鎵嶆槸鏈閲嶈鐨勩傚湪CPU鐨勬寚浠ら噷錛屾湁鍑犳潯鎸囦護鍙互鏀瑰彉紼嬪簭鐨勬祦紼嬶細JMP錛孋ALL錛孖NT錛孯ET錛孯ETF錛孖RET絳夋寚浠ゃ傝繖閲屾垜閫夋嫨CALL鎸囦護錛屽洜涓轟粬鏄互鍑芥暟璋冪敤鐨勬柟寮忔潵瀹炵幇璺寵漿鐨勶紝榪欐牱鍙互甯︿竴浜涗綘闇瑕佺殑鍙傛暟銆傚埌榪欓噷錛屾垜璇ヨ璇村嚱鏁扮殑鍫嗘爤浜嗐?br />
鎬葷粨錛歸indows榪涚▼鎵闇瑕佺殑鍔ㄦ佸簱鏂囦歡閮芥槸浠ュ啓鍏ユ椂鎷瘋礉鐨勬柟寮忔槧灝勫埌榪涚▼鍦板潃絀洪棿涓殑銆傝繖鏍鳳紝鎴戜滑鍙兘鎷︽埅鎸囧畾鐨勮繘紼嬨備慨鏀圭洰鏍囪繘紼嬪湴鍧絀洪棿涓殑鎸囧畾api鐨勫叆鍙e拰鍑哄彛鍦板潃涔嬮棿鐨勪換鎰忔暟鎹紝浣夸箣璺寵漿鍒版垜浠殑鎷︽埅浠g爜涓幓錛岀劧鍚庡啀鎭㈠榪欎簺瀛楄妭錛屼嬌涔嬭兘欏哄埄宸ヤ綔銆?br />



浜岋細鍑芥暟鍫嗘爤鐨勪竴浜涚煡璇?br />
聽 姝e鍓嶉潰鎵鐪嬪埌MessageBoxA鍑芥暟鎵ц涔嬪墠鐨勬眹緙栦唬鐮侊紝棣栧厛灝嗗洓涓弬鏁板帇鏍堬紝鐒跺悗CALL MessageBoxA錛岃繖鏃跺欐垜浠殑綰跨▼鍫嗘爤鐪嬭搗鏉ュ簲璇ユ槸榪欐牱鐨勶細

| 聽 | 聽 <---ESP
|榪斿洖鍦板潃|
|鍙傛暟1|
|鍙傛暟2|
|鍙傛暟3|
|鍙傛暟4|
|.. 聽 |

鎴戜滑鍐嶇湅MessageBoxA鐨勬眹緙栦唬鐮侊紝
77D5050B 8B FF 聽 聽 聽 聽 聽 mov 聽 聽 聽 edi,edi
77D5050D 55 聽 聽 聽 聽 聽 聽 push 聽 聽 ebp
77D5050E 8B EC 聽 聽 聽 聽 聽 mov 聽 聽 聽 ebp,esp
娉ㄦ剰鍒板爢鏍堢殑鎿嶄綔鏈塒USH ebp,榪欐槸淇濆瓨褰撳墠鐨勫熀鍧鎸囬拡錛屼互渚夸竴浼氬効鎭㈠鍫嗘爤鍚庤繑鍥炶皟鐢ㄧ嚎紼嬫椂浣跨敤錛岀劧鍚庡啀鏈塵ov ebp,esp灝辨槸鎶婂綋鍓峞sp鐨勫艱祴緇檈bp錛岃繖鏃跺欐垜浠氨鍙互浣跨敤 ebp+鍋忕Щ 鏉ヨ〃紺哄爢鏍堜腑鐨勬暟鎹紝姣斿鍙傛暟1灝卞彲浠ヨ〃紺烘垚[ebp+8]錛岃繑鍥炲湴鍧灝卞彲浠ヨ〃紺烘垚[ebp+4]..濡傛灉鎴戜滑鍦ㄦ嫤鎴殑鏃跺欒瀵硅繖浜涘弬鏁板拰榪斿洖鍦板潃鍋氫換浣曞鐞嗭紝灝卞彲浠ヤ嬌鐢ㄨ繖縐嶆柟娉曘傚鏋滆繖涓椂鍊欏嚱鏁版湁灞閮ㄥ彉閲忕殑璇濓紝灝遍氳繃鍑忓皬ESP鐨勫肩殑鏂瑰紡鏉ヤ負涔嬪垎閰嶇┖闂淬傛帴涓嬫潵灝辨槸淇濆瓨涓浜涘瘎瀛樺櫒錛欵DI,ESI,EBX.瑕佹敞鎰忕殑鏄紝鍑芥暟鍫嗘爤鏄弽鏂瑰悜鐢熼暱鐨勩傝繖鏃跺欏爢鏍堢殑鏍峰瓙錛?br />|....|
|EDI| <---ESP
|ESI|
|EBX|
|灞閮ㄥ彉閲弢
|EBP 聽 | 聽
|榪斿洖鍦板潃|
|鍙傛暟1|
|鍙傛暟2|
|鍙傛暟3|
|鍙傛暟4|
|.. 聽 |

鍦ㄥ嚱鏁拌繑鍥炵殑鏃跺欙紝鐢卞嚱鏁拌嚜韜潵榪涜鍫嗘爤鐨勬竻鐞嗭紝榪欐椂鍊欐竻鐞嗙殑欏哄簭鍜屽紑濮嬪叆鏍堢殑欏哄簭鎭版伆鐩稿弽錛岀被浼肩殑姹囩紪浠g爜鍙兘鏄繖鏍風殑錛?br />
pop edi
pop esi
pop ebx
add esp, 4
pop ebp
ret 0010
鍏堟仮澶嶉偅浜涘瘎瀛樺櫒鐨勫鹼紝鐒跺悗閫氳繃澧炲姞ESP鐨勫肩殑鏂瑰紡鏉ラ噴鏀懼眬閮ㄥ彉閲忋傝繖閲屽彲浠ョ敤mov esp, ebp鏉ュ疄鐜版竻絀烘墍鏈夊眬閮ㄥ彉閲忓拰鍏朵粬涓浜涚┖闂插垎閰嶇┖闂淬傛帴鐫鍑芥暟浼氭仮澶岴BP鐨勫鹼紝鍒╃敤鎸囦護POP EBP鏉ユ仮澶嶈瀵勫瓨鍣ㄧ殑鍊箋傛帴鐫鍑芥暟榪愯ret 0010榪欎釜鎸囦護銆傝鎸囦護鐨勬剰鎬濇槸錛屽嚱鏁版妸鎺у埗鏉冧氦緇欏綋鍓嶆爤欏剁殑鍦板潃鐨勬寚浠わ紝鍚屾椂娓呯悊鍫嗘爤鐨?6瀛楄妭鐨勫弬鏁般傚鏋滃嚱鏁版湁榪斿洖鍊肩殑璇濓紝閭e湪EAX瀵勫瓨鍣ㄤ腑淇濆瓨鐫褰撳墠鍑芥暟鐨勮繑鍥炲箋傚鏋滄槸__cdecl璋冪敤鏂瑰紡錛屽垯鎵цret鎸囦護錛屽浜庡爢鏍堝弬鏁扮殑澶勭悊浜ょ粰璋冪敤綰跨▼鍘誨仛銆傚wsprintf鍑芥暟銆?br />
榪欎釜鏃跺欏爢鏍堝張鎭㈠浜嗗師鏉ョ殑鏍峰瓙銆傜嚎紼嬪緱浠ョ戶緇線涓嬫墽琛?..
鍦ㄦ嫤鎴猘pi鐨勮繃紼嬩箣涓竴涓噸瑕佺殑浠誨姟灝辨槸淇濊瘉鍫嗘爤鐨勬紜с備綘瑕佺悊娓呮瘡涓姝ュ爢鏍堜腑鍙戠敓浜嗕粈涔堛?br />


涓夛細褰㈡垚鎬濊礬

聽 鍛靛懙錛屼笉鐭ラ亾浣犵幇鍦ㄨ剳嫻鋒槸涓嶆槸鏈変粈涔堟兂娉曘傛庝箞鍘誨疄鐜版嫤鎴竴涓猘pi錛?br />聽 榪欓噷緇欏嚭涓涓濊礬錛屼簨瀹炰笂鎷︽埅鐨勬柟娉曠湡鐨勫緢澶氾紝鐞嗘竻浜嗕竴涓紝鍏朵粬鐨勪篃灝卞鏄撲簡銆傝屼笖涓婇潰鎵璇寸殑2涓叧閿煡璇嗭紝涔熷彲浠ヤ互鍙﹀鐨勫艦寮忔潵鍒╃敤銆?br />聽 鎴戜互鎷︽埅CreateFile榪欎釜api涓轟緥瀛愭潵綆鍗曡涓嬭繖涓濊礬鍚э細

聽 棣栧厛錛屾棦鐒舵垜浠鎷︽埅榪欎釜api灝卞簲璇ョ煡閬撹繖涓嚱鏁板湪鍐呭瓨涓殑浣嶇疆鍚э紝鑷沖皯闇瑕佺煡閬撲粠鍝効鍏ュ彛銆侰reateFile榪欎釜鍑芥暟鏄敱kernel32.dll榪欎釜鍔ㄦ佸簱瀵煎嚭鐨勩傛垜浠彲浠ヤ嬌鐢ㄤ笅闈㈢殑鏂規硶鏉ヨ幏鍙栦粬鏄犲皠鍒板唴瀛樹腑鐨勫湴鍧錛?br />聽 HMODULE hkernel32 = LoadLibrary("Kernel32.dll");
聽 PVOID dwCreateFile = GetProcAddress(hkernei32, "CreateFileA");
榪欏氨鍙互寰楀埌createfile鐨勫湴鍧浜嗭紝娉ㄦ剰榪欓噷鏄幏鍙栫殑createfile鐨刟nsic鐗堟湰銆傚浜嶶NICODE鐗堟湰鐨勫垯鑾峰彇CreateFileW銆傝繖鏃禿wCreateFile鐨勫煎氨鏄粬鐨勫湴鍧浜嗐傚浜庡叾浠栬繘紼嬩腑鐨刢reatefile鍑芥暟涔熸槸榪欎釜鍦板潃錛屽墠闈㈣榪噖indows鎸囧畾浜嗕粬鎻愪緵鐨勬墍鏈夌殑dll鏂囦歡鐨勫姞杞藉湴鍧銆?br />聽
聽 鎺ヤ笅鏉ワ紝鎴戜滑璇ユ兂鍔炴硶瀹炵幇璺寵漿浜嗐傛渶綆鍗曠殑鏂規硶灝辨槸淇敼榪欎釜api鍏ュ彛澶勭殑浠g爜浜嗐備絾鏄垜浠淇敼澶氬皯鍛紵淇敼鐨勫唴瀹逛負浠涔堝憿錛熷墠闈㈣榪囨垜浠彲浠ヤ嬌鐢–ALL鐨勬柟寮忔潵瀹炵幇璺寵漿錛岃繖縐嶆柟娉曠殑濂藉鏄彲浠ヤ負浣犵殑鎷︽埅鍑芥暟鎻愪緵涓涓垨鑰呭涓弬鏁般傝繖閲屽彧瑕佷竴涓弬鏁板氨瓚沖浜嗐傚甫鍙傛暟鐨勫嚱鏁拌皟鐢ㄧ殑姹囩紪浠g爜鏄粈涔堟牱瀛愬憿錛屽墠闈篃宸茬粡璇翠簡錛岀被浼間笌璋冪敤MessageBoxA鏃剁殑浠g爜錛?br />
PUSH 鍙傛暟鍦板潃
CALL 鍑芥暟鍏ュ彛鍦板潃(榪欓噷涓轟竴涓亸縐誨湴鍧)

鎵ц榪?鏉℃寚浠ゅ氨鑳借煩杞埌浣犺鎷︽埅鐨勫嚱鏁頒簡錛屼絾鏄垜浠淇敼鎴愪粈涔堝憿銆傞鍏堬紝鎴戜滑闇瑕佺煡閬撹繖2鏉℃寚浠ょ殑闀垮害鍜屽叿浣撶殑鏈哄櫒浠g爜鐨勫箋傚叾涓璓USH瀵瑰簲0x68錛岃孋ALL鎸囦護瀵瑰簲鐨勬満鍣ㄧ爜涓?xE8,鑰屽悗闈㈢殑鍒欏垎鍒搴旀嫤鎴嚱鏁扮殑鍙傛暟鍦板潃鍜屽嚱鏁扮殑鍦板潃銆傛敞鎰忕涓涓槸涓涓洿鎺ョ殑鍦板潃錛岃岀浜屼釜鍒欐槸涓涓浉瀵瑰湴鍧銆傚綋鐒朵綘涔熷彲浠ヤ嬌鐢?xFF0x15榪欎釜CALL鎸囦護鏉ヨ繘琛岀洿鎺ュ湴鍧鐨勮煩杞?br />涓嬮潰灝辨槸璁$畻榪?涓湴鍧鐨勫間簡錛?br />瀵逛簬鍙傛暟鍜屽嚱鏁頒綋鐨勫湴鍧錛岃鍒嗘儏鍐佃屽畾錛屽浜庡鏈繘紼嬩腑api鐨勬嫤鎴紝鍒欑洿鎺ュ彇鍦板潃灝卞彲浠ヤ簡銆傚浜庡弬鏁幫紝鍙互鍏堝畾涔変竴涓弬鏁板彉閲忥紝鐒跺悗鍙栧彉閲忓湴鍧灝眔k浜嗐?br />濡傛灉鏄兂鎷︽埅鍏朵粬榪涚▼涓殑api錛屽垯蹇呴』浣跨敤鍏朵粬涓浜涙柟娉曪紝鏈鍏稿瀷鐨勬柟娉曟槸鍒╃敤VirtualAllocEx鍑芥暟鏉ュ湪鍏朵粬榪涚▼涓敵璇峰拰鎻愪氦鍐呭瓨絀洪棿銆傜劧鍚庣敤WriteProcessMemory鏉ュ垎鍒妸鍑芥暟浣撳拰鍙傛暟鍒嗗埆鍐欏叆鐢寵鍜屽垎閰嶇殑鍐呭瓨絀洪棿涓幓銆傜劧鍚庡啀鐢熸垚瑕佷慨鏀圭殑鏁版嵁錛屾渶鍚庣敤WriteProcessMemory鏉ヤ慨鏀筧pi鍏ュ彛錛屾妸鍏ュ彛鐨勫墠10瀛楄妭淇敼涓哄垰鍒氱敓鎴愮殑璺寵漿鏁版嵁銆傛瘮濡傚湪榪滅▼榪涚▼涓綘鍐欏叆鐨勫弬鏁板拰鍑芥暟浣撶殑鍐呭瓨鍦板潃鍒嗗埆涓?x00010000鍜?x00011000,鍒欑敓鎴愮殑璺寵漿鏁版嵁涓?68 00 00 01 00 E8 00 10 01 00(PUSH 00010000 CALL 00011000),榪欐牱紼嬪簭榪愯createfile鍑芥暟鐨勬椂鍊欏皢浼氬厛榪愯PUSH 00010000 CALL 00011000錛岃繖鏍峰氨杈懼埌浜嗚煩杞殑鐩殑銆傛鍒繪垜浠簲璇ユ椂鍒繪敞鎰忓爢鏍堢殑鐘舵侊紝瀵逛簬CreateFile鏈?br />HANDLE CreateFile(
LPCTSTR lpFileName,
DWORD dwDesiredAccess,
DWORD dwShareMode,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes,
HANDLE hTemplateFile
);
鍙互鐪嬪埌鍏舵湁7涓弬鏁幫紝浜庢槸鍦ㄨ皟鐢ㄤ箣鍓嶏紝鍫嗘爤搴旇宸茬粡琚帇鍏ヤ簡榪?涓弬鏁幫紝鍫嗘爤鐨勬牱瀛愶細
|....| 聽 <---ESP
|createfile鎵ц鍚庣殑涓嬩竴鏉℃寚浠ゅ湴鍧|
|鍙傛暟1|
|鍙傛暟2|
|鍙傛暟3|
|鍙傛暟4|
|鍙傛暟5|
|鍙傛暟6|
|鍙傛暟7|
|..|

榪欐槸鎵ц鍒版垜浠殑璺寵漿璇彞錛歅USH 00010000,浜庢槸鍫嗘爤鍙堝彉浜嗭細

|....| 聽 <---ESP
|00010000|
|createfile鎵ц鍚庣殑涓嬩竴鏉℃寚浠ゅ湴鍧|
|鍙傛暟1|
|鍙傛暟2|
|鍙傛暟3|
|鍙傛暟4|
|鍙傛暟5|
|鍙傛暟6|
|鍙傛暟7|
|..|

鎺ョ潃鎵цCALL 00011000,鍫嗘爤鍙樹負錛?br />|...| <---ESP
|api鍏ュ彛涔嬪悗鐨勭11涓瓧鑺傜殑鎸囦護鐨勫湴鍧| 聽
|00010000|
|createfile鎵ц鍚庣殑涓嬩竴鏉℃寚浠ゅ湴鍧|
|鍙傛暟1|
|鍙傛暟2|
|鍙傛暟3|
|鍙傛暟4|
|鍙傛暟5|
|鍙傛暟6|
|鍙傛暟7|
|..|

鎺ヤ笅鏉ュ氨鍒頒簡鎴戜滑鐨勬嫤鎴嚱鏁頒腑鎷夛紝褰撶劧錛屽嚱鏁拌偗瀹氫篃浼氬仛涓浜涚被浼煎姩浣滐紝鎶奅BP鍘嬫爤錛屼負灞閮ㄥ彉閲忓垎閰嶇┖闂寸瓑銆傝繖鏃跺欏爢鏍堢殑鏍峰瓙鍙堝彉浜嗭細

|EDI| <---ESP
|ESI|
|EBX|
|灞閮ㄥ彉閲弢
|EBP| 聽 <---EBP
|api鍏ュ彛涔嬪悗鐨勭11涓瓧鑺傜殑鎸囦護鐨勫湴鍧| 聽
|00010000|
|createfile鎵ц鍚庣殑涓嬩竴鏉℃寚浠ゅ湴鍧|
|鍙傛暟1|
|鍙傛暟2|
|鍙傛暟3|
|鍙傛暟4|
|鍙傛暟5|
|鍙傛暟6|
|鍙傛暟7|
|..|

榪欐椂鍊欙紝浣犳兂鍋氫粈涔堝氨灝芥儏鍦板仛鍚э紝鑾峰彇鍙傛暟淇℃伅錛屽歡緙撴墽琛孋reateFile鍑芥暟絳夌瓑銆傛嬁鑾峰彇鎵撳紑鏂囦歡鍙ユ焺鐨勫悕瀛楁潵璇村惂錛屾枃浠跺悕鏄涓涓弬鏁幫紝鍓嶉潰璇磋繃鎴戜滑鍙互鐢╗EBP+8]鏉ヨ幏鍙栧弬鏁幫紝浣嗘槸瀵圭収涓婇潰鐨勫爢鏍堝艦鐘訛紝涓棿鍙堝姞浜嗗彟澶栦竴浜涙暟鎹紝鎵浠ユ垜浠敤[EBP+16]鏉ヨ幏鍙栫涓涓弬鏁扮殑鍦板潃銆傛瘮濡傦細
char* PFileName = NULL;
__asm{
MOV EAX,[EBP+16]
MOV [szFileName], EAX
}

姣斿鎴戜滑鐢ㄤ竴涓猰essagebox鏉ュ脊鍑轟竴涓俊鎭紝璇存槑璇ョ▼搴忓嵆灝嗘墦寮涓涓煇璋嬭礬寰勭殑鏂囦歡鍙ユ焺銆備絾鏄湁涓涓娉ㄦ剰鐨勬槸錛屽鏋滀綘鎯蟲嫤鎴繙紼嬭繘紼嬬殑璇濓紝瀵逛簬閭d釜鎷︽埅鍑芥暟涓墍浣跨敤鍒扮殑浠諱綍鍑芥暟鎴栬呬互浠諱綍褰㈠紡鐨勭浉瀵瑰湴鍧鐨勮皟鐢ㄩ兘瑕佸仠姝€傚洜涓烘瘡涓繘紼嬩腑鐨勫湴鍧鍒嗛厤閮芥槸鐙珛鐨勶紝姣斿涓婇潰鐨凜ALL MessageBoxA鏀規垚鐩存帴鍦板潃鐨勮皟鐢ㄣ傚浜庝嬌鐢╩essagebox錛屾垜浠簲璇ュ畾涔変竴涓嚱鏁版寚閽堬紝鐒跺悗鎶婅繖涓寚閽堢殑鍊艱祴鍊間負user32.dll涓鍑鴻鍑芥暟鐨勭洿鎺ュ湴鍧銆傜劧鍚庡埄鐢ㄨ繖涓寚閽堟潵榪涜鍑芥暟璋冪敤銆傚浜巑essagebox鍑芥暟鐨勮皟鐢ㄥ彲浠ヨ繖鏍鳳紝鍦ㄦ簮紼嬪簭涓畾涔変竴涓弬鏁扮粨鏋勪綋錛屽弬鏁頒腑鍖呭惈涓涓鍑哄嚱鏁扮殑鍦板潃,鎶婅繖涓湴鍧璁句負MessageBoxA鐨勭洿鎺ュ湴鍧錛岃幏鍙栧湴鍧鐨勬柟娉曞氨涓嶈浜嗐傜劧鍚庢妸榪欎釜鍙傛暟浼犵粰鎷︽埅鍑芥暟錛屽氨鍙互浣跨敤鎷夈傝繖涔熸槸鍒╃敤涓涓弬鏁扮殑鍘熷洜銆傜被浼間唬鐮佸涓嬶細


typedef struct _RemoteParam {
聽 DWORD dwMessageBox;
} RemoteParam, * PRemoteParam;

typedef int (__stdcall * PFN_MESSAGEBOX)(HWND, LPCTSTR, LPCTSTR, DWORD);//瀹氫箟涓涓嚱鏁版寚閽?br />
//鎷︽埅鍑芥暟
void HookCreateFile(LPVOID lParam)
{
RemoteParam* pRP = (RemoteParam*)lParam;//鑾峰彇鍙傛暟鍦板潃
char* PFileName = NULL;//瀹氫箟涓涓寚閽?br />__asm{
MOV EAX,[EBP+16]
MOV [szFileName], EAX //鎶奀reateFile絎竴涓弬鏁扮殑鍊鹼紝鏂囦歡鐨勮礬寰勭殑鍦板潃浼?聽 聽 聽 聽 聽 聽 聽 //緇檚zFileName
}

//瀹?涔変竴涓嚱鏁版寚閽?br />PFN_MESSAGEBOX pfnMessageBox = (PFN_MESSAGEBOX)pRP->dwMessageBox;

pfnMessageBox(NULL, PFileName, PFileName, MB_ICONINFORMATION |MB_OK);
//杈撳嚭瑕佹墦寮鐨勬枃浠剁殑璺緞
//.....
}

瀵逛簬浣犺浣跨敤鐨勫叾浠栧嚱鏁幫紝閮芥槸浣跨敤鍚屾牱鐨勬柟寮忥紝鍒╃敤榪欎釜鍙傛暟鏉ヤ紶閫掓垜浠浼犻掔殑鍑芥暟鐨勭粷瀵瑰湴鍧錛岀劧鍚庡畾涔夎繖涓嚱鏁版寚閽堬紝灝卞彲浠ヤ嬌鐢ㄤ簡銆?br />

濂戒簡錛屾帴涓嬫潵鎴戜滑璇ヨ琚嫤鎴殑api姝e父宸ヤ綔浜嗭紝榪欎釜涓嶉毦錛屾妸浠栧師鏉ョ殑鏁版嵁鎭㈠涓涓嬪氨鍙互浜嗐傞偅鍏ュ彛鐨?0涓瓧鑺傘傛垜浠湪鏀瑰啓浠栦滑鐨勬椂鍊欏簲璇ヤ繚瀛樹竴涓嬶紝鐒跺悗涔熸妸浠栨斁鍦ㄥ弬鏁頒腑浼犻掔粰鎷︽埅鍑芥暟錛屽懙鍛碉紝鍙傛暟鐨勪綔鐢ㄥ彲澶氫簡銆傛帴鐫鎴戜滑灝卞彲浠ョ敤WriteProcessMemory鍑芥暟鏉ユ仮澶嶈繖涓猘pi鐨勫叆鍙d簡錛屼唬鐮佸涓嬶細
PFN_GETCURRENTPROCESS pfnGetCurrentProcess = (PFN_GETCURRENTPROCESS)pRP->dwGetCurrentProcess;
PFN_WRITEPROCESSMEMORY pfnWriteProcessMemory = (PFN_WRITEPROCESSMEMORY)pRP->dwWriteProcessMemory;

if(!pfnWriteProcessMemory(pfnGetCurrentProcess(),
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 (LPVOID)pfnConnect,
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 (LPCVOID)pRP->szOldCode,
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 10,
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 NULL))
pfnMessageBox(NULL, pRP->szModuleName1, pRP->szModuleName2, MB_ICONINFORMATION | MB_OK);
鍏朵腑榪欎簺鍑芥暟鎸囬拡鐨勫畾涔夊拰涓婇潰鐨勭被浼箋?br />鑰屽弬鏁頒腑鐨剆zoldcode鍒欐槸鍦ㄦ簮紼嬪簭涓湪淇敼api涔嬪墠淇濆瓨濂斤紝鐒跺悗浼犵粰鎷︽埅鍑芥暟錛屽湪婧愮▼搴忎腑鏄敤ReadProcessMemory鍑芥暟鏉ヨ幏鍙栦粬鐨勫墠10涓瓧鑺傜殑錛?br />ReadProcessMemory(GetCurrentProcess(),
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 (LPCVOID)RParam.dwCreateFile,
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oldcode,
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 10,
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 &dwPid)
strcat((char*)RParam.szOldCode, (char*)oldcode);


鎺ヤ笅鏉ュ鏋滀綘榪樼戶緇繚鎸佸璇pi鐨勬嫤鎴紝鍒欏張璇ョ敤WriteProcessMemory 鏉ヤ慨鏀瑰叆鍙d簡錛岃窡鍓嶉潰鐨勬仮澶嶅叆鍙f槸涓鏍風殑錛屽彧涓嶈繃鎶妔zOldCode鎹㈡垚浜唖zNewCode浜嗚屽凡銆傝繖鏍蜂綘鍙堣兘瀵笴reateFile緇х畫鎷︽埅浜嗐?br />
濂戒簡錛屾帴涓嬫潵璇ヨ繘琛屽爢鏍堢殑娓呯悊浜嗭紝涔熻浣犺繕瑕佸仛鐐瑰叾浠栦簨鎯咃紝灝界鍋氬幓銆備絾鏄竻鐞嗗爢鏍堟槸蹇呴』瑕佸仛鐨勶紝鍦ㄥ嚱鏁扮粨鏉熺殑鏃跺欙紝鍥犱負鍦ㄦ垜浠斁浠籥pi鎭㈠鎵ц涔嬪悗錛屼粬鍙坮eturn 鍒版垜浠殑鍑芥暟涓潵浜嗭紝榪欎釜鏃跺欑殑鍫嗘爤鏄粈涔堟牱瀛愬憿錛?br />|EDI| <---ESP
|ESI|
|EBX|
|灞閮ㄥ彉閲弢
|EBP| 聽 <---EBP
|api鍏ュ彛涔嬪悗鐨勭11涓瓧鑺傜殑鎸囦護鐨勫湴鍧| 聽
|00010000|
|createfile鎵ц鍚庣殑涓嬩竴鏉℃寚浠ゅ湴鍧|
|鍙傛暟1|
|鍙傛暟2|
|鍙傛暟3|
|鍙傛暟4|
|鍙傛暟5|
|鍙傛暟6|
|鍙傛暟7|
|..|

鎴戜滑鐨勭洰鏍囨槸鎶婅繑鍥炲艱褰曚笅鏉ユ斁鍒癊AX瀵勫瓨鍣ㄤ腑鍘伙紝鎶婅繑鍥炲湴鍧璁板綍涓嬫潵錛屽悓鏃舵妸鍫嗘爤鎭㈠鎴愬師鏉ョ殑鏍峰瓙銆?br />棣栧厛鎴戜滑鎭㈠閭d簺瀵勫瓨鍣ㄧ殑鍊鹼紝鎺ョ潃閲婃斁灞閮ㄥ彉閲忥紝鍙互鐢╩ov esp, ebp.鍥犱負鎴戜滑涓嶆竻妤氬叿浣撶殑灞閮ㄥ彉閲忓垎閰嶄簡澶氬皯絀洪棿銆傛墍浠ヤ嬌鐢ㄨ繖涓柟娉曘?br />

__asm
{POP EDI
POP ESI
POP EBX 聽 //鎭㈠閭d簺瀵勫瓨鍣?br />MOV EDX, [NextIpAddr]//鎶婅繑鍥炲湴鍧鏀懼埌EDX涓紝鍥犱負寰呬細鍎?聽 聽 聽 聽 聽 聽 //EBX琚仮澶嶅悗錛岀嚎紼嬩腑鐨勬墍鏈夊眬閮ㄥ彉閲忓氨涓嶈兘姝e父浣跨敤浜嗐?br />聽 聽 聽
MOV EAX, [RetValue]//榪斿洖鍊兼斁鍒癊AX涓紝褰撶劧涔熷彲浠ヤ慨鏀硅繖涓繑鍥炲?br />MOV ESP, EBP//娓呯悊灞閮ㄥ彉閲?br />POP EBP//鎭㈠EBP鐨勫?br />ADD ESP, 28H //娓呯悊鍙傛暟鍜岃繑鍥炲湴鍧錛屾敞鎰忎竴鍏?7+1+1+1)*4
PUSH EDX //鎶婅繑鍥炲湴鍧鍘嬫爤錛岃繖鏍鋒爤涓氨鍙湁榪欎竴涓繑鍥炲湴鍧浜嗭紝榪斿洖涔嬪悗鏍?聽 聽 聽 //灝辯┖浜?br />RET
}

榪欐牱錛屼竴鍒囧氨瀹屾垚浜嗭紝鍫嗘爤鎭㈠浜嗗簲璇ユ湁鐨勭姸鎬侊紝鑰屼綘鎯蟲嫤鎴殑涔熸嫤鎴埌浜嗐?br />

鍥涳細鍚庤
聽 鎷︽埅鐨勬柟寮忓縐嶅鏍鳳紝涓嶈繃澶т綋鐨勬濊礬鍗撮兘鐩稿悓銆傝鏃跺埢娉ㄦ剰浣犺鎷︽埅鐨勫嚱鏁扮殑鍫嗘爤鐘舵佷互鍙婂湪鎷︽埅鍑芥暟涓殑瀵規暟鎹殑寮曠敤鍜屽嚱鏁扮殑璋冪敤錛堝湴鍧闂錛夈?br />

//////////////////////////////////////////////////////////////////////
闄勫綍錛氫竴涓嫤鎴狢reateFile鍑芥暟鐨勭畝鍗曞疄鐜?br />//////////////////////////////////////////////////////////////////////
CODE:

#include <stdio.h>
#include <windows.h>
#include <Psapi.h>

#pragma comment(lib, "psapi.lib")

typedef struct _RemoteParam {
聽 DWORD dwCreateFile;
聽 DWORD dwMessageBox;
聽 DWORD dwGetCurrentProcess;
聽 DWORD dwWriteProcessMemory;
聽 unsigned char szOldCode[10];
聽 DWORD FunAddr;
} RemoteParam, * PRemoteParam;

typedef HANDLE (__stdcall * PFN_CREATEFILE)(LPCTSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE);
typedef int (__stdcall * PFN_MESSAGEBOX)(HWND, LPCTSTR, LPCTSTR, DWORD);
typedef BOOL (__stdcall * PFN_WRITEPROCESSMEMORY)(HANDLE,LPVOID,LPCVOID,SIZE_T,SIZE_T*);
typedef HANDLE (__stdcall * PFN_GETCURRENTPROCESS)(void);

#define PROCESSNUM 128
#define MYMESSAGEBOX "MessageBoxW"
#define MYCREATEFILE "CreateFileW"

void HookCreateFile(LPVOID lParam)
{

聽 RemoteParam* pRP = (RemoteParam*)lParam;


聽 DWORD NextIpAddr = 0;
聽 DWORD dwParamaAddr = 0;

聽 HANDLE RetFpHdl = INVALID_HANDLE_VALUE;
聽 LPCTSTR lpFileName;
聽 DWORD dwDesiredAccess;
聽 DWORD dwShareMode;
聽 LPSECURITY_ATTRIBUTES lpSecurityAttributes;
聽 DWORD dwCreationDisposition;
聽 DWORD dwFlagsAndAttributes;
聽 HANDLE hTemplateFile;
聽 PFN_CREATEFILE pfnCreatefile = (PFN_CREATEFILE)pRP->dwCreateFile;


聽 __asm
聽 {
聽 MOV EAX,[EBP+8]
聽 MOV [dwParamaAddr], EAX
聽 MOV EAX,[EBP+12] 聽 聽 聽
聽 MOV [NextIpAddr], EAX
聽 MOV EAX,[EBP+16]
聽 MOV [lpFileName], EAX
聽 MOV EAX,[EBP+20]
聽 MOV [dwDesiredAccess],EAX
聽 MOV EAX,[EBP+24]
聽 MOV [dwShareMode],EAX
聽 MOV EAX,[EBP+28]
聽 MOV [lpSecurityAttributes],EAX
聽 MOV EAX,[EBP+32]
聽 MOV [dwCreationDisposition],EAX
聽 MOV EAX,[EBP+36]
聽 MOV [dwFlagsAndAttributes],EAX
聽 MOV EAX,[EBP+40]
聽 MOV [hTemplateFile],EAX 聽
聽 }

聽 PFN_MESSAGEBOX pfnMessageBox = (PFN_MESSAGEBOX)pRP->dwMessageBox;
聽 int allowFlag = pfnMessageBox(NULL, lpFileName, NULL, MB_ICONINFORMATION | MB_YESNO);

聽 if(allowFlag == IDYES)
聽 {
聽 unsigned char szNewCode[10];
聽 int PramaAddr = (int)dwParamaAddr;
聽 szNewCode[4] = PramaAddr>>24;
聽 szNewCode[3] = (PramaAddr<<8)>>24;
聽 szNewCode[2] = (PramaAddr<<16)>>24;
聽 szNewCode[1] = (PramaAddr<<24)>>24;
聽 szNewCode[0] = 0x68;

聽 int funaddr = (int)pRP->FunAddr - (int)pfnCreatefile - 10 ;
聽 szNewCode[9] = funaddr>>24;
聽 szNewCode[8] = (funaddr<<8)>>24;
聽 szNewCode[7] = (funaddr<<16)>>24;
聽 szNewCode[6] = (funaddr<<24)>>24;
聽 szNewCode[5] = 0xE8;


聽 PFN_GETCURRENTPROCESS pfnGetCurrentProcess = (PFN_GETCURRENTPROCESS)pRP->dwGetCurrentProcess;
聽 PFN_WRITEPROCESSMEMORY pfnWriteProcessMemory = (PFN_WRITEPROCESSMEMORY)pRP->dwWriteProcessMemory;
聽 pfnWriteProcessMemory(pfnGetCurrentProcess(),
聽 聽 聽 聽 聽 聽 聽 聽 (LPVOID)pfnCreatefile,
聽 聽 聽 聽 聽 聽 聽 聽 (LPCVOID)pRP->szOldCode,
聽 聽 聽 聽 聽 聽 聽 聽 10,
聽 聽 聽 聽 聽 聽 聽 聽 NULL);

聽 RetFpHdl = pfnCreatefile(lpFileName,
聽 聽 聽 聽 聽 聽 聽 聽 聽 dwDesiredAccess,
聽 聽 聽 聽 聽 聽 聽 聽 聽 dwShareMode,
聽 聽 聽 聽 聽 聽 聽 聽 聽 lpSecurityAttributes,
聽 聽 聽 聽 聽 聽 聽 聽 聽 dwCreationDisposition,
聽 聽 聽 聽 聽 聽 聽 聽 聽 dwFlagsAndAttributes,
聽 聽 聽 聽 聽 聽 聽 聽 聽 hTemplateFile);
聽 pfnWriteProcessMemory(pfnGetCurrentProcess(),
聽 聽 聽 聽 聽 聽 聽 聽 (LPVOID)pfnCreatefile,
聽 聽 聽 聽 聽 聽 聽 聽 (LPCVOID)szNewCode,
聽 聽 聽 聽 聽 聽 聽 聽 10,
聽 聽 聽 聽 聽 聽 聽 聽 NULL);
聽 }


聽 __asm
聽 聽 {POP EDI
聽 聽 聽 POP ESI
聽 聽 聽 POP EBX
聽 聽 聽 MOV EDX, [NextIpAddr]
聽 聽 聽 MOV EAX, [RetFpHdl]
聽 聽 聽 MOV ESP, EBP
聽 聽 聽 POP EBP
聽 聽 聽 ADD ESP, 28H
聽 聽 聽 PUSH EDX
聽 聽 聽 RET
聽 聽 }


}



BOOL AdjustProcessPrivileges(LPCSTR szPrivilegesName)
{
聽 HANDLE hToken;
聽 TOKEN_PRIVILEGES tkp;

聽 if(!OpenProcessToken(GetCurrentProcess(),
聽 聽 TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken))
聽 {
聽 聽 return FALSE;
聽 }

聽 if(!LookupPrivilegeValue(NULL,szPrivilegesName,
聽 聽 聽 聽 聽 聽 聽 聽 聽 &tkp.Privileges[0].Luid))
聽 {
聽 聽 CloseHandle(hToken);
聽 聽 return FALSE;
聽 }

聽 tkp.PrivilegeCount = 1;
聽 tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

聽 if(!AdjustTokenPrivileges(hToken,FALSE,&tkp,sizeof(tkp),NULL,NULL))
聽 {
聽 聽 CloseHandle(hToken);
聽 聽 return FALSE;
聽 }

聽 CloseHandle(hToken);
聽 return TRUE;
}


void printProcessNameByPid( DWORD ProcessId )
{
聽 HANDLE pHd;
聽 HMODULE pHmod;
聽 char ProcessName[MAX_PATH] = "unknown";
聽 DWORD cbNeeded;
聽 pHd = OpenProcess( PROCESS_QUERY_INFORMATION |PROCESS_VM_READ, FALSE, ProcessId );
聽 if(pHd == NULL)
聽 聽 return;

聽 if(!EnumProcessModules( pHd, &pHmod, sizeof(pHmod), &cbNeeded))
聽 聽 return;
聽 if(!GetModuleFileNameEx( pHd, pHmod, ProcessName, MAX_PATH))
聽 聽 return;

聽 printf( "%d\t%s\n", ProcessId, ProcessName);
聽 CloseHandle( pHd );
聽 return;
}


int main(void)
{

聽 if(!AdjustProcessPrivileges(SE_DEBUG_NAME))
聽 {
聽 聽 聽 printf("AdjustProcessPrivileges Error!\n");
聽 聽 聽 return -1;
聽 }

聽 DWORD Pids[PROCESSNUM];
聽 DWORD dwProcessNum = 0;
聽 if(!EnumProcesses(Pids, sizeof(Pids), &dwProcessNum))
聽 {
聽 聽 聽 printf("EnumProcess Error!\n");
聽 聽 聽 return -1;
聽 }

聽 for( DWORD num = 0; num < (dwProcessNum / sizeof(DWORD)); num++)
聽 聽 聽 printProcessNameByPid(Pids[num]);

聽 printf("\nAll %d processes running. \n", dwProcessNum / sizeof(DWORD));

聽 DWORD dwPid = 0;
聽 printf("\n璇瘋緭鍏ヨ鎷︽埅鐨勮繘紼媔d:");
聽 scanf("%d", &dwPid);

聽 HANDLE hTargetProcess = OpenProcess(PROCESS_VM_OPERATION|PROCESS_VM_WRITE|PROCESS_VM_READ, FALSE, dwPid);
聽 if(hTargetProcess == NULL)
聽 {
聽 聽 聽 printf("OpenProcess Error!\n");
聽 聽 聽 return -1;
聽 }

聽 DWORD dwFunAddr = (DWORD)VirtualAllocEx(hTargetProcess, NULL, 8192,
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);

聽 if((LPVOID)dwFunAddr == NULL)
聽 {
聽 聽 聽 printf("鐢寵綰跨▼鍐呭瓨澶辮觸!\n");
聽 聽 聽 CloseHandle(hTargetProcess);
聽 聽 聽 return -1;
聽 }

聽 DWORD dwPramaAddr = (DWORD)VirtualAllocEx(hTargetProcess, NULL, sizeof(RemoteParam),
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);

聽 if((LPVOID)dwPramaAddr == NULL)
聽 {
聽 聽 聽 printf("鐢寵鍙傛暟鍐呭瓨澶辮觸!\n");
聽 聽 聽 CloseHandle(hTargetProcess);
聽 聽 聽 return -1;
聽 }

聽 printf("\n綰跨▼鍐呭瓨鍦板潃:%.8x\n"
聽 聽 聽 聽 "鍙傛暟鍐呭瓨鍦板潃:%.8x\n",
聽 聽 聽 聽 dwFunAddr, dwPramaAddr);
聽 聽 RemoteParam RParam;
聽 ZeroMemory(&RParam, sizeof(RParam));
聽 HMODULE hKernel32 = LoadLibrary("kernel32.dll");
聽 HMODULE hUser32 = LoadLibrary("user32.dll");

聽 RParam.dwCreateFile = (DWORD)GetProcAddress(hKernel32, MYCREATEFILE);
聽 RParam.dwGetCurrentProcess = (DWORD)GetProcAddress(hKernel32, "GetCurrentProcess");
聽 RParam.dwWriteProcessMemory = (DWORD)GetProcAddress(hKernel32, "WriteProcessMemory");
聽 RParam.dwMessageBox = (DWORD)GetProcAddress(hUser32, MYMESSAGEBOX);

聽 unsigned char oldcode[10];
聽 unsigned char newcode[10];
聽 int praadd = (int)dwPramaAddr;
聽 int threadadd = (int)dwFunAddr;
聽 newcode[4] = praadd>>24;
聽 newcode[3] = (praadd<<8)>>24;
聽 newcode[2] = (praadd<<16)>>24;
聽 newcode[1] = (praadd<<24)>>24;
聽 newcode[0] = 0x68;

聽 int offsetaddr = threadadd - (int)RParam.dwCreateFile - 10 ;
聽 newcode[9] = offsetaddr>>24;
聽 newcode[8] = (offsetaddr<<8)>>24;
聽 newcode[7] = (offsetaddr<<16)>>24;
聽 newcode[6] = (offsetaddr<<24)>>24;
聽 newcode[5] = 0xE8;

聽 printf("NewCode:");
聽 for(int j = 0; j < 10; j++)
聽 聽 聽 printf("0x%.2x ",newcode[j]);
聽 printf("\n\n");



聽 if(!ReadProcessMemory(GetCurrentProcess(),
聽 聽 聽 聽 聽 聽 聽 聽 聽 (LPCVOID)RParam.dwCreateFile,
聽 聽 聽 聽 聽 聽 聽 聽 聽 oldcode,
聽 聽 聽 聽 聽 聽 聽 聽 聽 10,
聽 聽 聽 聽 聽 聽 聽 聽 聽 &dwPid))
聽 {
聽 聽 聽 printf("read error");
聽 聽 聽 CloseHandle(hTargetProcess);
聽 聽 聽 FreeLibrary(hKernel32);
聽 聽 聽 return -1;
聽 }

聽 strcat((char*)RParam.szOldCode, (char*)oldcode);
聽 RParam.FunAddr = dwFunAddr;

聽 printf(
聽 聽 聽 聽 "RParam.dwCreateFile:%.8x\n"
聽 聽 聽 聽 "RParam.dwMessageBox:%.8x\n"
聽 聽 聽 聽 "RParam.dwGetCurrentProcess:%.8x\n"
聽 聽 聽 聽 "RParam.dwWriteProcessMemory:%.8x\n"
聽 聽 聽 聽 "RParam.FunAddr:%.8x\n",
聽 聽 聽 聽 RParam.dwCreateFile,
聽 聽 聽 聽 RParam.dwMessageBox,
聽 聽 聽 聽 RParam.dwGetCurrentProcess,
聽 聽 聽 聽 RParam.dwWriteProcessMemory,
聽 聽 聽 聽 RParam.FunAddr);
聽 printf("RParam.szOldCode:");
聽 for( int i = 0; i< 10; i++)
聽 聽 聽 printf("0x%.2x ", RParam.szOldCode[i]);
聽 printf("\n");


聽 if(!WriteProcessMemory(hTargetProcess, (LPVOID)dwFunAddr, (LPVOID)&HookCreateFile, 8192, &dwPid))
聽 {
聽 聽 聽 printf("WriteRemoteProcessesMemory Error!\n");
聽 聽 聽 CloseHandle(hTargetProcess);
聽 聽 聽 FreeLibrary(hKernel32);
聽 聽 聽 return -1;
聽 }

聽 if(!WriteProcessMemory(hTargetProcess, (LPVOID)dwPramaAddr, (LPVOID)&RParam, sizeof(RemoteParam), &dwPid))
聽 {
聽 聽 聽 printf("WriteRemoteProcessesMemory Error!\n");
聽 聽 聽 CloseHandle(hTargetProcess);
聽 聽 聽 FreeLibrary(hKernel32);
聽 聽 聽 return -1;
聽 }

聽 if(!WriteProcessMemory(hTargetProcess, (LPVOID)RParam.dwCreateFile, (LPVOID)newcode, 10, &dwPid))
聽 {
聽 聽 聽 printf("WriteRemoteProcessesMemory Error!\n");
聽 聽 聽 CloseHandle(hTargetProcess);
聽 聽 聽 FreeLibrary(hKernel32);
聽 聽 聽 return -1;
聽 }

聽 printf("\nThat's all, good luck :)\n");
聽 CloseHandle(hTargetProcess);
聽 FreeLibrary(hKernel32);
聽 return 0;
}


]]>
[鏀墮泦]鍏充簬姹囩紪80X87FPU嫻偣榪愮畻http://www.shnenglu.com/saga/archive/2007/01/17/17721.htmlsaga.constantinesaga.constantineWed, 17 Jan 2007 06:46:00 GMThttp://www.shnenglu.com/saga/archive/2007/01/17/17721.htmlhttp://www.shnenglu.com/saga/comments/17721.htmlhttp://www.shnenglu.com/saga/archive/2007/01/17/17721.html#Feedback2http://www.shnenglu.com/saga/comments/commentRss/17721.htmlhttp://www.shnenglu.com/saga/services/trackbacks/17721.html 80X87FPU嫻偣鏁版嵁鐨勬牸寮忋佹誕鐐瑰瘎瀛樺櫒鐨勭壒鐐?br />
嫻偣鏁版嵁鏍煎紡:
鍦ㄨ綆楁満涓紝瀹炴暟鐨勬誕鐐規牸寮忥紙Floating-Point Format錛夋墍紺猴紝鍒嗘垚鎸囨暟銆佹湁鏁堟暟瀛楀拰絎﹀彿浣嶄笁涓儴鍒嗐?br />路聽 絎﹀彿錛圫ign錛夆斺旇〃紺烘暟鎹殑姝h礋錛屽湪鏈楂樻湁鏁堜綅錛圡SB錛夈傝礋鏁扮殑絎﹀彿浣嶄負1錛屾鏁扮殑絎﹀彿涓?銆?br />路聽 鎸囨暟錛圗xponent錛夆斺斾篃琚О涓洪樁鐮侊紝琛ㄧず鏁版嵁浠?涓哄簳鐨勫箓銆傛寚鏁伴噰鐢ㄥ亸縐葷爜錛圔iased Exponent錛夎〃紺猴紝鎭掍負鏁存暟銆?br />路聽 鏈夋晥鏁板瓧錛圫ignificand錛夆斺旇〃紺烘暟鎹殑鏈夋晥鏁板瓧錛屽弽鏄犳暟鎹殑綺懼害銆傛湁鏁堟暟瀛椾竴鑸噰鐢ㄨ鏍煎寲錛圢ormalized錛夊艦寮忥紝鏄竴涓函灝忔暟錛屾墍浠ヤ篃琚О涓哄熬鏁幫紙Mantissa錛夈佸皬鏁版垨鍒嗘暟錛團raction錛夈?br />聽聽聽聽聽 80x87鏀寔涓夌嫻偣鏁版嵁綾誨瀷錛氬崟綺懼害銆佸弻綺懼害鍜屾墿灞曠簿搴︼紱瀹冧滑鐨勯暱搴︿緷嬈′負32銆?4鍜?0浣嶏紝鍗?銆?鍜?0涓瓧鑺傦紱
路聽 鍗曠簿搴︽誕鐐規暟錛?2浣嶇煭瀹炴暟錛夆斺旂敱1浣嶇鍙楓?浣嶆寚鏁般?3浣嶆湁鏁堟暟緇勬垚銆?br />路聽 鍙岀簿搴︽誕鐐規暟錛?4浣嶉暱瀹炴暟錛夆斺旂敱1浣嶇鍙楓?1浣嶆寚鏁般?2浣嶆湁鏁堟暟緇勬垚銆?br />路聽 鎵╁睍綺懼害嫻偣鏁幫紙80浣嶄復鏃跺疄鏁幫級鈥斺旂敱1浣嶇鍙楓?5浣嶆寚鏁般?4浣嶆湁鏁堟暟緇勬垚銆傚緢澶氳綆楁満涓茍娌℃湁80浣嶆墿灞曠簿搴﹁繖縐嶆暟鎹被鍨嬶紝80x87 FPU涓昏鍦ㄥ唴閮ㄤ嬌鐢ㄥ畠瀛樿串涓棿緇撴灉錛屼互淇濊瘉鏈緇堟暟鍊肩殑綺懼害銆?/p>

80x87鐨勬寚浠ょ郴緇?br />嫻偣澶勭悊鍗曞厓FPU鍏鋒湁鑷繁鐨勬寚浠ょ郴緇燂紝鍏辨湁鍑犲崄縐嶆誕鐐規寚浠わ紝鍙互鍒嗘垚浼犻併佺畻鏈繍綆椼佽秴瓚婂嚱鏁般佹瘮杈冦丗PU鎺у埗絳夌被銆傛誕鐐規寚浠ゅ綊灞炰簬ESC鎸囦護錛屽叾鍓?浣嶇殑鎿嶄綔鐮侀兘鏄?1011b錛屽畠鐨勬寚浠ゅ姪璁扮鍧囦互F寮澶淬?br />1. 嫻偣浼犻佺被鎸囦護
聽聽聽 嫻偣鏁版嵁浼犻佹寚浠ゅ畬鎴愪富瀛樹笌鏍堥《st(0)銆佹暟鎹瘎瀛樺櫒st(i)涓庢爤欏朵箣闂寸殑嫻偣鏍煎紡鏁版嵁鐨勪紶閫併傛誕鐐規暟鎹瘎瀛樺櫒鏄竴涓灝劇浉鎺ョ殑鍫嗘爤錛屾墍浠ュ畠鐨勬暟鎹紶閫佸疄闄呬笂鏄鍫嗘爤鐨勬搷浣滐紝鏈変簺瑕佹敼鍙樺爢鏍堟寚閽圱OP錛屽嵆淇敼褰撳墠鏍堥《銆?br />2. 綆楁湳榪愮畻綾繪寚浠?br />聽聽聽 榪欑被嫻偣鎸囦護瀹炵幇嫻偣鏁般?6/32浣嶆暣鏁扮殑鍔犮佸噺銆佷箻銆侀櫎榪愮畻錛屽畠浠敮鎸佺殑瀵誨潃鏂瑰紡鐩稿悓銆傝繖緇勬寚浠よ繕鍖呮嫭鏈夊叧綆楁湳榪愮畻鐨勬寚浠わ紝渚嬪姹傜粷瀵瑰箋佸彇鏁寸瓑銆?br />3. 瓚呰秺鍑芥暟綾繪寚浠?br />聽聽聽 嫻偣鎸囦護闆嗕腑鍖呭惈鏈夎繘琛屼笁瑙掑嚱鏁般佹寚鏁板拰瀵規暟榪愮畻鐨勬寚浠ゃ?br />4. 嫻偣姣旇緝綾繪寚浠?br />聽聽聽 嫻偣姣旇緝鎸囦護姣旇緝鏍堥《鏁版嵁涓庢寚瀹氱殑婧愭搷浣滄暟錛屾瘮杈冪粨鏋滈氳繃嫻偣鐘舵佸瘎瀛樺櫒鍙嶆槧銆?br />5. FPU鎺у埗綾繪寚浠?br />聽聽聽 FPU鎺у埗綾繪寚浠ょ敤浜庢帶鍒跺拰媯嫻嬫誕鐐瑰鐞嗗崟鍏僃PU鐨勭姸鎬佸強鎿嶄綔鏂瑰紡銆?/p>

閲囩敤嫻偣鎸囦護鐨勬眹緙栬璦紼嬪簭鏍煎紡錛屼笌鏁存暟鎸囦護婧愮▼搴忔牸寮忔槸綾諱技鐨勶紝浣嗘湁浠ヤ笅鍑犵偣闇瑕佹敞鎰忥細
路聽 浣跨敤FPU閫夋嫨浼寚浠?br />聽聽聽聽聽 鐢變簬姹囩紪紼嬪簭MASM榛樿鍙瘑鍒?086鎸囦護錛屾墍浠ヨ鍔犱笂.8087 / .287 / .387絳変吉鎸囦護閫夋嫨姹囩紪嫻偣鎸囦護錛涙湁鏃訛紝榪樿鍔犱笂鐩稿簲鐨?238/.386絳変吉鎸囦護銆?br />路聽 瀹氫箟嫻偣鏁版嵁
聽聽聽聽聽 鏁版嵁瀹氫箟浼寚浠d(dword) / dq(qword) / dt(tbyte)渚濇璇存槑32/64/80浣嶆暟鎹紱瀹冧滑鍙互鐢ㄤ簬瀹氫箟鍗曠簿搴︺佸弻綺懼害鍜屾墿灞曠簿搴︽誕鐐規暟銆備負浜嗗尯鍒簬鏁存暟瀹氫箟錛孧ASM 6.11寤鴻閲囩敤REAL4銆丷EAL8銆丷EAL10瀹氫箟鍗曘佸弻銆佹墿灞曠簿搴︽誕鐐規暟錛屼絾涓嶈兘鍑虹幇綰暣鏁幫紙鍏跺疄錛屾暣鏁板悗闈㈣ˉ涓皬鏁扮偣灝卞彲浠ヤ簡錛夈傜浉搴旂殑鏁版嵁灞炴т緷嬈℃槸dword銆乹word銆乼byte銆傚彟澶栵紝瀹炲父鏁板彲浠ョ敤E琛ㄧず10鐨勫箓銆?br />路聽 鍒濆鍖栨誕鐐瑰鐞嗗崟鍏?
聽聽聽聽聽 姣忓綋鎵ц涓涓柊鐨勬誕鐐圭▼搴忔椂錛岀涓鏉℃寚浠ら兘搴旇鏄垵濮嬪寲FPU鐨勬寚浠init銆傝鎸囦護娓呴櫎嫻偣鏁版嵁瀵勫瓨鍣ㄦ爤鍜屽紓甯革紝涓虹▼搴忔彁渚涗竴涓滃共鍑鈥濈殑鍒濆鐘舵併傚惁鍒欙紝閬楃暀鍦ㄦ誕鐐瑰瘎瀛樺櫒鏍堜腑鐨勬暟鎹彲鑳戒細浜х敓鍫嗘爤婧㈠嚭銆傚彟涓鏂歸潰錛屾誕鐐規寚浠ょ▼搴忔緇撴潫錛屼篃鏈濂芥竻絀烘誕鐐規暟鎹瘎瀛樺櫒銆?/p>

嫻偣瀵勫瓨鍣?
嫻偣鎵ц鐜鐨勫瘎瀛樺櫒涓昏鏄?涓氱敤鏁版嵁瀵勫瓨鍣ㄥ拰鍑犱釜涓撶敤瀵勫瓨鍣紝瀹冧滑鏄姸鎬佸瘎瀛樺櫒銆佹帶鍒跺瘎瀛樺櫒銆佹爣璁板瘎瀛樺櫒絳?br />8涓誕鐐規暟鎹瘎瀛樺櫒錛團PU Data Register錛夛紝緙栧彿FPR0 ~ FPR7銆傛瘡涓誕鐐瑰瘎瀛樺櫒閮芥槸80浣嶇殑錛屼互鎵╁睍綺懼害鏍煎紡瀛樺偍鏁版嵁銆傚綋鍏朵粬綾誨瀷鏁版嵁鍘嬪叆鏁版嵁瀵勫瓨鍣ㄦ椂錛孭FU鑷姩杞崲鎴愭墿灞曠簿搴︼紱鐩稿弽錛屾暟鎹瘎瀛樺櫒鐨勬暟鎹彇鍑烘椂錛岀郴緇熶篃浼氳嚜鍔ㄨ漿鎹㈡垚瑕佹眰鐨勬暟鎹被鍨嬨?br />聽聽聽聽聽 8涓誕鐐規暟鎹瘎瀛樺櫒緇勬垚棣栧熬鐩告帴鐨勫爢鏍堬紝褰撳墠鏍堥《ST(0)鎸囧悜鐨凢PRx鐢辯姸鎬佸瘎瀛樺櫒涓璗OP瀛楁鎸囨槑銆傛暟鎹瘎瀛樺櫒涓嶉噰鐢ㄩ殢鏈哄瓨鍙栵紝鑰屾槸鎸夌収鈥滃悗榪涘厛鍑衡濈殑鍫嗘爤鍘熷垯宸ヤ綔錛屽茍涓旈灝懼驚鐜傚悜鏁版嵁瀵勫瓨鍣ㄤ紶閫侊紙Load錛夋暟鎹椂灝辨槸鍏ユ爤錛屽爢鏍堟寚閽圱OP鍏堝噺1錛屽啀灝嗘暟鎹帇鍏ユ爤欏跺瘎瀛樺櫒錛涗粠鏁版嵁瀵勫瓨鍣ㄥ彇鍑猴紙Store錛夋暟鎹椂灝辨槸鍑烘爤錛屽厛灝嗘爤欏跺瘎瀛樺櫒鏁版嵁寮瑰嚭錛屽啀淇敼鍫嗘爤鎸囬拡浣縏OP鍔?銆傛誕鐐瑰瘎瀛樺櫒鏍堣繕鏈夐灝懼驚鐜浉榪炵殑鐗圭偣銆備緥濡傦紝鑻ュ綋鍓嶆爤欏禩OP=0錛堝嵆ST(0) = PFR0錛夛紝閭d箞錛屽叆鏍堟搷浣滃悗灝變嬌TOP=7錛堝嵆浣縎T(0) = PFR7錛夛紝鏁版嵁琚帇鍏FR7銆傛墍浠ワ紝嫻偣鏁版嵁瀵勫瓨鍣ㄥ父甯歌縐頒負嫻偣鏁版嵁鏍堛?br />聽聽聽聽聽 涓轟簡琛ㄦ槑嫻偣鏁版嵁瀵勫瓨鍣ㄤ腑鏁版嵁鐨勬ц川錛屽搴旀瘡涓狥PR瀵勫瓨鍣紝閮芥湁涓涓?浣嶇殑鏍囪錛圱ag錛変綅錛岃繖8涓爣璁皌ag0 ~ tag7緇勬垚涓涓?6浣嶇殑鏍囪瀵勫瓨鍣ㄣ?/p>

]]>
[杞創]鍐呭瓨瀵歸綈涓嶢NSI C涓璼truct鍨嬫暟鎹殑鍐呭瓨甯冨眬錛圫truct Alignment錛?/title><link>http://www.shnenglu.com/saga/archive/2006/05/28/7774.html</link><dc:creator>saga.constantine</dc:creator><author>saga.constantine</author><pubDate>Sun, 28 May 2006 08:15:00 GMT</pubDate><guid>http://www.shnenglu.com/saga/archive/2006/05/28/7774.html</guid><wfw:comment>http://www.shnenglu.com/saga/comments/7774.html</wfw:comment><comments>http://www.shnenglu.com/saga/archive/2006/05/28/7774.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/saga/comments/commentRss/7774.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/saga/services/trackbacks/7774.html</trackback:ping><description><![CDATA[閫夋嫨鑷?soloist 鐨?Blog 浣滆?涓嶈聽 濡傚師浣滆呭彂鐜板茍涓嶅厑璁歌漿杞借閫氱煡鎴戯紝鎴戜細鍒犻櫎錛?img src="../../Emoticons/QQ/41.gif" border="0" height="20" width="20" /><br /><br /><br />褰撳湪C涓畾涔変簡涓涓粨鏋勭被鍨嬫椂錛屽畠鐨勫ぇ灝忔槸鍚︾瓑浜庡悇瀛楁(field)澶у皬涔嬪拰錛熺紪璇戝櫒灝嗗浣曞湪鍐呭瓨涓斁緗繖<font face="Courier New" size="4">浜涘瓧孌碉紵ANSI C瀵圭粨鏋勪綋鐨勫唴瀛樺竷灞鏈変粈涔堣姹傦紵鑰屾垜浠殑紼嬪簭鍙堣兘鍚︿緷璧栬繖縐嶅竷灞錛熻繖浜涢棶棰樻垨璁稿涓嶅皯鏈嬪弸</font><font face="Courier New" size="4">鏉ヨ榪樻湁鐐規ā緋婏紝閭d箞鏈枃灝辮瘯鐫鎺㈢┒瀹冧滑鑳屽悗鐨勭瀵嗐?/font><p><font face="Courier New" size="4">聽聽聽 棣栧厛錛岃嚦灝戞湁涓鐐瑰彲浠ヨ偗瀹氾紝閭e氨鏄疉NSI C淇濊瘉緇撴瀯浣撲腑鍚勫瓧孌靛湪鍐呭瓨涓嚭鐜扮殑浣嶇疆鏄殢瀹冧滑鐨勫0鏄庨『搴忎緷</font><font face="Courier New" size="4">嬈¢掑鐨勶紝騫朵笖絎竴涓瓧孌電殑棣栧湴鍧絳変簬鏁翠釜緇撴瀯浣撳疄渚嬬殑棣栧湴鍧銆傛瘮濡傛湁榪欐牱涓涓粨鏋勪綋錛?br />聽 <br />聽 <font color="#a52a2a">struct vector{int x,y,z;} s;<br />聽 int *p,*q,*r;<br />聽 struct vector *ps;<br />聽 <br />聽 p = &s.x;<br />聽 q = &s.y;<br />聽 r = &s.z;<br />聽 ps = &s;</font></font></p><p><font color="#a52a2a" face="Courier New" size="4">聽 assert(p < q);<br />聽 assert(p < r);<br />聽 assert(q < r);<br />聽 assert((int*)ps == p);<br />聽 <font color="#006400">// 涓婅堪鏂█涓瀹氫笉浼氬け璐?/font></font></p><p><font face="Courier New" size="4">聽聽聽 榪欐椂錛屾湁鏈嬪弸鍙兘浼氶棶:"鏍囧噯鏄惁瑙勫畾鐩擱偦瀛楁鍦ㄥ唴瀛樹腑涔熺浉閭?"銆? 鍞旓紝瀵逛笉璧鳳紝ANSI C娌℃湁鍋氬嚭淇濊瘉錛?/font><font face="Courier New" size="4">浣犵殑紼嬪簭鍦ㄤ換浣曟椂鍊欓兘涓嶅簲璇ヤ緷璧栬繖涓亣璁俱傞偅榪欐槸鍚︽剰鍛崇潃鎴戜滑姘歌繙鏃犳硶鍕懼嫆鍑轟竴騫呮洿娓呮櫚鏇寸簿紜殑緇撴瀯浣撳唴</font><font face="Courier New" size="4">瀛樺竷灞鍥撅紵鍝︼紝褰撶劧涓嶆槸銆備笉榪囧厛璁╂垜浠粠榪欎釜闂涓殏鏃舵娊韜紝鍏蟲敞涓涓嬪彟涓涓噸瑕侀棶棰樷斺斺斺斿唴瀛樺榻愩?/font></p><p><font face="Courier New" size="4">聽聽聽 璁稿瀹為檯鐨勮綆楁満緋葷粺瀵瑰熀鏈被鍨嬫暟鎹湪鍐呭瓨涓瓨鏀劇殑浣嶇疆鏈夐檺鍒訛紝瀹冧滑浼氳姹傝繖浜涙暟鎹殑棣栧湴鍧鐨勫兼槸鏌?/font><font face="Courier New" size="4">涓暟k(閫氬父瀹冧負4鎴?)鐨勫嶆暟錛岃繖灝辨槸鎵璋撶殑鍐呭瓨瀵歸綈錛岃岃繖涓猭鍒欒縐頒負璇ユ暟鎹被鍨嬬殑瀵歸綈妯℃暟(alignment </font><font face="Courier New" size="4">modulus)銆傚綋涓縐嶇被鍨婼鐨勫榻愭ā鏁頒笌鍙︿竴縐嶇被鍨婽鐨勫榻愭ā鏁扮殑姣斿兼槸澶т簬1鐨勬暣鏁幫紝鎴戜滑灝辯О綾誨瀷S鐨勫榻愯姹?/font><font face="Courier New" size="4">姣擳寮?涓ユ牸)錛岃岀ОT姣擲寮?瀹芥澗)銆傝繖縐嶅己鍒剁殑瑕佹眰涓鏉ョ畝鍖栦簡澶勭悊鍣ㄤ笌鍐呭瓨涔嬮棿浼犺緭緋葷粺鐨勮璁★紝浜屾潵鍙互鎻愬崌</font><font face="Courier New" size="4">璇誨彇鏁版嵁鐨勯熷害銆傛瘮濡傝繖涔堜竴縐嶅鐞嗗櫒錛屽畠姣忔璇誨啓鍐呭瓨鐨勬椂鍊欓兘浠庢煇涓?鍊嶆暟鐨勫湴鍧寮濮嬶紝涓嬈¤鍑烘垨鍐欏叆8涓?/font><font face="Courier New" size="4">瀛楄妭鐨勬暟鎹紝鍋囧杞歡鑳戒繚璇乨ouble綾誨瀷鐨勬暟鎹兘浠?鍊嶆暟鍦板潃寮濮嬶紝閭d箞璇繪垨鍐欎竴涓猟ouble綾誨瀷鏁版嵁灝卞彧闇瑕?/font><font face="Courier New" size="4">涓嬈″唴瀛樻搷浣溿傚惁鍒欙紝鎴戜滑灝卞彲鑳介渶瑕佷袱嬈″唴瀛樻搷浣滄墠鑳藉畬鎴愯繖涓姩浣滐紝鍥犱負鏁版嵁鎴栬鎭板ソ妯法鍦ㄤ袱涓鍚堝榻?/font><font face="Courier New" size="4">瑕佹眰鐨?瀛楄妭鍐呭瓨鍧椾笂銆傛煇浜涘鐞嗗櫒鍦ㄦ暟鎹笉婊¤凍瀵歸綈瑕佹眰鐨勬儏鍐典笅鍙兘浼氬嚭閿欙紝浣嗘槸Intel鐨処A32鏋舵瀯鐨勫鐞嗗櫒</font><font face="Courier New" size="4">鍒欎笉綆℃暟鎹槸鍚﹀榻愰兘鑳芥紜伐浣溿備笉榪嘔ntel濂夊姖澶у錛屽鏋滄兂鎻愬崌鎬ц兘錛岄偅涔堟墍鏈夌殑紼嬪簭鏁版嵁閮藉簲璇ュ敖鍙兘鍦?/font><font face="Courier New" size="4">瀵歸綈銆俉in32騫沖彴涓嬬殑寰蔣C緙栬瘧鍣?cl.exe for 80x86)鍦ㄩ粯璁ゆ儏鍐典笅閲囩敤濡備笅鐨勫榻愯鍒? 浠諱綍鍩烘湰鏁版嵁綾誨瀷T</font><font face="Courier New" size="4">鐨勫榻愭ā鏁板氨鏄疶鐨勫ぇ灝忥紝鍗硈izeof(T)銆傛瘮濡傚浜巇ouble綾誨瀷(8瀛楄妭)錛屽氨瑕佹眰璇ョ被鍨嬫暟鎹殑鍦板潃鎬繪槸8鐨勫嶆暟</font><font face="Courier New" size="4">錛岃宑har綾誨瀷鏁版嵁(1瀛楄妭)鍒欏彲浠ヤ粠浠諱綍涓涓湴鍧寮濮嬨侺inux涓嬬殑GCC濂夎鐨勬槸鍙﹀涓濂楄鍒?鍦ㄨ祫鏂欎腑鏌ュ緱錛屽茍</font><font face="Courier New" size="4">鏈獙璇侊紝濡傞敊璇鎸囨):浠諱綍2瀛楄妭澶у皬(鍖呮嫭鍗曞瓧鑺傚悧?)鐨勬暟鎹被鍨?姣斿short)鐨勫榻愭ā鏁版槸2錛岃屽叾瀹冩墍鏈夎秴</font><font face="Courier New" size="4">榪?瀛楄妭鐨勬暟鎹被鍨?姣斿long,double)閮戒互4涓哄榻愭ā鏁般?/font></p><p><font face="Courier New" size="4">聽聽聽 鐜板湪鍥炲埌鎴戜滑鍏沖績鐨剆truct涓婃潵銆侫NSI C瑙勫畾涓縐嶇粨鏋勭被鍨嬬殑澶у皬鏄畠鎵鏈夊瓧孌電殑澶у皬浠ュ強瀛楁涔嬮棿鎴栧瓧孌?/font><font face="Courier New" size="4">灝鵑儴鐨勫~鍏呭尯澶у皬涔嬪拰銆傚棷錛熷~鍏呭尯錛熷錛岃繖灝辨槸涓轟簡浣跨粨鏋勪綋瀛楁婊¤凍鍐呭瓨瀵歸綈瑕佹眰鑰岄澶栧垎閰嶇粰緇撴瀯浣撶殑絀?/font><font face="Courier New" size="4">闂淬傞偅涔堢粨鏋勪綋鏈韓鏈変粈涔堝榻愯姹傚悧錛熸湁鐨勶紝ANSI C鏍囧噯瑙勫畾緇撴瀯浣撶被鍨嬬殑瀵歸綈瑕佹眰涓嶈兘姣斿畠鎵鏈夊瓧孌典腑瑕佹眰</font><font face="Courier New" size="4">鏈涓ユ牸鐨勯偅涓鏉撅紝鍙互鏇翠弗鏍?浣嗘闈炲己鍒惰姹傦紝VC7.1灝變粎浠呮槸璁╁畠浠竴鏍蜂弗鏍?銆傛垜浠潵鐪嬩竴涓緥瀛?浠ヤ笅鎵</font><font face="Courier New" size="4">鏈夎瘯楠岀殑鐜鏄疘ntel Celeron 2.4G + WIN2000 PRO + vc7.1錛屽唴瀛樺榻愮紪璇戦夐」鏄?榛樿"錛屽嵆涓嶆寚瀹?Zp涓?/font><font face="Courier New" size="4">/pack閫夐」):</font></p><p><font face="Courier New" size="4">聽 <font color="#a52a2a">typedef struct ms1<br />聽 {<br />聽聽聽聽 char a;<br />聽聽聽聽 int b;<br />聽 } MS1;</font></font></p><p><font face="Courier New" size="4">聽聽聽 鍋囪MS1鎸夊涓嬫柟寮忓唴瀛樺竷灞(鏈枃鎵鏈夌ず鎰忓浘涓殑鍐呭瓨鍦板潃浠庡乏鑷沖彸閫掑):<br /><font color="#0000ff">聽聽聽聽聽聽 _____________________________<br />聽聽聽聽聽聽 |聽聽聽聽聽聽 |聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |<br />聽聽聽聽聽聽 |聽聽 a聽聽 |聽聽聽聽聽聽聽 b聽聽聽聽聽聽聽聽聽 |<br />聽聽聽聽聽聽 |聽聽聽聽聽聽 |聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |<br />聽聽聽聽聽聽 +---------------------------+<br />聽Bytes:聽聽聽 1聽聽聽聽聽聽聽聽聽聽聽聽 4</font></font></p><p><font face="Courier New" size="4">聽聽聽 鍥犱負MS1涓湁鏈寮哄榻愯姹傜殑鏄痓瀛楁(int)錛屾墍浠ユ牴鎹紪璇戝櫒鐨勫榻愯鍒欎互鍙夾NSI C鏍囧噯錛孧S1瀵硅薄鐨勯鍦?/font><font face="Courier New" size="4">鍧涓瀹氭槸4(int綾誨瀷鐨勫榻愭ā鏁?鐨勫嶆暟銆傞偅涔堜笂榪板唴瀛樺竷灞涓殑b瀛楁鑳芥弧瓚砳nt綾誨瀷鐨勫榻愯姹傚悧錛熷棷錛屽綋鐒朵笉</font><font face="Courier New" size="4">鑳姐傚鏋滀綘鏄紪璇戝櫒錛屼綘浼氬浣曞閥濡欏畨鎺掓潵婊¤凍CPU鐨勭櫀濂藉憿錛熷懙鍛碉紝緇忚繃1姣鐨勮壈鑻︽濊冿紝浣犱竴瀹氬緱鍑轟簡濡備笅</font><font face="Courier New" size="4">鐨勬柟妗堬細</font></p><p><font color="#0000ff" face="Courier New" size="4">聽聽聽聽聽聽 _______________________________________<br />聽聽聽聽聽聽 |聽聽聽聽聽聽 |\\\\\\\\\\\|聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |<br />聽聽聽聽聽聽 |聽聽 a聽聽 |\\padding\\|聽聽聽聽聽聽 b聽聽聽聽聽聽聽聽 |<br />聽聽聽聽聽聽 |聽聽聽聽聽聽 |\\\\\\\\\\\|聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |<br />聽聽聽聽聽聽 +-------------------------------------+<br />聽Bytes:聽聽聽 1聽聽聽聽聽聽聽聽 3聽聽聽聽聽聽聽聽聽聽聽聽 4</font></p><p><font face="Courier New" size="4">聽聽聽 榪欎釜鏂規鍦╝涓巄涔嬮棿澶氬垎閰嶄簡3涓~鍏?padding)瀛楄妭錛岃繖鏍峰綋鏁翠釜struct瀵硅薄棣栧湴鍧婊¤凍4瀛楄妭鐨勫榻愯姹?/font><font face="Courier New" size="4">鏃訛紝b瀛楁涔熶竴瀹氳兘婊¤凍int鍨嬬殑4瀛楄妭瀵歸綈瑙勫畾銆傞偅涔坰izeof(MS1)鏄劇劧灝卞簲璇ユ槸8錛岃宐瀛楁鐩稿浜庣粨鏋勪綋棣栧湴</font><font face="Courier New" size="4">鍧鐨勫亸縐誨氨鏄?銆傞潪甯稿ソ鐞嗚В錛屽鍚楋紵鐜板湪鎴戜滑鎶奙S1涓殑瀛楁浜ゆ崲涓涓嬮『搴?</font></p><p><font face="Courier New" size="4">聽 <font color="#a52a2a">typedef struct ms2<br />聽 {<br />聽聽聽聽 int a;<br />聽聽聽聽 char b;<br />聽 } MS2;</font></font></p><p><font face="Courier New" size="4">聽聽聽 鎴栬浣犺涓篗S2姣擬S1鐨勬儏鍐佃綆鍗曪紝瀹冪殑甯冨眬搴旇灝辨槸</font></p><p><font color="#0000ff" face="Courier New" size="4">聽聽聽聽聽聽 _______________________<br />聽聽聽聽聽聽 |聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽聽聽聽 |<br />聽聽聽聽聽聽 |聽聽聽聽 a聽聽聽聽聽聽 |聽聽 b聽聽 |<br />聽聽聽聽聽聽 |聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽聽聽聽 |<br />聽聽聽聽聽聽 +---------------------+<br />聽Bytes:聽聽聽聽聽 4聽聽聽聽聽聽聽聽聽聽 1 </font></p><p><font face="Courier New" size="4">聽聽聽 鍥犱負MS2瀵硅薄鍚屾牱瑕佹弧瓚?瀛楄妭瀵歸綈瑙勫畾錛岃屾鏃禷鐨勫湴鍧涓庣粨鏋勪綋鐨勯鍦板潃鐩哥瓑錛屾墍浠ュ畠涓瀹氫篃鏄?瀛楄妭瀵歸綈</font><font face="Courier New" size="4">銆傚棷錛屽垎鏋愬緱鏈夐亾鐞嗭紝鍙槸鍗翠笉鍏ㄩ潰銆傝鎴戜滑鏉ヨ冭檻涓涓嬪畾涔変竴涓狹S2綾誨瀷鐨勬暟緇勪細鍑虹幇浠涔堥棶棰樸侰鏍囧噯淇濊瘉錛?/font><font face="Courier New" size="4">浠諱綍綾誨瀷(鍖呮嫭鑷畾涔夌粨鏋勭被鍨?鐨勬暟緇勬墍鍗犵┖闂寸殑澶у皬涓瀹氱瓑浜庝竴涓崟鐙殑璇ョ被鍨嬫暟鎹殑澶у皬涔樹互鏁扮粍鍏冪礌鐨勪釜</font><font face="Courier New" size="4">鏁般傛崲鍙ヨ瘽璇達紝鏁扮粍鍚勫厓绱犱箣闂翠笉浼氭湁絀洪殭銆傛寜鐓т笂闈㈢殑鏂規錛屼竴涓狹S2鏁扮粍array鐨勫竷灞灝辨槸:</font></p><font color="#0000ff" face="Courier New" size="4"></font><p><font color="#0000ff" face="Courier New" size="4"><font color="#0000ff" face="Courier New" size="4">|<-聽聽聽 array[1]聽聽聽聽 ->|<-聽聽聽 array[2]聽聽聽聽 ->|<-聽array[3] .....</font></font></p><p><font color="#0000ff" face="Courier New" size="4"><font color="#0000ff" face="Courier New" size="4">__________________________________________________________<br />|聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽聽聽聽 |聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽聽聽 |<br />|聽聽聽聽 a聽聽聽聽聽聽 |聽聽 b聽聽 |聽聽聽聽聽 a聽聽聽聽聽聽 |聽聽 b聽 |.............<br />|聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽聽聽聽 |聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽聽聽 |<br />+----------------------------------------------------------<br />Bytes:聽 4聽聽聽聽聽聽聽聽 1聽聽聽聽聽聽聽聽聽 4聽聽聽聽聽聽聽聽聽聽 1</font></font></p><p><font face="Courier New" size="4">聽聽聽 褰撴暟緇勯鍦板潃鏄?瀛楄妭瀵歸綈鏃訛紝array[1].a涔熸槸4瀛楄妭瀵歸綈錛屽彲鏄痑rray[2].a鍛紵array[3].a ....鍛紵鍙?/font><font face="Courier New" size="4">瑙佽繖縐嶆柟妗堝湪瀹氫箟緇撴瀯浣撴暟緇勬椂鏃犳硶璁╂暟緇勪腑鎵鏈夊厓绱犵殑瀛楁閮芥弧瓚沖榻愯瀹氾紝蹇呴』淇敼鎴愬涓嬪艦寮?</font></p><p><font color="#0000ff" face="Courier New" size="4">聽聽聽聽聽聽 ___________________________________<br />聽聽聽聽聽聽 |聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽聽聽聽 |\\\\\\\\\\\|<br />聽聽聽聽聽聽 |聽聽聽聽 a聽聽聽聽聽聽 |聽聽 b聽聽 |\\padding\\|<br />聽聽聽聽聽聽 |聽聽聽聽聽聽聽聽聽聽聽聽 |聽聽聽聽聽聽 |\\\\\\\\\\\|<br />聽聽聽聽聽聽 +---------------------------------+<br />聽Bytes:聽聽聽聽聽 4聽聽聽聽聽聽聽聽聽聽 1聽聽聽聽聽聽聽聽 3</font></p><p><font face="Courier New" size="4">聽聽聽 鐜板湪鏃犺鏄畾涔変竴涓崟鐙殑MS2鍙橀噺榪樻槸MS2鏁扮粍錛屽潎鑳戒繚璇佹墍鏈夊厓绱犵殑鎵鏈夊瓧孌甸兘婊¤凍瀵歸綈瑙勫畾銆傞偅涔?/font><font face="Courier New" size="4">sizeof(MS2)浠嶇劧鏄?錛岃宎鐨勫亸縐諱負0錛宐鐨勫亸縐繪槸4銆?/font></p><p><font face="Courier New" size="4">聽聽聽 濂界殑錛岀幇鍦ㄤ綘宸茬粡鎺屾彙浜嗙粨鏋勪綋鍐呭瓨甯冨眬鐨勫熀鏈噯鍒欙紝灝濊瘯鍒嗘瀽涓涓◢寰鏉傜偣鐨勭被鍨嬪惂銆?/font></p><p><font face="Courier New" size="4">聽 <font color="#a52a2a">typedef struct ms3<br />聽 {<br />聽聽聽聽 char a;<br />聽聽聽聽 short b;<br />聽聽聽聽 double c;<br />聽 } MS3;</font></font></p><p><font face="Courier New" size="4">聽聽聽 鎴戞兂浣犱竴瀹氳兘寰楀嚭濡備笅姝g‘鐨勫竷灞鍥?<br />聽聽聽聽聽聽聽聽 <br /><font color="#0000ff">聽聽聽聽聽聽聽 padding聽 <br />聽聽聽聽聽聽聽聽聽聽 |<br />聽聽聽聽聽 _____v_________________________________<br />聽聽聽聽聽 |聽聽 |\|聽聽聽聽 |\\\\\\\\\|聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |<br />聽聽聽聽聽 | a |\|聽 b聽 |\padding\|聽聽聽聽聽聽 c聽聽聽聽聽聽 |<br />聽聽聽聽聽 |聽聽 |\|聽聽聽聽 |\\\\\\\\\|聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |<br />聽聽聽聽聽 +-------------------------------------+<br />Bytes:聽 1聽 1聽聽 2聽聽聽聽聽聽 4聽聽聽聽聽聽聽聽聽聽聽 8<br /></font>聽聽聽聽聽聽聽聽聽聽 <br />聽聽聽 sizeof(short)絳変簬2錛宐瀛楁搴斾粠鍋舵暟鍦板潃寮濮嬶紝鎵浠鐨勫悗闈㈠~鍏呬竴涓瓧鑺傦紝鑰宻izeof(double)絳変簬8錛宑</font><font face="Courier New" size="4">瀛楁瑕佷粠8鍊嶆暟鍦板潃寮濮嬶紝鍓嶉潰鐨刟銆乥瀛楁鍔犱笂濉厖瀛楄妭宸茬粡鏈? bytes錛屾墍浠鍚庨潰鍐嶅~鍏?涓瓧鑺傚氨鍙互淇濊瘉c</font><font face="Courier New" size="4">瀛楁鐨勫榻愯姹備簡銆俿izeof(MS3)絳変簬16錛宐鐨勫亸縐繪槸2錛宑鐨勫亸縐繪槸8銆傛帴鐫鐪嬬湅緇撴瀯浣撲腑瀛楁榪樻槸緇撴瀯綾誨瀷鐨勬儏</font><font face="Courier New" size="4">鍐?</font></p><p><font face="Courier New" size="4">聽<font color="#a52a2a"> typedef struct ms4<br />聽 {<br />聽聽聽聽 char a;<br />聽聽聽聽 MS3 b;<br />聽 } MS4;</font></font></p><p><font face="Courier New" size="4">聽聽聽 MS3涓唴瀛樿姹傛渶涓ユ牸鐨勫瓧孌墊槸c錛岄偅涔圡S3綾誨瀷鏁版嵁鐨勫榻愭ā鏁板氨涓巇ouble鐨勪竴鑷?涓?)錛宎瀛楁鍚庨潰搴斿~鍏?/font><font face="Courier New" size="4">7涓瓧鑺傦紝鍥犳MS4鐨勫竷灞搴旇鏄?<br /><font color="#0000ff">聽聽聽聽聽聽 _______________________________________<br />聽聽聽聽聽聽 |聽聽聽聽聽聽 |\\\\\\\\\\\|聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |<br />聽聽聽聽聽聽 |聽聽 a聽聽 |\\padding\\|聽聽聽聽聽聽 b聽聽聽聽聽聽聽聽 |<br />聽聽聽聽聽聽 |聽聽聽聽聽聽 |\\\\\\\\\\\|聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |<br />聽聽聽聽聽聽 +-------------------------------------+<br />聽Bytes:聽聽聽 1聽聽聽聽聽聽聽聽 7聽聽聽聽聽聽聽聽聽聽聽聽 16</font></font></p><p><font face="Courier New" size="4">聽聽聽 鏄劇劧錛宻izeof(MS4)絳変簬24錛宐鐨勫亸縐葷瓑浜?銆?/font></p><p><font face="Courier New" size="4">聽聽聽 鍦ㄥ疄闄呭紑鍙戜腑錛屾垜浠彲浠ラ氳繃鎸囧畾/Zp緙栬瘧閫夐」鏉ユ洿鏀圭紪璇戝櫒鐨勫榻愯鍒欍傛瘮濡傛寚瀹?Zpn(VC7.1涓璶鍙互鏄?</font><font face="Courier New" size="4">銆?銆?銆?銆?6)灝辨槸鍛婅瘔緙栬瘧鍣ㄦ渶澶у榻愭ā鏁版槸n銆傚湪榪欑鎯呭喌涓嬶紝鎵鏈夊皬浜庣瓑浜巒瀛楄妭鐨勫熀鏈暟鎹被鍨嬬殑瀵歸綈瑙?/font><font face="Courier New" size="4">鍒欎笌榛樿鐨勪竴鏍鳳紝浣嗘槸澶т簬n涓瓧鑺傜殑鏁版嵁綾誨瀷鐨勫榻愭ā鏁拌闄愬埗涓簄銆備簨瀹炰笂錛孷C7.1鐨勯粯璁ゅ榻愰夐」灝辯浉褰撲簬</font><font face="Courier New" size="4">/Zp8銆備粩緇嗙湅鐪婱SDN瀵硅繖涓夐」鐨勬弿榪幫紝浼氬彂鐜板畠閮戦噸鍛婅浜嗙▼搴忓憳涓嶈鍦∕IPS鍜孉lpha騫沖彴涓婄敤/Zp1鍜?Zp2閫?/font><font face="Courier New" size="4">欏癸紝涔熶笉瑕佸湪16浣嶅鉤鍙頒笂鎸囧畾/Zp4鍜?Zp8(鎯蟲兂涓轟粈涔堬紵)銆傛敼鍙樼紪璇戝櫒鐨勫榻愰夐」錛屽鐓х▼搴忚繍琛岀粨鏋滈噸鏂板垎鏋?/font><font face="Courier New" size="4">涓婇潰4縐嶇粨鏋勪綋鐨勫唴瀛樺竷灞灝嗘槸涓涓緢濂界殑澶嶄範銆?/font></p><p><font face="Courier New" size="4">聽聽聽 鍒頒簡榪欓噷錛屾垜浠彲浠ュ洖絳旀湰鏂囨彁鍑虹殑鏈鍚庝竴涓棶棰樹簡銆傜粨鏋勪綋鐨勫唴瀛樺竷灞渚濊禆浜嶤PU銆佹搷浣滅郴緇熴佺紪璇戝櫒鍙婄紪</font><font face="Courier New" size="4">璇戞椂鐨勫榻愰夐」錛岃屼綘鐨勭▼搴忓彲鑳介渶瑕佽繍琛屽湪澶氱騫沖彴涓婏紝浣犵殑婧愪唬鐮佸彲鑳借琚笉鍚岀殑浜虹敤涓嶅悓鐨勭紪璇戝櫒緙栬瘧(璇?/font><font face="Courier New" size="4">鎯充綘涓哄埆浜烘彁渚涗竴涓紑鏀炬簮鐮佺殑搴?錛岄偅涔堥櫎闈炵粷瀵瑰繀闇錛屽惁鍒欎綘鐨勭▼搴忔案榪滀篃涓嶈渚濊禆榪欎簺璇″紓鐨勫唴瀛樺竷灞銆傞『</font><font face="Courier New" size="4">渚胯涓涓嬶紝濡傛灉涓涓▼搴忎腑鐨勪袱涓ā鍧楁槸鐢ㄤ笉鍚岀殑瀵歸綈閫夐」鍒嗗埆緙栬瘧鐨勶紝閭d箞瀹冨緢鍙兘浼氫駭鐢熶竴浜涢潪甯稿井濡欑殑閿?/font><font face="Courier New" size="4">璇傚鏋滀綘鐨勭▼搴忕‘瀹炴湁寰堥毦鐞嗚В鐨勮涓猴紝涓嶉槻浠旂粏媯鏌ヤ竴涓嬪悇涓ā鍧楃殑緙栬瘧閫夐」銆?/font></p><p><font face="Courier New" size="4">聽聽聽 鎬濊冮:璇峰垎鏋愪笅闈㈠嚑縐嶇粨鏋勪綋鍦ㄤ綘鐨勫鉤鍙頒笂鐨勫唴瀛樺竷灞錛屽茍璇曠潃瀵繪壘涓縐嶅悎鐞嗗畨鎺掑瓧孌靛0鏄庨『搴忕殑鏂規硶浠ュ敖</font><font face="Courier New" size="4">閲忚妭鐪佸唴瀛樼┖闂淬?/font></p><p><font face="Courier New" size="4">聽聽聽 A. <font color="#a52a2a">struct P1 { int a; char b; int c; char d; };<br /></font>聽聽聽 B. <font color="#a52a2a">struct P2 { int a; char b; char c; int d; };</font><br />聽聽聽 C. <font color="#a52a2a">struct P3 { short a[3]; char b[3]; };<br /></font>聽聽聽 D. <font color="#a52a2a">struct P4 { short a[3]; char *b[3]; };<br /></font>聽聽聽 E. <font color="#a52a2a">struct P5 { struct P2 *a; char b; struct P1 a[2];聽 };</font></font></p><p><font face="Courier New" size="4">鍙傝冭祫鏂?</font></p><p><font face="Courier New" size="4">聽聽聽 銆?銆戙婃繁鍏ョ悊瑙h綆楁満緋葷粺(淇鐗?銆嬶紝<br />聽聽聽聽聽聽聽聽 (钁?Randal E.Bryant; David O'Hallaron錛?br />聽聽聽聽聽聽聽聽 (璇?榫氬鍒?闆瘋繋鏄ワ紝<br />聽聽聽聽聽聽聽聽 涓浗鐢靛姏鍑虹増紺撅紝2004<br />聽聽聽 <br />聽聽聽 銆?銆戙奀: A Reference Manual銆?褰卞嵃鐗?錛?br />聽聽聽聽聽聽聽聽 (钁?Samuel P.Harbison; Guy L.Steele錛?br />聽聽聽聽聽聽聽聽 浜烘皯閭數鍑虹増紺撅紝2003<br /></font></p><img src ="http://www.shnenglu.com/saga/aggbug/7774.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/saga/" target="_blank">saga.constantine</a> 2006-05-28 16:15 <a href="http://www.shnenglu.com/saga/archive/2006/05/28/7774.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>[鎴浘]鍏充簬緇撴瀯浣撶殑鏁版嵁瀵歸綈錛圫tructure Alignment Examples 錛?/title><link>http://www.shnenglu.com/saga/archive/2006/05/27/7723.html</link><dc:creator>saga.constantine</dc:creator><author>saga.constantine</author><pubDate>Sat, 27 May 2006 05:06:00 GMT</pubDate><guid>http://www.shnenglu.com/saga/archive/2006/05/27/7723.html</guid><wfw:comment>http://www.shnenglu.com/saga/comments/7723.html</wfw:comment><comments>http://www.shnenglu.com/saga/archive/2006/05/27/7723.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/saga/comments/commentRss/7723.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/saga/services/trackbacks/7723.html</trackback:ping><description><![CDATA[ <p class="MsoNormal"> <span style="FONT-FAMILY: 瀹嬩綋">浠?/span> <span lang="EN-US">MSND</span> <span style="FONT-FAMILY: 瀹嬩綋">涓婃埅涓嬫潵鐨勶紝甯姪鐞嗚В鏁版嵁瀵歸綈銆?/span> <span lang="EN-US"> <br /> </span> <span style="FONT-FAMILY: 瀹嬩綋">緙栬瘧鍑烘潵鐨勭粨鏋勪綋鎬庝箞鍗犵敤鍐呭瓨鐨勩?/span> <span lang="EN-US">padding</span> <span style="FONT-FAMILY: 瀹嬩綋">涓虹紪璇戝櫒濉厖鐨勶紝涓嶇悊瑙g殑鍙互鐪嬬湅鎴戝墠闈㈠彂鐨勭炕璇戠殑鍏充簬鏁版嵁瀵歸綈锝?/span> <img border="0" height="19" src="http://www.shnenglu.com/Emoticons/QQ/22.gif" width="19" /> <br /> <span lang="EN-US"> <v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter"> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0"> <v:f eqn="sum @0 1 0"> <v:f eqn="sum 0 0 @1"> <v:f eqn="prod @2 1 2"> <v:f eqn="prod @3 21600 pixelWidth"> <v:f eqn="prod @3 21600 pixelHeight"> <v:f eqn="sum @0 0 1"> <v:f eqn="prod @6 1 2"> <v:f eqn="prod @7 21600 pixelWidth"> <v:f eqn="sum @8 21600 0"> <v:f eqn="prod @7 21600 pixelHeight"> <v:f eqn="sum @10 21600 0"> </v:f> </v:f> </v:f> </v:f> </v:f> </v:f> </v:f> </v:f> </v:f> </v:f> </v:f> </v:f> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"> <o:lock v:ext="edit" aspectratio="t"> </o:lock> </v:path> </v:stroke> </v:shapetype> </span> <span lang="EN-US" style="FONT-FAMILY: Verdana; FONT-SIZE: 10pt">alignment聽聽 </span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10pt">瀵歸綈錛?/span> <span lang="EN-US" style="FONT-FAMILY: Verdana; FONT-SIZE: 10pt">Quadword </span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10pt">錛?/span> <span lang="EN-US" style="FONT-FAMILY: Verdana; FONT-SIZE: 10pt">8 byte </span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10pt">錛?/span> <span lang="EN-US" style="FONT-FAMILY: Verdana; FONT-SIZE: 10pt">Doubleword </span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10pt">錛?/span> <span lang="EN-US" style="FONT-FAMILY: Verdana; FONT-SIZE: 10pt">4 byte<br /><img alt="瀵歸綈.BMP" border="0" height="127" src="http://www.shnenglu.com/images/cppblog_com/saga/%E5%AF%B9%E9%BD%90.BMP" width="400" /></span> <span lang="EN-US"> <br /> </span> <span style="FONT-FAMILY: 瀹嬩綋">錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞</span> <span lang="EN-US"> <br /> <br /> </span> <span lang="EN-US" style="FONT-FAMILY: Verdana; FONT-SIZE: 10pt">Example 2</span> <span lang="EN-US" style="FONT-FAMILY: Verdana; FONT-SIZE: 7.5pt"> <br /> </span> <span lang="EN-US" style="FONT-FAMILY: Verdana; FONT-SIZE: 10pt"> <img alt="瀵歸綈2.BMP" border="0" height="133" src="http://www.shnenglu.com/images/cppblog_com/saga/%E5%AF%B9%E9%BD%902.BMP" width="460" /> <br /> </span> <span style="FONT-FAMILY: 瀹嬩綋">錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞</span> <span lang="EN-US"> <img alt="瀵歸綈3.BMP" border="0" height="170" src="http://www.shnenglu.com/images/cppblog_com/saga/%E5%AF%B9%E9%BD%903.BMP" width="453" /> <br /> <br /> </span> <span style="FONT-FAMILY: 瀹嬩綋">錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛?/span> <span lang="EN-US"> <br /> <v:shape id="_x0000_i1029" style="HEIGHT: 157.5pt; WIDTH: 285.75pt" type="#_x0000_t75" alt="瀵歸綈4.BMP"> <br />聽聽聽聽聽<img alt="瀵歸綈4.BMP" border="0" height="210" src="http://www.shnenglu.com/images/cppblog_com/saga/%E5%AF%B9%E9%BD%904.BMP" width="381" />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 </v:shape> </span> <span style="FONT-FAMILY: 瀹嬩綋">錛嶏紞錛嶏紞</span> <span lang="EN-US">saga.constantine</span> </p> <img src ="http://www.shnenglu.com/saga/aggbug/7723.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/saga/" target="_blank">saga.constantine</a> 2006-05-27 13:06 <a href="http://www.shnenglu.com/saga/archive/2006/05/27/7723.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>[緲昏瘧]鍏充簬鏁版嵁瀵歸綈錛圓bout Data Alignment錛?/title><link>http://www.shnenglu.com/saga/archive/2006/05/26/7674.html</link><dc:creator>saga.constantine</dc:creator><author>saga.constantine</author><pubDate>Fri, 26 May 2006 02:41:00 GMT</pubDate><guid>http://www.shnenglu.com/saga/archive/2006/05/26/7674.html</guid><wfw:comment>http://www.shnenglu.com/saga/comments/7674.html</wfw:comment><comments>http://www.shnenglu.com/saga/archive/2006/05/26/7674.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/saga/comments/commentRss/7674.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/saga/services/trackbacks/7674.html</trackback:ping><description><![CDATA[ <p> <font size="4"> <font face="Arial"> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">緇冧範涓涓嬬炕璇戣兘鍔涳紒涓嶅綋涔嬪璇鋒寚鍑猴紒錛?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋"> </span> </font> </font> <br /> <font size="4"> <font face="Arial"> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">鍘熸枃鍑鴻嚜</span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">MSDN</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">錛岄摼鎺ヤ負</span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋"> </span> </font> </font> <a > <font face="Arial" size="4">http://msdn2.microsoft.com/en-us/library/ms253949.aspx</font> </a> <br /> <br /> <font face="Arial" size="4">聽聽聽聽聽聽 </font> <font size="4"> <font face="Arial"> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">寰堝</span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">CPU</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">錛屽鍩轟簬</span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">Alpha, IA-64, MIPS, </span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">鍜?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">SuperH </span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">浣撶郴鐨勶紝鎷掔粷璇誨彇鏈榻愭暟鎹傚綋涓涓▼搴忚姹傚叾涓箣涓鐨?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">CPU</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">璇誨彇鏈榻愭暟鎹椂錛岃繖鏃?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">CPU</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">浼氳繘鍏ュ紓甯稿鐞嗙姸鎬佸茍涓旈氱煡紼嬪簭涓嶈兘緇х畫鎵ц銆備婦涓緥瀛愶紝鍦?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">ARM, MIPS, </span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">鍜?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">SH</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">紜歡騫沖彴涓婏紝褰撴搷浣滅郴緇熻瑕佹眰瀛樺彇涓涓湭瀵歸綈鏁版嵁鏃墮粯璁ら氱煡搴旂敤紼嬪簭涓涓紓甯搞?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋"> </span> </font> </font> <br /> <br /> <font size="4"> <font face="Arial"> <strong> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">瀵歸綈鎬?/span> </strong> <b> </b> </font> </font> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋"> <br /> <font face="Arial" size="4"> <strong>聽聽聽聽聽</strong> </font> </span> <font size="4"> <font face="Arial"> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">聽 </span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">瀵歸綈鎬ф槸涓縐嶅唴瀛樺湴鍧鐨勭壒鎬э紝琛ㄧ幇涓哄唴瀛樺湴鍧妯′笂</span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">2</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">鐨勫箓銆備緥濡傦紝鍐呭瓨鍦板潃</span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">0x0001103F</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">妯?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">4</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">緇撴灉涓?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">3</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">錛涜繖涓湴鍧灝卞彨鍋氫笌</span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">4n</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">錛?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">3</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">瀵歸綈錛?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">4</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">鎸囧嚭浜嗘墍閫夌敤鐨?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">2</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">鐨勫箓鐨勫箋傚唴瀛樺湴鍧鐨勫榻愭у彇鍐充簬鎵閫夋嫨鐨勫叧浜?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">2</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">鐨勫箓鍊箋傚悓鏍風殑鍦板潃妯?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">8</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">緇撴灉涓?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">7</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">銆?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋"> </span> </font> </font> <br /> <br /> <font face="Arial" size="4">聽聽聽聽聽聽 </font> <font size="4"> <font face="Arial"> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">涓涓唴瀛樺湴鍧絎﹀悎琛ㄨ揪寮?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">Xn</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">錛?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">0</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">錛岄偅涔堝氨璇磋鍦板潃瀵歸綈浜?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">X</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">銆?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋"> </span> </font> </font> <br /> <br /> <font face="Arial" size="4">聽聽聽聽聽聽 <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">CPU</span></font> <font size="4"> <font face="Arial"> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">鎵ц鎸囦護灝辨槸瀵瑰瓨鍌ㄤ簬鍐呭瓨涓婄殑鏁版嵁榪涜鎿嶄綔錛岃繖浜涙暟鎹湪鍐呭瓨涓婃槸浠ュ湴鍧涓烘爣璁扮殑銆傚浜庡湴鍧鏉ヨ錛屽崟鐙殑鏁版嵁浼氭湁鍏跺崰鐢ㄥ唴瀛樼殑瀛楄妭鏁般傚鏋滃畠鐨勫湴鍧瀵歸綈浜庡畠鐨勫瓧鑺傛暟錛岄偅涔堝氨縐頒綔璇ユ暟鎹嚜鐒跺榻愶紝鍚﹀垯縐頒負鏈榻愩備緥濡傦紝涓涓爣璁?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">8</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">瀛楄妭鐨勬誕鐐規暟鎹殑鍦板潃瀵歸綈浜?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">8</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">錛岄偅涔堣繖涓暟鎹氨鑷劧瀵歸綈銆?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋"> </span> </font> </font> <br /> <br /> <font size="4"> <font face="Arial"> <strong> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">鏁版嵁瀵歸綈鎬х殑緙栬瘧澶勭悊</span> </strong> <b> </b> </font> </font> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋"> <br /> <font face="Arial" size="4"> <strong>聽聽聽聽聽聽 </strong> </font> </span> <font size="4"> <font face="Arial"> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">璁懼緙栬瘧鍣ㄤ互涓縐嶉槻姝㈤犳垚鏁版嵁鏈榻愮殑鏂瑰紡鏉ュ鏁版嵁榪涜鍦板潃鍒嗛厤銆?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋"> </span> </font> </font> <br /> <br /> <font face="Arial" size="4">聽聽聽聽聽聽 </font> <font size="4"> <font face="Arial"> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">瀵逛簬鍗曚釜鐨勬暟鎹被鍨嬶紝緙栬瘧鍣ㄤ負鍏跺垎閰嶇殑鍦板潃鏄暟鎹被鍨嬪瓧鑺傛暟鐨勫嶆暟銆傚洜姝わ紝緙栬瘧鍣ㄥ垎閰嶇粰</span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">long</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">鍨嬪彉閲忕殑鍦板潃涓?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">4</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">鐨勫嶆暟錛屽氨鏄浠?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">2</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">榪涘埗琛ㄧず鍦板潃鐨勮瘽錛屾渶鍚庝袱浣嶄負</span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">0</span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">銆?/span> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋"> </span> </font> </font> <br /> <br /> <font face="Arial" size="4">聽聽聽聽聽聽 </font> <font face="Arial"> <font size="4"> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">鍙﹀錛岀紪璇戝櫒浠ヤ竴縐嶈嚜鐒跺榻愭瘡涓粨鏋勬垚鍛樼殑鏂瑰紡鏉ュ~鍏呯粨鏋勪綋銆傚弬鐪嬩笅闈㈢殑浠g爜閲岄潰鐨勭粨鏋勪綋</span> <b> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">struct x_</span> </b> <span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋"> </span> <span style="FONT-FAMILY: 瀹嬩綋; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">銆?br /><br />聽聽聽聽 <font face="Verdana">struct x_<br />聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽 char a;聽聽聽聽 // 1 byte<br />聽聽聽聽聽聽聽聽聽聽聽 int b;聽聽聽聽聽 // 4 bytes<br />聽聽聽聽聽聽聽聽聽聽聽 short c;聽聽聽 // 2 bytes<br />聽聽聽聽聽聽聽聽聽聽聽 char d;聽聽聽聽 // 1 byte<br />聽聽聽聽聽 } MyStruct;<br /><br />聽聽聽聽聽 緙栬瘧鍣ㄥ~鍏呰繖涓粨鏋勪互浣垮叾鑷劧瀵歸綈銆?br /><br /><strong>渚嬪<br /></strong>聽聽聽聽聽 涓嬮潰鐨勪唬鐮佽鏄庝簡緙栬瘧鍣ㄦ槸濡備綍鍦ㄥ唴瀛樹腑濉厖鐨勩?br /><br />聽聽聽聽聽 // Shows the actual memory layout<br />聽聽聽聽聽 struct x_<br />聽聽聽聽聽{<br />聽聽聽聽聽聽聽聽聽聽 char a;聽聽聽聽聽聽聽聽聽聽聽 // 1 byte<br />聽聽聽聽聽聽聽聽聽聽 char _pad0[3];聽聽聽聽 // padding to put 'b' on 4-byte boundary<br />聽聽聽聽聽聽聽聽聽聽 int b;聽聽聽聽聽聽聽聽聽聽聽 // 4 bytes<br />聽聽聽聽聽聽聽聽聽聽 short c;聽聽聽聽聽聽聽聽聽 // 2 bytes<br />聽聽聽聽聽聽聽聽聽聽 char d;聽聽聽聽聽聽聽聽聽聽 // 1 byte<br />聽聽聽聽聽聽聽聽聽聽 char _pad1[1];聽聽聽 // padding to make sizeof(x_) multiple of 4<br />聽聽聽聽聽}<br /><br />聽聽聽聽 涓ょ瀹氫箟鍦ㄤ綔</font><font face="Times New Roman"><strong><b>sizeof(struct x_)</b></strong>榪愮畻閮戒細榪斿洖12瀛楄妭銆?br /><br />聽聽聽聽聽聽絎簩縐嶅畾涔夊惈鏈変袱縐嶅~鍏呮垚鍒嗭細<br /><br />聽聽聽聽聽聽聽聽聽聽聽聽 *<b>char _pad0[3]</b>浣垮緱<b>int</b> b聽鍦?瀛楄妭杈圭晫涓婂榻?br /><br />聽聽聽聽聽聽聽聽聽聽聽聽 *<strong>char _pad1[1]</strong>浣垮緱緇撴瀯鏁扮粍<strong>struct _x聽 bar[3]</strong>瀵歸綈銆?br />聽聽聽聽聽聽聽聽聽聽聽聽聽濉厖浣垮緱<strong><b>bar[3]</b></strong>鍚勪釜鍙橀噺鑳藉鑷劧瀵歸綈銆?br /><font face=""><br />聽聽聽聽聽聽聽聽聽聽聽聽 涓嬮潰鐨勪唬鐮佹樉紺轟簡<strong><b>bar[3]</b></strong>鐨勫唴瀛樼粨鏋勶細<br /><br />聽聽聽聽聽聽聽聽聽聽聽聽聽 <span lang="EN-US" style="FONT-FAMILY: Verdana; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 瀹嬩綋">adr<br />聽聽聽聽聽聽聽聽聽聽聽聽聽 offset聽聽 element<br />------聽聽 -------<br />0x0000聽聽 char a;聽聽聽聽聽聽聽聽 // bar[0]<br />0x0001聽聽 char pad0[3];<br />0x0004聽聽 int b;<br />0x0008聽聽 short c;<br />0x000a聽聽 char d;<br />0x000b聽聽 char _pad1[1];<br /><br />0x000c聽聽 char a;聽聽聽聽聽聽聽聽 // bar[1]<br />0x000d聽聽 char _pad0[3];<br />0x0010聽聽 int b;<br />0x0014聽聽 short c;<br />0x0016聽聽 char d;<br />0x0017聽聽 char _pad1[1];<br /><br />0x0018聽聽 char a;聽聽聽聽聽聽聽聽 // bar[2]<br />0x0019聽聽 char _pad0[3];<br />0x001c聽聽聽 int b;<br />0x0020聽聽 short c;<br />0x0022聽聽 char d;<br />0x0023聽聽 char _pad1[1];</span></font></font></span> </font> </font> </p> <p> <br /> </p> <img src ="http://www.shnenglu.com/saga/aggbug/7674.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/saga/" target="_blank">saga.constantine</a> 2006-05-26 10:41 <a href="http://www.shnenglu.com/saga/archive/2006/05/26/7674.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>[杞創]涓涓腑鍥介粦瀹㈣嚧涓浗榛戝鍜岀孩瀹㈢殑鍏紑淇?/title><link>http://www.shnenglu.com/saga/archive/2006/05/25/7658.html</link><dc:creator>saga.constantine</dc:creator><author>saga.constantine</author><pubDate>Thu, 25 May 2006 14:20:00 GMT</pubDate><guid>http://www.shnenglu.com/saga/archive/2006/05/25/7658.html</guid><wfw:comment>http://www.shnenglu.com/saga/comments/7658.html</wfw:comment><comments>http://www.shnenglu.com/saga/archive/2006/05/25/7658.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.shnenglu.com/saga/comments/commentRss/7658.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/saga/services/trackbacks/7658.html</trackback:ping><description><![CDATA[ <h1>杞?img border="0" height="19" src="http://www.shnenglu.com/Emoticons/car.gif" width="19" />杞創錛?br /><br />鎵鏈変腑鍥介粦瀹㈠拰綰㈠錛屾垜鐨勫悓鑳炰滑錛?<br />棣栧厛澹版槑錛屾垜鐨勮綆楁満杞歡鎶鏈侀粦瀹㈠姛搴曪紝鍙兘涓嶄細姣斾綘浠換浣曚漢宸細 </h1> <div>鎴戦氳榪?MINIX錛孴CP/IP錛孊SD,LINUX, PL1鐨勬簮鐮侊紝鎴戞嬁榪囦腑鍥介珮綰х▼搴忓憳璇佷功錛孲UN 鐨凧AVA璇佷功錛岀簿閫歏C鍜孶NIX錛屽緙撳啿鍖烘孩鍑猴紝鐥呮瘨錛孌DK絳夊潎鏈夌爺絀訛紝鎵浠ユ垜鎯蟲垜鏈夎祫鏍煎浣犱滑璇村嚑鍙ヨ瘽銆?</div> <div>(濡傛灉鎴戞彁鍒扮殑涓浜涜綆楁満鍚嶈瘝鍜屼漢鍚嶏紝浣犱滑灞呯劧涓嶇煡閬擄紝閭e彧鑳借瘉鏄庝綘浠殑鏃犵煡錛屽拰涓嶉厤縐頒負榛戝銆? </div> <div>濡傛灉鏄湡姝g殑榛戝錛屼粬浼氱煡閬?</div> <div>1.鍙戞槑TCP/IP鐨勬槸緹庡浗浜?銆?</div> <div>2. LINUX鐨勪綔鑰咃紝linus澶т緺鐜板湪涔熷湪緹庡浗宸ヤ綔 銆?</div> <div>3. OPEN SOURCE鐨勫紑鍒涗漢 STALLMAN 涔熸槸緹庡浗浜猴紝浠栨彁鍊¤蔣浠朵笉鍒嗗浗鐣岀殑鑷敱鐨勭簿紲?銆?</div> <div>4. FREE BSD 鐨勪綔鑰呮槸緹庡浗浜猴紝浠栫殑SOURCE 璁╃湡姝g殑榛戝鍙楁儬 </div> <div>5.涓栫晫綰ц蔣浠剁瀛﹀ぇ甯?tanabaom錛屼篃鏄編鍥界殑瀹㈠駭鏁欐巿錛屼粬鐨刴inix, ameba鍜屾暀鏉愭暀鑲蹭簡鍏ㄤ笘鐣屽嚑浠i粦瀹€?</div> <div>鎻愬埌榪欎簺錛屼笉鏄磭緹庯紝涓嶆槸鎭愮編錛屽彧鎯寵瘉鏄庯細 </div> <div>1.寰堝澶у笀綰х殑緹庡浗榛戝錛屼粬浠殑鐞嗗康鎭版伆鏄嚜鐢便佸紑鏀俱佹棤鍥界晫錛涗粬浠殑鑷敱杞歡錛屽紑鏀炬簮鐮侊紝鏄笌鏀挎不鏃犲叧鐨勶紝鏄秴瓚婂浗鐣岀殑錛岀粰鍏ㄤ笘鐣屼漢浠甫鏉ョ闊熾?</div> <div>2.鐪熸鐨勯粦瀹㈢簿紲烇紝濡俿tallman鎵璇達紝鏄璁╀漢綾昏秴瓚婅綆楁満錛屾垚涓鴻綆楁満鐨勪富瀹幫紝浠庤屾垚涓鴻嚜鐢辯殑銆?</div> <div>鎵鏈夌殑涓浗榛戝鍜岀孩瀹紝鎴戠殑鍚岃優浠細 </div> <div>褰撲綘浠閫氳繃涓嬭澆緹庡浗浜哄啓鐨勯粦瀹㈠伐鍏鳳紝鏉ユ敾鍑葷編鍥界綉緇滐紝騫朵笖涔愭涓嶇柌錛屼互涓鴻繖灝辨槸鐖卞浗琛屽姩鐨勬椂鍊欙紝鏄惁鎯寵繃錛?</div> <div>姝ゆ椂姝ゅ埢錛屽嵃搴︾殑杞歡浜哄+錛屾鍦ㄥ姫鍔涙彁楂樿蔣浠舵妧鏈紝浠栦滑鐨勮蔣浠舵按騫熾佽蔣浠朵駭涓氬凡緇忚秴瓚婁簡涓浗錛涢毦閬撴垜浠笉搴旇鐥涜嫤鍦版壙璁よ繖涓幇瀹烇紝騫朵笖濂嬭搗鐩磋拷鍚楋紵 </div> <div>涓浗鍙戞槑浜嗙伀鑽紝浣嗘槸緙哄皯鐮旂┒綺劇錛岀粨鏋滄槸琚タ鏂逛漢鐮旂┒鏀硅繘浜嗕互鍚庢墦涓浗錛岃繖鏍風殑鏁欒榪樺皯鍚楋紵 </div> <div>涓浗鍚戞潵涓嶇己鐖卞浗鐑儏錛屼絾鏄垜浠己灝戝縐戞妧鐨勮鐪熺爺絀剁簿紲烇紝鐭ヨ昏屽悗鍕囩殑榪借刀綺劇銆傞毦閬撴垜浠笉鎰挎剰鎵胯榪欎竴鐐瑰悧錛?</div> <div>浠庢垬鏈笂鏉ヨ錛岃繃鏃╂毚闇茶嚜宸辯殑瀹炲姏鏄笉鑱槑鐨勶紱鍐掓槯鍦伴棶涓鍙ワ紝濡傛灉鐪熺殑鎴樹簤鐖嗗彂浜嗭紝鎮ㄧ殑榛戝鎶鏈畬鍏ㄦ帉鎻″ソ浜嗗悧錛屾偍宸茬粡涓洪偅涓澶╃殑鍒版潵鍦ㄨ繘琛屾妧鏈偍澶囧悧錛?</div> <div>鎮ㄦ湁娌℃湁鎯沖悜閭d簺鐪熸涓轟腑鍥界鎶鍋氬嚭鏉板嚭璐$尞鐨勭瀛﹀濡傞挶瀛︽.瀛︿範鍛紵 </div> <div>鎵鏈夌殑涓浗榛戝鍜岀孩瀹紝鎴戠殑鍚岃優浠細 </div> <div>璇鋒妸浣犱滑鐨勮仾鏄庢墠鏅虹敤鍒扮湡姝f彁楂樹綘浠殑姘村鉤錛屽鍥藉鐨勫己澶ф湁甯姪鐨勫湴鏂瑰惂錛?</div> <div>濡傛灉鎮ㄦ効鎰忓鍥藉鏈夋墍璐$尞錛?</div> <div>1.涓浗鐨?63璁″垝涓湁涓涓噸鐐圭爺絀墮」鐩細 騫惰璁$畻錛屽垎甯冭綆楋紝鍚戦噺璁$畻銆傛偍鎰挎剰鐮旂┒瀹冨悧錛?</div> <div>2. 浣滀負鐜頒唬閫氳鎶鏈殑涓涓牴鏈暟瀛﹀熀紜錛屽ぇ鍚堟暟鐨勫揩閫熷洜瀛愬垎瑙o紝榪樻槸涓涓毦棰樸傛偍鎰挎剰鐮旂┒瀹冨悧錛?</div> <div>濡傛灉鎮ㄦ兂鎻愰珮鎶鏈紝瀵逛腑鍥界殑杞歡鎶鏈湁鎵璐$尞錛?</div> <div>1.鐮旂┒ VC錛孞AVA </div> <div>2.鐮旂┒鏁版嵁緇撴瀯錛屽幓鑰冮珮綰х▼搴忓憳 </div> <div>3. 鐮旂┒鎿嶄綔緋葷粺錛岃minix source code </div> <div>4. 鐮旂┒tcp/ip, rfc鏂囨。 </div> <div>5. 閫氳linux, 鎵嶇畻杈懼埌榛戝澧冪晫 </div> <div>6. 瀛︿範 UML錛孯OSE錛岃蔣浠跺伐紼嬶紝杈懼埌緋葷粺鍒嗘瀽鍛樻按騫熾?</div> <div>濡傛灉鎮ㄥ鎻愰珮涓浗鐨勭鎶鏈夊叴瓚o紝璁$畻鏈烘妧鏈紝鑸ぉ鎶鏈︹?</div> <div>鎴戠殑鍚岃優浠紝鎴戞効澶у0鍛愬枈錛?</div> <div>涓涓湡姝g殑姘戞棌涓諱箟鑰咃紝涓嶆槸涔夊拰鍥紝涓嶆槸澶鉤澶╁浗錛屼笉鏄棴鍏抽攣鍥斤紝涓嶆槸鐩茬洰浠囧錛屼笉鏄笉鏁㈡瑙嗚嚜宸辨皯鏃忓拰鏂囧寲鐨勪笐闄嬪拰緙虹偣銆?</div> <div>鐪熸鐨勬皯鏃忎富涔夎呮槸鎴愮啛鐨勩佹竻閱掔殑銆佺悊鏅虹殑銆佸姟瀹炵殑姘戞棌涓諱箟銆傜湡姝g殑姘戞棌涓諱箟鑰呬笉鏄鏃忎富涔夎咃紝涓嶆槸鏋佺浠藉瓙錛屼笉鏄垬浜夌媯浜恒?</div> <div>鐪熸鐨勬皯鏃忎富涔夎呬互榪芥眰鏈皯鏃忊斺斾腑鍗庢皯鏃忕殑鍒╃泭鏈澶у寲涓虹洰鏍囥佸噯鍒欍佷俊蹇點傚垽鏂竴涓漢鏄笉鏄湡姝g殑姘戞棌涓諱箟鑰咃紝鍒ゆ柇鏍囧噯寰堢畝鍗曪細鐪嬩粬鏄粰鏈皯鏃忕殑鏁翠綋鍒╃泭甯︽潵濂藉錛岃繕鏄崯瀹蟲皯鏃忓埄鐩娿傜湡姝g殑姘戞棌涓諱箟鑰呮渶鍔″疄錛屽洜涓轟粬鐭ラ亾鍧氭寔鍘熷垯錛屽悓鏃跺張鎳傚緱絳栫暐銆傝鎴戜滑鎴愪負鐪熸鐨勯《灝栭粦瀹紒璁╂垜浠垚涓虹湡姝g殑姘戞棌涓諱箟鑰?</div> <img src ="http://www.shnenglu.com/saga/aggbug/7658.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/saga/" target="_blank">saga.constantine</a> 2006-05-25 22:20 <a href="http://www.shnenglu.com/saga/archive/2006/05/25/7658.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://www.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://by99969.com" target="_blank">亚洲精品国产欧美</a>| <a href="http://gs-qintai.com" target="_blank">黄色国产精品</a>| <a href="http://012488.com" target="_blank">亚洲图片在区色</a>| <a href="http://4hup23.com" target="_blank">一本久道久久久</a>| <a href="http://hongzaixian.com" target="_blank">国产精品蜜臀在线观看</a>| <a href="http://5588gww.com" target="_blank">欧美专区在线观看一区</a>| <a href="http://sese135.com" target="_blank">久久亚洲私人国产精品va媚药</a>| <a href="http://012488.com" target="_blank">亚洲福利视频网站</a>| <a href="http://vipaqdx29.com" target="_blank">亚洲日韩成人</a>| <a href="http://4379d.com" target="_blank">亚洲欧洲另类国产综合</a>| <a href="http://621791.com" target="_blank">久久精品最新地址</a>| <a href="http://7a7d.com" target="_blank">久久综合久色欧美综合狠狠</a>| <a href="http://hazymall.com" target="_blank">亚洲乱码国产乱码精品精可以看</a>| <a href="http://737sihu.com" target="_blank">亚洲精品永久免费</a>| <a href="http://97gaoba.com" target="_blank">国产喷白浆一区二区三区</a>| <a href="http://044925.com" target="_blank">女仆av观看一区</a>| <a href="http://xsjgxx.com" target="_blank">欧美日本视频在线</a>| <a href="http://99cheats.com" target="_blank">久久精品一二三</a>| <a href="http://xjhzgy.com" target="_blank">欧美日韩免费在线</a>| <a href="http://929889.com" target="_blank">亚洲黄色视屏</a>| <a href="http://862924.com" target="_blank">亚洲网友自拍</a>| <a href="http://www4848xx.com" target="_blank">国产真实乱子伦精品视频</a>| <a href="http://www-9694.com" target="_blank">亚洲欧洲精品一区二区三区</a>| <a href="http://fjccjq.com" target="_blank">国产精品综合久久久</a>| <a href="http://xzvaz.com" target="_blank">欧美大尺度在线</a>| <a href="http://czjrby.com" target="_blank">国产欧美精品在线</a>| <a href="http://winkwink333.com" target="_blank">亚洲黄色视屏</a>| <a href="http://jiejiesao8.com" target="_blank">狠狠色香婷婷久久亚洲精品</a>| <a href="http://wwww76.com" target="_blank">日韩视频免费</a>| <a href="http://18av18.com" target="_blank">在线国产日韩</a>| <a href="http://862924.com" target="_blank">欧美亚洲专区</a>| <a href="http://www456456.com" target="_blank">亚洲男人的天堂在线aⅴ视频</a>| <a href="http://kongtou8.com" target="_blank">久久综合亚洲社区</a>| <a href="http://sdsankeguo.com" target="_blank">久久国产精品网站</a>| <a href="http://www297777.com" target="_blank">欧美日韩免费观看一区三区 </a>| <a href="http://151545.com" target="_blank">韩国视频理论视频久久</a>| <a href="http://18av-2.com" target="_blank">日韩午夜剧场</a>| <a href="http://uuuu79.com" target="_blank">亚洲精品一区二区三区在线观看</a>| <a href="http://hlyjh.com" target="_blank">午夜国产精品影院在线观看</a>| <a href="http://shuoqe.com" target="_blank">中文日韩电影网站</a>| <a href="http://805185.com" target="_blank">欧美黄在线观看</a>| <a href="http://zj-jufeng.com" target="_blank">欧美成年人视频网站</a>| <a href="http://ll992.com" target="_blank">国产亚洲毛片在线</a>| <a href="http://quoviajes.com" target="_blank">亚洲在线国产日韩欧美</a>| <a href="http://4254888.com" target="_blank">亚洲视频一二</a>| <a href="http://khc83.com" target="_blank">欧美日韩国产综合久久</a>| <a href="http://jrtkpx.com" target="_blank">亚洲成人在线免费</a>| <a href="http://318823.com" target="_blank">亚洲女女女同性video</a>| <a href="http://yjdm296.com" target="_blank">欧美国产大片</a>| <a href="http://zytxkj.com" target="_blank">欧美高清不卡</a>| <a href="http://b476.com" target="_blank">亚洲国产精品ⅴa在线观看</a>| <a href="http://017455.com" target="_blank">久久精品成人</a>| <a href="http://avtb2068.com" target="_blank">久久精品国产77777蜜臀</a>| <a href="http://dd8uau0ncu.com" target="_blank">国产精品伦一区</a>| <a href="http://7777731.com" target="_blank">亚洲午夜电影在线观看</a>| <a href="http://78gde.com" target="_blank">亚洲一区日韩在线</a>| <a href="http://qdssqt.com" target="_blank">欧美日韩免费在线观看</a>| <a href="http://80hogo.com" target="_blank">99在线视频精品</a>| <a href="http://cqrebo.com" target="_blank">亚洲视频观看</a>| <a href="http://yhc26.com" target="_blank">国产精品久久久久久福利一牛影视 </a>| <a href="http://metagasa.com" target="_blank">亚洲午夜久久久久久久久电影院</a>| <a href="http://56667r.com" target="_blank">欧美大片第1页</a>| <a href="http://188293.com" target="_blank">亚洲国产一区在线观看</a>| <a href="http://jsgf444.com" target="_blank">亚洲裸体视频</a>| <a href="http://ooonefteprompellets.com" target="_blank">欧美人与性动交a欧美精品</a>| <a href="http://taoseav8.com" target="_blank">亚洲精品欧美专区</a>| <a href="http://6hzl8.com" target="_blank">亚洲制服少妇</a>| <a href="http://91pinping.com" target="_blank">国产女主播一区</a>| <a href="http://8x27.com" target="_blank">欧美中文在线观看</a>| <a href="http://599107.com" target="_blank">欧美gay视频激情</a>| <a href="http://www47777.com" target="_blank">亚洲欧洲在线观看</a>| <a href="http://ourskycity.com" target="_blank">欧美日韩精品免费看</a>| <a href="http://cnc800.com" target="_blank">亚洲视频大全</a>| <a href="http://227002.com" target="_blank">久久久亚洲成人</a>| <a href="http://689558.com" target="_blank">亚洲国产一区在线</a>| <a href="http://ebmsci.com" target="_blank">欧美日本亚洲</a>| <a href="http://xdlot.com" target="_blank">亚洲欧美三级伦理</a>| <a href="http://261262.com" target="_blank">亚洲欧美日本伦理</a>| <a href="http://sexx777.com" target="_blank">久久亚洲一区</a>| <a href="http://shiselol.com" target="_blank">91久久黄色</a>| <a href="http://98956888.com" target="_blank">亚洲一区精品视频</a>| <a href="http://778km.com" target="_blank">国产欧美一区二区在线观看</a>| <a href="http://haochen072.com" target="_blank">欧美一区视频在线</a>| <a href="http://www-72794.com" target="_blank">亚洲第一区在线观看</a>| <a href="http://492541.com" target="_blank">一区二区三区四区精品</a>| <a href="http://hhhh19.com" target="_blank">国产精品福利在线</a>| <a href="http://wb2014.com" target="_blank">久久久久久黄</a>| <a href="http://cytus2wiki.com" target="_blank">亚洲毛片在线</a>| <a href="http://www18bbav.com" target="_blank">久久久国产视频91</a>| <a href="http://nagebbs.com" target="_blank">亚洲乱码国产乱码精品精98午夜</a>| <a href="http://118017.com" target="_blank">欧美系列精品</a>| <a href="http://haixian360.com" target="_blank">久久天天躁夜夜躁狠狠躁2022</a>| <a href="http://pron12.com" target="_blank">亚洲国产婷婷综合在线精品</a>| <a href="http://www149aa.com" target="_blank">亚洲欧美国产毛片在线</a>| <a href="http://avse69.com" target="_blank">影音先锋亚洲电影</a>| <a href="http://wwwnnnn.com" target="_blank">欧美午夜寂寞影院</a>| <a href="http://sdsptl.com" target="_blank">欧美一区二区三区另类</a>| <a href="http://bodabloc.com" target="_blank">亚洲国产欧美日韩</a>| <a href="http://by5263.com" target="_blank">久久精品国产免费观看</a>| <a href="http://xajtyd.com" target="_blank">亚洲裸体俱乐部裸体舞表演av</a>| <a href="http://0855123.com" target="_blank">国产欧美精品在线播放</a>| <a href="http://derinsolar.com" target="_blank">欧美大片第1页</a>| <a href="http://74va.com" target="_blank">久久黄色影院</a>| <a href="http://wocao1997.com" target="_blank">亚洲桃花岛网站</a>| <a href="http://wocao1997.com" target="_blank">亚洲国产精品专区久久</a>| <a href="http://samucorvin.com" target="_blank">久久精品国产久精国产一老狼</a>| <a href="http://ahhyez.com" target="_blank">日韩视频在线播放</a>| <a href="http://261262.com" target="_blank">一区视频在线播放</a>| <a href="http://o10669.com" target="_blank">国产伦精品一区二区三区高清版 </a>| <a href="http://778hao.com" target="_blank">欧美猛交免费看</a>| <a href="http://sg-lxs.com" target="_blank">久久高清福利视频</a>| <a href="http://www-232323.com" target="_blank">亚洲视频福利</a>| <a href="http://www4466k.com" target="_blank">最新高清无码专区</a>| <a href="http://hbshwx.com" target="_blank">免费成人黄色av</a>| <a href="http://zhaosaoz.com" target="_blank">久久riav二区三区</a>| <a href="http://www369cf.com" target="_blank">亚洲网站在线观看</a>| <a href="http://123273.com" target="_blank">亚洲裸体在线观看</a>| <a href="http://www49853b.com" target="_blank">在线观看亚洲a</a>| <a href="http://5657hh.com" target="_blank">国产午夜一区二区三区</a>| <a href="http://jldianda.com" target="_blank">国产精品久久波多野结衣</a>| <a href="http://7811c.com" target="_blank">欧美女同在线视频</a>| <a href="http://wwwsfsf11.com" target="_blank">欧美成人一二三</a>| <a href="http://cca22.com" target="_blank">美日韩在线观看</a>| <a href="http://wtoykd.com" target="_blank">久久午夜精品一区二区</a>| <a href="http://488089.com" target="_blank">欧美一区午夜精品</a>| <a href="http://www-833898.com" target="_blank">新67194成人永久网站</a>| <a href="http://topjavhd.com" target="_blank">亚洲午夜一区二区三区</a>| <a href="http://789583.com" target="_blank">99精品福利视频</a>| <a href="http://83319b.com" target="_blank">亚洲另类在线视频</a>| <a href="http://www4411n.com" target="_blank">亚洲日本中文字幕区</a>| <a href="http://9906w.com" target="_blank">亚洲欧洲久久</a>| <a href="http://1332233.com" target="_blank">亚洲精品专区</a>| <a href="http://517hc5.com" target="_blank">日韩一级视频免费观看在线</a>| <a href="http://caoliu20.com" target="_blank">亚洲人在线视频</a>| <a href="http://www62265.com" target="_blank">亚洲人成艺术</a>| <a href="http://wwwhaodd116.com" target="_blank">日韩视频亚洲视频</a>| <a href="http://www-442336.com" target="_blank">99国产精品</a>| <a href="http://3dmh133.com" target="_blank">亚洲性感美女99在线</a>| <a href="http://jizzizz.com" target="_blank">亚洲视频专区在线</a>| <a href="http://kasimcoal.com" target="_blank">亚洲尤物影院</a>| <a href="http://49028b.com" target="_blank">欧美亚洲一级</a>| <a href="http://828121.com" target="_blank">久久久久国产一区二区</a>| <a href="http://kuaikan97.com" target="_blank">久久久精品久久久久</a>| <a href="http://my1315.com" target="_blank">美女主播精品视频一二三四</a>| <a href="http://13751144594.com" target="_blank">美女91精品</a>| <a href="http://holotu.com" target="_blank">欧美另类99xxxxx</a>| <a href="http://seanzhau.com" target="_blank">欧美视频第二页</a>| <a href="http://1369080.com" target="_blank">国产精品嫩草久久久久</a>| <a href="http://59812mh.com" target="_blank">国产日韩精品电影</a>| <a href="http://cnlbogs.com" target="_blank">在线精品视频一区二区</a>| <a href="http://kxm6868.com" target="_blank">亚洲人成在线播放</a>| <a href="http://www777788c.com" target="_blank">宅男噜噜噜66国产日韩在线观看</a>| <a href="http://域名" target="_blank">欧美一区二区三区在线</a>| <a href="http://yiqipapa8.com" target="_blank">日韩午夜在线</a>| <a href="http://jnjpsm.com" target="_blank">亚洲深夜福利网站</a>| <a href="http://xcao10.com" target="_blank">欧美在线观看网址综合</a>| <a href="http://0855dyw.com" target="_blank">欧美在线在线</a>| <a href="http://xashp.com" target="_blank">欧美成在线观看</a>| <a href="http://avtaobao7788.com" target="_blank">欧美日韩成人网</a>| <a href="http://hbzbjxzz.com" target="_blank">国产精品亚洲美女av网站</a>| <a href="http://4c8x.com" target="_blank">国产一区二区三区在线观看网站</a>| <a href="http://3188m.com" target="_blank">在线成人激情黄色</a>| <a href="http://44779c.com" target="_blank">亚洲精品日韩综合观看成人91</a>| <a href="http://www-76577c.com" target="_blank">一区二区日韩精品</a>| <a href="http://neudlac.com" target="_blank">久久国产直播</a>| <a href="http://rosi2030.com" target="_blank">亚洲第一色中文字幕</a>| <a href="http://www-477499.com" target="_blank">一区二区高清视频在线观看</a>| <a href="http://8xn66w.com" target="_blank">欧美一区二区三区在线</a>| <a href="http://seo8138.com" target="_blank">欧美高清免费</a>| <a href="http://huokemima.com" target="_blank">国产精品一卡</a>| <a href="http://998609.com" target="_blank">亚洲区中文字幕</a>| <a href="http://cao3e8c8.com" target="_blank">亚洲欧美综合</a>| <a href="http://ydy8.com" target="_blank">亚洲国产精品成人va在线观看</a>| <a href="http://3dprintingferuima.com" target="_blank">亚洲黄色在线视频</a>| <a href="http://ruichengxiang.com" target="_blank">亚洲一区二区少妇</a>| <a href="http://39ddtv.com" target="_blank">免费一区二区三区</a>| <a href="http://lovehefei.com" target="_blank">国产欧美一区二区三区在线老狼 </a>| <a href="http://www77711.com" target="_blank">国产老肥熟一区二区三区</a>| <a href="http://whdzjc.com" target="_blank">一区久久精品</a>| <a href="http://www8888803.com" target="_blank">亚洲男人的天堂在线</a>| <a href="http://021-job.com" target="_blank">欧美国产极速在线</a>| <a href="http://lingshidu.com" target="_blank">午夜精品在线看</a>| <a href="http://www16axax.com" target="_blank">欧美精品一区二区三区四区</a>| <a href="http://894322.com" target="_blank">国产综合亚洲精品一区二</a>| <a href="http://iamsleekcn.com" target="_blank">一本到12不卡视频在线dvd</a>| <a href="http://wwwhhh396.com" target="_blank">久久国产主播精品</a>| <a href="http://www-23918.com" target="_blank">99国产精品</a>| <a href="http://xxxyyy168.com" target="_blank">母乳一区在线观看</a>| <a href="http://799858.com" target="_blank">国产亚洲综合在线</a>| <a href="http://10669p.com" target="_blank">亚洲女同在线</a>| <a href="http://gs-qintai.com" target="_blank">亚洲国产一区二区三区青草影视 </a>| <a href="http://118936.com" target="_blank">欧美99在线视频观看</a>| <a href="http://wawabt.com" target="_blank">亚洲伊人色欲综合网</a>| <a href="http://tzhsdy.com" target="_blank">欧美日韩国产经典色站一区二区三区</a>| <a href="http://www66441.com" target="_blank">国产一区二区三区黄</a>| <a href="http://6567ya.com" target="_blank">亚洲欧美激情视频</a>| <a href="http://www51avav.com" target="_blank">亚洲精品资源美女情侣酒店</a>| <a href="http://1000kongbao.com" target="_blank">久久综合久久综合这里只有精品</a>| <a href="http://987328.com" target="_blank">国产欧美精品va在线观看</a>| <a href="http://www-69669.com" target="_blank">一区二区日韩伦理片</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>