windows»·¾³ÏÂ32λ»ã±àÓïÑÔ³ÌÐòÉè¼Æ-µÚ63²¿·Ö
°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
Ú¶þ¿é¼¸ºõ½ô½ÓµÚÒ»¿éÄڴ棬һ°ãÇé¿öÏÂÈç¹ûµÚÒ»¿éÄÚ´æµÄµØÖ·ÊÇX£¬ÄÇôµÚ¶þ¿éÄÚ´æµÄµØÖ·¼¸ºõ¾ÍÊÇX£«1000h£¬Èç¹ûÐèÒª½«µÚÒ»¸öÄÚ´æ¿éÀ©´óµ½2000h×Ö½Ú£¬ÄÇôֻÄÜÔÚ±ðµÄµØ·½¿ª±ÙÒ»¸ö2000h´óСµÄÄÚ´æ¿é£¬ÒòΪÔÀ´Î»ÖúóÃæµÄ1000hÒѾ±»µÚ¶þ¿éÄÚ´æÕ¼ÓÃÁË£¬Õâ¾ÍÒâζ×ÅеÄÖ¸Õë¿ÉÄܺÍÔÀ´µÄ²»Ò»Ñù¡£
¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷ÕߣºÂÞÔƱò¡¡ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡
µÚ10Õ¡¡ÄÚ´æ¹ÜÀíºÍÎļþ²Ù×÷
10¡£1¡¡ÄÚ¡¡´æ¡¡¹Ü¡¡Àí£¨3£©
¡¡¡¡¡¡¡¡
¿ÉÒÔÔÚGlobalReAllocº¯ÊýÖÐͨ¹ýÖ¸¶¨²»Í¬µÄuFlagsÀ´¹æ¶¨ÊÇ·ñÔÊÐíWindowsÔÚ±ØÒªµÄʱºòÒƶ¯ÄÚ´æ¿é¡£µ±uFlagsÖÐÓÐGMEM_MOVEABLEÑ¡ÏîµÄʱºò£¬Èç¹ûÐèÒªÒƶ¯ÄÚ´æ¿é£¬Windows»áÔÚ±ðµÄµØ·½¿ª±ÙÒ»¿éеÄÄڴ棬²¢°ÑÔÀ´ÄÚ´æ¿éÖеÄÄÚÈÝ×Ô¶¯¸´ÖƵ½ÐµÄÄÚ´æ¿éÖУ¬Õâʱº¯ÊýµÄ·µ»ØÖµÊÇеÄÖ¸Õ룬ÔÀ´µÄÖ¸Õë×÷·Ï¡£
Èç¹û²»Ö¸¶¨GMEM_MOVEABLEÑ¡ÏÄÇôֻÓе±ÄÚ´æ¿éºóÃæÀ©Õ¹ËùÐèµÄ¿Õ¼äûÓб»Ê¹ÓÃʱ£¬º¯Êý²Å»áÖ´Ðгɹ¦£¬·ñÔò£¬º¯Êýʧ°Ü²¢·µ»ØNULL£¬ÕâʱÔÀ´µÄÖ¸Õë¼ÌÐøÓÐЧ¡£
ΪÁ˱£Ö¤ÄÚ´æ¿éÀ©´ó³É¹¦£¬½¨Òé×ÜÊÇʹÓÃÏÂÃæµÄÓï¾äÀ´À©´óºÍËõСÄڴ棺
invoke¡¡¡¡GlobalReAlloc£¬lpMemory£¬dwBytes£¬GMEM_ZEROINIT¡¡or¡¡GMEM_MOVEABLE
¡£if¡¡¡¡¡¡¡¡¡¡eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡lpMemory£¬eax
¡¡¡¡¡¡¡¡¡£endif
Ö¸¶¨GMEM_ZEROINITÑ¡Ïî¿ÉÒÔʹÄÚ´æ¿éÀ©´óµÄ²¿·Ö×Ô¶¯±»³õʼ»¯Îª0£¬È»ºó³ÌÐòÅжϷµ»ØÖµ£¬Èç¹û¸Ä±ä´óС³É¹¦µÄ»°£¬ÔòÓÃеÄÖ¸ÕëÌæ»»ÔÀ´µÄÖ¸Õ룬ÆäËûºÍÔÀ´Ö¸ÕëÓйصÄÖµÒ²²»ÒªÍüÁËͬʱ¸üС£
2¡£¡¡¿ÉÒƶ¯µÄÄÚ´æ¿é
¿ÉÒƶ¯µÄÄÚ´æ¿éÔÚ²»Ê¹ÓõÄʱºòÔÊÐíWindows¸Ä±äËüµÄÏßÐÔµØÖ·£¬ÎªÊ²Ã´ÒªÊ¹ÓÿÉÒƶ¯µÄÄÚ´æ¿éÄØ£¿Î©Ò»µÄÀíÓÉÊÇ·ÀÖ¹ÄÚ´æµÄËéƬ»¯£¬ÕâÀïµÄËéƬ»¯Ö¸µÄÊÇÓû§³ÌÐò×Ô¼ºµØÖ·¿Õ¼äµÄËéƬ»¯£¬¶ø²»ÊÇÖ¸Õû¸ö²Ù×÷ϵͳ¡£¶ÁÕß¿ÉÄÜÓиöÒÉÎÊ£ºÓëDOS²Ù×÷ϵͳÏà±È£¬Win32Óû§³ÌÐò¿ÉÓõĵØÖ·¿Õ¼äÒª´óµÃ¶à£¬ÕûÕû2¡¡GBµÄµØÖ·¿Õ¼äÄѵÀ»¹ÅÂÓÃÍêÂð£¿ÈÃÎÒÃÇÏÈÓÃÒ»¸öÀý×ÓÀ´ÑÝʾһÏ£¬²¢ÓÉ´ËÒýÉì³ö¿ÉÒƶ¯ÄÚ´æ¿éµÄʹÓ÷½·¨¡£
ÔÚÕâ¸öÀý×ÓÖУ¬ÈÃÎÒÃÇÀ´Éè¼ÆÒ»¸ö¡°Òõı¡±£¬ÓÃÒ»¸ö¼«¶ËµÄ·½·¨¡°Ä±É±¡±µôËùÓеĵØÖ·¿Õ¼ä£º³ÌÐòÊ×ÏÈÉêÇëÒ»¸ö1¡¡MB´óСµÄ¹Ì¶¨ÄÚ´æ¿é£¬È»ºó¼ÌÐøÉêÇëÄÚ´æ²¢°ÑÇ°ÃæÉêÇëµÄÄÚ´æ¿é´óС¸ÄΪ100¡¡B£¬ÓÉ´ËÑ»·£¬ÒòΪËõСÄÚ´æ¿éÊͷųöÀ´µÄ¿Õ¼ä´óСΪ999¡¡900¡¡B£¬ÐÂÉêÇëµÄÄÚ´æ¿éÎÞ·¨Ê¹ÓÃÕâЩµØÖ·¿Õ¼ä£¬Ö»ÄܼÌÐøʹÓúóÃæ´ó¿éµÄµØÖ·¿Õ¼ä£¬Èç¹ûûÓÐËã´íµÄ»°£¬¾¹ý2¡¡000´Î×óÓÒµÄÑ»·¾Í»á°ÑÈ«²¿µÄµØÖ·¿Õ¼ä·Ö¸î³É2¡¡000¸ö999¡¡900¡¡B´óСµÄ¿Õ¼ä£¨2GBµÈÓÚ2¡¡000¸ö1¡¡MB£©£¬µ½Ê±ºòËäȻֻ±£ÁôÁ˽ü200¡¡KB´óСµÄÄڴ棨2¡¡000¸ö100¡¡B£©£¬µ«ÊÇÕâ2¡¡000¸ö100¡¡B¾ùÔÈ·Ö²¼ÔÚ2¡¡GBµÄµØÖ·¿Õ¼äÄÚ£¬ÒÔÖÁÓÚ½ÓÏÂÀ´ÈκδóÓÚ999¡¡900¡¡BµÄÄÚ´æÉêÇë²Ù×÷¶¼ÎÞ·¨³É¹¦¡£
Õâ¸ö³ÌÐòλÓÚËù¸½¹âÅ̵ÄChapter10FragmentĿ¼ÄÚ£¬Fragment¡£asmµÄÔ´´úÂëÈçÏ£º
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£386
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£model¡¡flat£»¡¡stdcall
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡option¡¡casemap¡¡£ºnone
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
£»¡¡Include¡¡Îļþ¶¨Òå
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
include¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡windows¡£inc
include¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡user32¡£inc
includelib¡¡¡¡¡¡¡¡¡¡¡¡user32¡£lib
include¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡kernel32¡£inc
includelib¡¡¡¡¡¡¡¡¡¡¡¡kernel32¡£lib
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
£»¡¡Equ¡¡µÈÖµ¶¨Òå
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
ICO_MAIN¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡equ¡¡¡¡¡¡¡¡¡¡1000
DLG_MAIN¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡equ¡¡¡¡¡¡¡¡¡¡100
IDC_MEMORY¡¡¡¡¡¡¡¡¡¡¡¡equ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡101
IDC_COUNT¡¡¡¡¡¡¡¡¡¡¡¡¡¡equ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡102
IDC_INFO¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡equ¡¡¡¡¡¡¡¡¡¡103
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
£»¡¡Êý¾Ý¶Î
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£data£¿
hInstance¡¡¡¡¡¡¡¡¡¡¡¡¡¡dd¡¡¡¡¡¡¡¡¡¡¡¡£¿
hWinMain¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dd¡¡¡¡¡¡¡¡¡¡¡¡£¿
dwTotalMemory¡¡¡¡¡¡dd¡¡¡¡¡¡¡¡¡¡¡¡£¿
dwCount¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dd¡¡¡¡¡¡¡¡¡¡¡¡£¿
ifCanQuit¡¡¡¡¡¡¡¡¡¡¡¡¡¡dd¡¡¡¡¡¡¡¡¡¡¡¡£¿
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡nst
szInfo¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡'ÎÞ·¨¼ÌÐøÉêÇë¡¡1MB¡¡´óСµÄÄڴ棡'£»0
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
£»¡¡´úÂë¶Î
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡de
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
_ProcThread¡¡¡¡¡¡¡¡¡¡proc¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡uses¡¡ebx¡¡ecx¡¡edx¡¡esi¡¡edi£»lParam
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡local¡¡¡¡¡¡@lpLastMem
¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡GlobalAlloc£»GPTR£»1000000
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡@lpLastMem£»eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡inc¡¡¡¡¡¡¡¡¡¡dwCount
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡add¡¡¡¡¡¡¡¡¡¡dwTotalMemory£»1000000
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£repeat
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡push¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡@lpLastMem
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡GlobalAlloc£»GPTR£»1000000
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡@lpLastMem£»eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡add¡¡¡¡¡¡¡¡¡¡dwTotalMemory£»1000000
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡inc¡¡¡¡¡¡¡¡¡¡dwCount
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pop¡¡¡¡¡¡¡¡¡¡eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡GlobalReAlloc£»eax£»100£»GMEM_ZEROINIT
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡sub¡¡¡¡¡¡¡¡¡¡dwTotalMemory£»1000000¡¡¡¡¡100
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡SetDlgItemInt£»hWinMain£»IDC_MEMORY£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dwTotalMemory£»FALSE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡SetDlgItemInt£»hWinMain£»IDC_COUNT£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dwCount£»FALSE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£until¡¡¡¡£¡¡¡@lpLastMem
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡SetDlgItemText£»hWinMain£»IDC_INFO£»addr¡¡szInfo
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡ifCanQuit£»1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
¡¡
_ProcThread¡¡¡¡¡¡¡¡¡¡endp
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
_ProcDlgMain¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡proc¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡uses¡¡ebx¡¡edi¡¡esi¡¡hWnd£»wMsg£»wParam£»lParam
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡local¡¡¡¡¡¡@dwTemp
¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡eax£»wMsg
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡eax¡¡¡¡¡¡WM_CLOSE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡ifCanQuit
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡EndDialog£»hWnd£»NULL
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif
£»********************************************************************
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£elseif¡¡eax¡¡¡¡¡¡WM_INITDIALOG
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡push¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡hWnd
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pop¡¡¡¡¡¡¡¡¡¡hWinMain
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡LoadIcon£»hInstance£»ICO_MAIN
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡SendMessage£»hWnd£»WM_SETICON£»ICON_BIG£»eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡CreateThread£»NULL£»0£»offset¡¡_ProcThread£»NULL£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡NULL£»addr¡¡@dwTemp
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡CloseHandle£»eax
£»********************************************************************
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£else
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡eax£»FALSE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡eax£»TRUE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
¡¡
_ProcDlgMain¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡endp
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
start£º
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡GetModuleHandle£»NULL
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡hInstance£»eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡DialogBoxParam£»hInstance£»DLG_MAIN£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡NULL£»offset¡¡_ProcDlgMain£»NULL
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡ExitProcess£»NULL
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡end¡¡¡¡¡¡¡¡¡¡start
¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷ÕߣºÂÞÔƱò¡¡ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡
µÚ10Õ¡¡ÄÚ´æ¹ÜÀíºÍÎļþ²Ù×÷
10¡£1¡¡ÄÚ¡¡´æ¡¡¹Ü¡¡Àí£¨4£©
¡¡¡¡¡¡¡¡
¶ÔÓ¦µÄ×ÊÔ´ÎļþFragment¡£rcÈçÏ£º
//¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
#include¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
//¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
#define¡¡ICO_MAIN¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1000
#define¡¡DLG_MAIN¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡100
#define¡¡IDC_MEMORY¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡101
#define¡¡IDC_COUNT¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡102
#define¡¡IDC_INFO¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡103
//¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
ICO_MAIN¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ICON¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨Main¡£ico¡¨
//¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
DLG_MAIN¡¡DIALOG¡¡308£»¡¡207£»¡¡130£»¡¡50
STYLE¡¡DS_MODALFRAME¡¡£ü¡¡WS_POPUP¡¡£ü¡¡WS_VISIBLE¡¡£ü¡¡WS_CAPTION¡¡£ü¡¡WS_SYSMENU
CAPTION¡¡¡¨ËéƬÄÚ´æÑÝʾ¡¨
FONT¡¡9£»¡¡¡¨ËÎÌ塨
£û
¡¡RTEXT¡¡¡¨ÉêÇëÄÚ´æ×ÜÊý£º¡¨£»¡¡¡1£»¡¡7£»¡¡8£»¡¡60£»¡¡8
¡¡EDITTEXT¡¡IDC_MEMORY£»¡¡69£»¡¡5£»¡¡55£»¡¡12£»¡¡
ES_AUTOHSCROLL¡¡£ü¡¡ES_READONLY¡¡£ü¡¡WS_BORDER¡¡£ü¡¡WS_TABSTOP
¡¡RTEXT¡¡¡¨ÉêÇë´ÎÊý£º¡¨£»¡¡¡1£»¡¡7£»¡¡21£»¡¡60£»¡¡8
¡¡EDITTEXT¡¡IDC_COUNT£»¡¡69£»¡¡19£»¡¡55£»¡¡12£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡ES_AUTOHSCROLL¡¡£ü¡¡ES_READONLY¡¡£ü¡¡WS_BORDER¡¡£ü¡¡WS_TABSTOP
¡¡LTEXT¡¡¡¨¡¨£»¡¡IDC_INFO£»¡¡7£»¡¡37£»¡¡120£»¡¡8
£ý
//¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
³ÌÐòÔÚWM_INITDIALOGÏûÏ¢Öн¨Á¢ÁËÒ»¸öÏß³ÌÀ´Ñ»·ÉêÇëÄڴ棨Ï൱ÓÚÔÚºǫִ́ÐÐ_ProcThread×Ó³ÌÐò£¬Óë¶àÏß³ÌÏà¹ØµÄÄÚÈÝÇë²Î¼ûµÚ12Õ£©¡£È«¾Ö±äÁ¿dwCount¼Ç¼ÁËÉêÇëµÄ´ÎÊý£¬Ã¿´ÎÉêÇëÄÚ´æ¾Í½«ËüµÄÖµ¼Ó1¡£dwTotalMemory¼Ç¼Á˳ÌÐòÉêÇëµ½µÄÄÚ´æ×ÜÊý£¬Ã¿ÉêÇëÒ»¸ö1¡¡MBµÄÄڴ棬³ÌÐò½«ËüµÄÖµ¼ÓÉÏ1¡¡000¡¡000£¬Ã¿´ÎÓÃGlobalReAllocËõСÄÚ´æ¿é£¬Ôò½«ËüµÄÖµ¼õÈ¥999¡¡900¡£µ±×îºóÉêÇëÄÚ´æʧ°ÜµÄʱºò£¬repeatÑ»·½áÊø¡£
ÔÚWindows¡¡2000ÏÂÔËÐÐһϳÌÐòÒÔÑéÖ¤½á¹û£¬¼¸ÃëµÄÔËÐÐÖУ¬ÏÔʾµÄ¼ÆÊý²»¶ÏÔö¼Ó£¬×îºóµÄ½á¹ûÈçͼ10¡£3Ëùʾ¡£
ͼ10¡£3¡¡¡¡ÄÚ´æËéƬ»¯µÄÑÝʾ½á¹û
½á¹ûºÍÔ¤ÏëµÄÒ»Ñù£¬¾¹ý2¡¡027´ÎµÄ²Ù×÷£¬Ö»±£ÁôÁ˽ü202¡¡700¡¡BµÄÄڴ棬³ÌÐò¾Í³É¹¦µØ¡°Ä±É±¡±ÁËËùÓеĵØÖ·¿Õ¼ä£¬ÈÃÕû¸ö2¡¡GBÖмä³äÂúÁËËéƬ£¬ÒÔÖÁÓÚÁ¬1¡¡MB´óСµÄÄÚ´æÒ²ÎÞ·¨ÉêÇëÁË£¡µ±³ÌÐòÔÚWindows¡¡9xÖÐÔËÐÐʱ£¬ÓÉÓÚ9xϵͳÔڸ߶˺͵ͶËÂÖ»»·ÖÅäÄÚ´æ¿é£¬ËùÒÔͬÑùµÄ°ì·¨¾Í²»»á²úÉúÄÚ´æËéƬ£¬µ«ÊÇÈç¹ûÔÚÑ»·ÖÐÏÈAllocÁ½´Î¡¢È»ºóReallocÁ½´ÎµÄ»°ÈÔÈ»¿ÉÒÔÔì³ÉÄÚ´æËéƬ»¯¡£
ËäÈ»ÕâÊÇÒ»¸ö¼«¶ËµÄÇé¿ö£¬µ«ÔÚÏÖʵÖлᷢÉúÂ𣿻áµÄ£¡ÀýÈç±àдһ¸ö±éÀú¶þ²æÊ÷µÄ³ÌÐò£¬Ã¿Ôö¼ÓÒ»¸ö½áµãµÄʱºòÉêÇëÒ»¿éÄڴ棬ÓÃÀ´´æ·ÅÖ¸ÏòÆäËû½áµãµÄÖ¸ÕëÒÔ¼°¸½¼ÓÔÚ½áµãÉϵÄÊý¾Ý£¬µ±½áµã´¦ÀíÍê±ÏºóËõСÄÚ´æ¿é£¬Ö»ÁôÏÂÖ¸ÕëÊý¾Ý£¬ÄÇôÇé¿ö¾ÍºÍÑÝʾ³ÌÐòÀàËÆ£¬µ±Ê÷µÄ½áµã×ã¹»¶àµÄʱºò£¬¾¹ýÒ»¶Îʱ¼äµÄ²Ù×÷£¬ÄÚ´æÖоͻá³äÂúËéƬ¡£
½â¾öÄÚ´æËéƬ»¯µÄ°ì·¨ºÜ¼òµ¥£¬ÒòΪËéƬ֮¼äÓдóÁ¿µÄÄÚ´æÊÇ¿ÕÏеģ¬Ö»ÒªÔÊÐíWindowsÒƶ¯Ð¡¿éµÄÔÚÓÃÄڴ棬¾Í¿ÉÒÔ½«ËéƬºÏ²¢³É´ó¿éµÄ¿ÕÏÐÄڴ棬µ«ÊÇÔÚÓÃÄÚ´æ±»Òƶ¯ºó£¬³ÌÐòÖжÔÓ¦µÄÖ¸ÕëÒ²ÒªËæןı䣬²»È»¾Í»á·ÃÎʵ½´íÎóµÄµØÖ·£¬¶øÇÒ£¬ÔÚʹÓÃÄÚ´æµÄ¹ý³ÌÖУ¬ÄÚ´æÐèÒªÓиöËø¶¨µÄ¹ý³Ì£¬·ñÔòÓõ½Ò»°ëµÄʱºò±»WindowsÒƶ¯ÁË£¬½á¹ûÒÀÈ»ÊÇ´íÎóµÄ£¬Ö»ÓгÌÐò½«ÄÚ´æ½âËø£¬Windows²Å¿ÉÒÔ×ÔÓÉÒƶ¯ËüÃÇ£¬Õâ¾ÍÒýÉì³öÁË¿ÉÒƶ¯ÄÚ´æ¿éµÄ¸ÅÄîºÍ²Ù×÷µÄ»ù±¾·½·¨¡£
ÒªÉêÇëÒ»¸ö¿ÉÒƶ¯µÄÄÚ´æ¿é£¬Ê¹Óõĺ¯Êý»¹ÊÇGlobalAlloc£¬µ«ÐèҪʹÓò»Í¬µÄ²ÎÊý£º
invoke¡¡¡¡GlobalAlloc£¬GMEM_MOVEABLE¡¡or¡¡GMEM_ZEROINIT£¬dwBytes
¡£if¡¡¡¡¡¡¡¡¡¡eax
¡¡¡¡¡¡¡¡mov¡¡hMemory£¬eax
¡£endif
GMEM_MOVEABLE±êÖ¾Ö¸¶¨ÁË·ÖÅäµÄÄÚ´æÊÇ¿ÉÒƶ¯µÄ£¬GMEM_ZEROINITͬÑù±íʾ½«ÉêÇëµ½µÄÄÚ´æ¿éµÄÄÚÈݳõʼ»¯Îª0£¨Ò²¿ÉÒÔÓÃGHND±êÖ¾£¬Ëü¾ÍÏ൱ÓÚGMEM¡¡_MOVEABLE¡¡or¡¡GMEM_ZEROINIT£©£»Èç¹ûÄÚ´æÉêÇëʧ°Ü£¬eaxÖзµ»ØNULL£¬³É¹¦µÄ»°·µ»ØÖµÊÇÒ»¸ö¾ä±ú¶ø²»ÊÇÄÚ´æÖ¸Õ룬Óû§ÐèÒª±£´æÕâ¸ö¾ä±ú£¬ÔÚËø¶¨»òÊÍ·ÅÄÚ´æµÄʱºò»¹ÒªÓõ½Ëü¡£Ò»¸ö½ø³Ì¿ÉÒÔÉêÇëµÄ¿ÉÒƶ¯Ä