°Ë±¦Êé¿â > ÎÄѧÆäËûµç×ÓÊé > CÓïÑÔʵÀý½Ì³Ì(PDF¸ñʽ) >

µÚ20²¿·Ö

CÓïÑÔʵÀý½Ì³Ì(PDF¸ñʽ)-µÚ20²¿·Ö

С˵£º CÓïÑÔʵÀý½Ì³Ì(PDF¸ñʽ) ×ÖÊý£º ÿҳ4000×Ö

°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡




00410df0¡¡00410760¡¡00410890¡¡004109c0¡¡004109c0¡¡00410b00¡¡00410c40¡¡00410d80¡¡¡¡



00410d80¡¡00410760¡¡004108b0¡¡00410a00¡¡00410a00¡¡00410b60¡¡00410cc0¡¡00410e20¡¡¡¡



00410e20¡¡00410760¡¡004108d0¡¡00410a40¡¡00410a40¡¡00410bc0¡¡00410d40¡¡00410760¡¡¡¡



00410760¡¡004108f0¡¡00410a80¡¡00410c10¡¡00410c10¡¡00410db0¡¡00410760¡¡00410900¡¡¡¡



00410900¡¡00410ab0¡¡00410c60¡¡00410e10¡¡00410e10¡¡00410760¡¡00410920¡¡00410ae0¡¡¡¡



00410ae0¡¡00410cb0¡¡00410760¡¡00410930¡¡00351d98¡¡00351d98¡¡00351d98¡¡00351d98¡¡¡¡



00351d98¡¡00351d98¡¡00351d98¡¡00351d98¡¡00351d98¡¡00351d98¡¡00351d98¡¡00351d98¡¡¡¡



1¡¡2¡¡3¡¡4¡¡5¡¡6¡¡7¡¡8¡¡9¡¡10¡¡11¡¡12¡¡13¡¡14¡¡15¡¡16¡¡¡¡



17¡¡18¡¡19¡¡20¡¡21¡¡22¡¡23¡¡24¡¡25¡¡26¡¡27¡¡28¡¡29¡¡30¡¡31¡¡32¡¡¡¡



33¡¡34¡¡35¡¡36¡¡37¡¡38¡¡39¡¡40¡¡41¡¡42¡¡43¡¡44¡¡45¡¡46¡¡47¡¡48¡¡¡¡



49¡¡50¡¡51¡¡52¡¡53¡¡54¡¡55¡¡56¡¡57¡¡58¡¡59¡¡60¡¡61¡¡62¡¡63¡¡64¡¡¡¡



65¡¡66¡¡67¡¡68¡¡69¡¡70¡¡71¡¡72¡¡73¡¡74¡¡75¡¡76¡¡77¡¡78¡¡79¡¡80¡¡¡¡



81¡¡82¡¡83¡¡84¡¡85¡¡86¡¡87¡¡88¡¡89¡¡90¡¡91¡¡92¡¡93¡¡94¡¡95¡¡96¡¡¡¡



97¡¡98¡¡99¡¡100¡¡101¡¡102¡¡103¡¡104¡¡105¡¡106¡¡107¡¡108¡¡109¡¡110¡¡111¡¡112¡¡¡¡



113¡¡114¡¡115¡¡116¡¡117¡¡118¡¡119¡¡120¡¡121¡¡122¡¡123¡¡124¡¡125¡¡126¡¡127¡¡128¡¡¡¡



ÉÏÃæµÄ½á¹û˵Ã÷Á½¸öÎÊÌ⣺һÊÇÔÚʹÓÃrealloc¸Ä±äËù·ÖÅäÄÚ´æµ¥Ôª¡¡

µÄ´óСʱ£¬realloc¿ÉÄÜ»áÒƶ¯¸ÃÄÚ´æ¿éµ½ÐµÄλÖ᣶þÊÇÔÚrealloc¡¡

¸Ä±äºÍÒƶ¯ÄÚ´æ¿éʱ£¬¸ÃÄÚ´æ¿éÖеÄÊý¾ÝҲͬʱ»á±»±£Áô¡£ËùÒÔÉÏÃæ¡¡

µÄģʽ¿ÉÒÔÂú×ãһЩÌØÊⳡºÏµÄÐèÒª¡£µ«ÊÇ£¬Çë¼Çסһµã£¬Ëæ×ÅÄÚ´æ¡¡

¿éµÄÔö´ó£¬reallocµÄÔËÐÐЧÂʻἫ´óµÄϽµ£¬µ±ÉÏÃæµÄ£¬Òò´Ë£¬³ý¡¡

·Ç±ØÒª£¬ÎÒÃDz»ÒªÊ¹ÓÃÕâÖÖ·½Ê½£¬ËäÈ»ËüÁé»î·½±ã£¬µ«ÕâÍùÍùÊÇÒÔÎþ¡¡

ÉüЧÂÊΪ´ú¼ÛµÄ¡£¡¡¡¡



×îºóÖØÐÂÇ¿µ÷Ò»µã£¬¼´²»ÒªÊ¹ÓÃrealloc¸Ä±äÓÉnewÔËËã·û·ÖÅäµÄÄÚ´æ¡¡

¿éµÄ´óС¡£Ç°ÃæÒѾ­Ëµ¹ý£¬Õ⽫»áÔÚMFCµÄµ÷ÊÔ°æ±¾Öе¼ÖÂÄÚ´æ³å¡¡

Í»¡£¡¡¡¡



ÏÂÃæÎÒÃǼòµ¥µÄ½éÉÜWin32¡¡ÄÚ´æ¹ÜÀíģʽ¡£¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡153¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

ÔÚMicrosoft¡¡¡¡¡¡Win32Ó¦ÓóÌÐò±à³Ì½Ó¿ÚÖУ¬Ã¿Ò»¸ö½ø³Ì¶¼ÓÐ×Ô¼º¶à´ï¡¡

4GBµÄÐéÄâµØÖ·¿Õ¼ä¡£ÄÚ´æÖеÍλµÄ2GB¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨´Ó0x00µ½0x7FFFFFFF£©¿ÉÒÔ¡¡

ΪÓû§ËùÓ㬸ßλµÄ2GB¡¡¡¡¡¡¡¡¡¡¡¡£¨´Ó0x80000000µ½0xFFFFFFFFF£©ÎªÄÚºËËù±£¡¡

Áô¡£½ø³ÌËùʹÓõÄÐéÄâµØÖ·²¢²»´úÂë¶ÔÏóÔÚÄÚ´æÖÐʵ¼ÊµÄÎïÀíµØÖ·¡£¡¡

ÊÂʵÉÏ£¬ÄÚºËΪÿһ¸ö½ø³Ìά»¤ÁËÒ»¸öÒ³Ó³É䣬ҳӳÉäÊÇÒ»¸öÓÃÓÚ½«¡¡

ÐéÄâµØַת»»Îª¶ÔÓ¦µÄÎïÀíµØÖ·µÄÄÚ²¿Êý¾Ý½á¹¹¡£¡¡¡¡



ÿһ¸ö½ø³ÌµÄÐéÄâµØÖ·¿Õ¼ä¶¼Òª±ÈËùÓнø³Ì¿ÉÓõÄÎïÀíÄÚ´æRAM¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨Ëæ¡¡

»ú´æÈ¡´æ´¢Æ÷£©µÄ×ܺϴóµÃ¶à¡£ÎªÁËÔö¼ÓÎïÀí´æ´¢µÄ´óС£¬ÄÚºËʹÓá¡

´ÅÅÌ×÷Ϊ¶îÍâµÄ´æ´¢¿Õ¼ä¡£¶ÔÓÚËùÓÐÕýÔÚÖ´ÐеĽø³ÌÀ´Ëµ£¬×ܵĴ洢¡¡

¿Õ¼äµÄÁ¿ÊÇÎïÀíÄÚ´æRAMºÍ´ÅÅÌÉÏ¿ÉÒÔΪҳÃæÎļþËùÓõÄ×ÔÓÉ¿Õ¼äµÄ¡¡

×ܺϣ¬ÕâÀïÒ³ÃæÎļþÖ¸ÓÃÀ´Ôö¼ÓÎïÀí´æ´¢¿Õ¼äµÄ´ÅÅÌÎļþ¡£Ã¿¸ö½ø³Ì¡¡

ÎïÀí´æ´¢¿Õ¼äºÍÐéÄâµØÖ·¡¡£¨Ò²³ÆΪÂß¼­µØÖ·£©¿Õ¼äÒÔÒ³µÄÐÎʽÀ´×éÖ¯£¬¡¡

Ò³ÊÇÒ»ÖÖÄÚ´æµ¥Ôª£¬Æä´óСÒÀÀµÓÚËÞÖ÷¼ÆËã»úµÄÀàÐÍ¡£¶ÔÓÚx86¼ÆËã¡¡

»úÀ´Ëµ£¬ËÞÖ÷Ò³´óСΪ4KB£¬µ«ÎÒÃDz»Äܼٶ¨¶ÔÓÐËùÓÐÔËÐÐWindows²Ù¡¡

×÷ϵͳµÄ¼ÆËã»ú£¬ÆäÒ³´óС¾ùΪ4KB¡£¡¡¡¡



ΪÁËʹÄÚ´æ¹ÜÀí¾ßÓÐ×î´óµÄÁé»îÐÔ£¬Äں˿ÉÒÔ½«ÎïÀíÄÚ´æÖеÄÒ³ÒÆÈë¡¡

»òÒƳö´ÅÅÌÉϵÄÒ³ÃæÎļþ¡£µ±Ò»¸öÒ³±»ÒÆÈëÎïÀíÄÚ´æʱ£¬Äں˸üÐÂÊÜ¡¡

µ½Ó°ÏìµÄ½ø³ÌµÄÒ³Ó³Éä¡£½«ÄÚºËÐèÒªÎïÀíÄÚ´æ¿Õ¼äʱ£¬Ëü½«ÎïÀíÄÚ´æ¡¡

ÖÐ×î½ü×îÉÙʹÓõÄÒ³ÒÆÈëÒ³ÃæÎļþ¡£¶ÔÓÚÓ¦ÓóÌÐòÀ´Ëµ£¬Äں˶ÔÎïÀí¡¡

ÄÚ´æµÄ¹ÜÀíÊÇÍêȫ͸Ã÷µÄ£¬Ó¦ÓóÌÐòÖ»¶ÔËü×Ô¼ºµÄÐéÄâµØÖ·¿Õ¼ä½øÐС¡

²Ù×÷¡£¡¡¡¡¡¡



ÔÚ½ø³ÌÐéÄâµØÖ·¿Õ¼äÖеÄÒ³¿ÉÒÔ¾ßÔÚ±íËùÁеÄ״̬֮һ£º¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡±í3¡£¡¡4¡¡ÐéÄâµØÖ·¿Õ¼äÖÐÒ³µÄ²»Í¬×´Ì¬¡¡¡¡



¡¡¡¡¡¡¡¡¡¡×´Ì¬¡¡¡¡¡¡¡¡¡¡¡¡ËµÃ÷¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¿ÕÏУ¨Free£©¡¡¡¡¿ÕÏÐÒ³Êǵ±Ç°²»¿ÉÓ㬵«¿ÉÒÔ±»Õ¼Óûò±£ÁôµÄÒ³¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡±£Áô¡¡¡¡¡¡¡¡¡¡¡¡±£ÁôÒ³Êǽø³ÌµÄÐéÄâµØÖ·¿Õ¼äÖÐΪ½«À´Ê¹ÓÃËù±£ÁôµÄ¡¡

¡¡¡¡¡¡¡¡¡¡£¨Reserved£©¡¡¡¡Ò³¡£½ø³Ì²»¿ÉÒÔ´æÈ¡±£ÁôÒ³£¬²¢ÇÒҲûÓÐΪ±£ÁôÒ³·ÖÅä¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÎïÀí´æ´¢¡£±£ÁôÒ³±£ÁôÐéÄâµØÖ·ÖеÄÒ»¶ÎÒÔʹµÃËüÃDz»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¿ÉÒÔ±»ËæºóµÄÆäËü·ÖÅä²Ù×÷£¨ÈçmallocºÍLocalAllocÖ®Àà¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÄº¯ÊýµÈ£©ËùʹÓá£Ò»¸ö½ø³Ì¿ÉÒÔʹÓÃVirtualAllocº¯Êý¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÔÚÆäµØÖ·¿Õ¼äÖб£ÁôÒ³Ã棬ȻºóÔÙÕ¼ÓÃÕâЩ±£ÁôÒ³¡£×î¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ºóʹÓÃVirtualFreeº¯ÊýÊÍ·ÅËüÃÇ¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡Õ¼Óá¡¡¡¡¡¡¡¡¡¡¡Òѱ»Õ¼ÓõÄÒ³ÊÇÄÇЩÒÑ·ÖÅäÁËÎïÀí´æ´¢¡¡£¨ÔÚÄÚ´æÖлò´ÅÅÌ¡¡

¡¡¡¡¡¡¡¡¡¡£¨mitted£©¡¡¡¡ÉÏ£©µÄÒ³¡£Õ¼ÓÃÒ³¿ÉÒÔ±»½ûÖ¹½øÐдæÈ¡£¬»òÔÊÐíÖ»¶Á´æ¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡È¡£¬»òÔÊÐí¶Áд´æÈ¡¡£½ø³Ì¿ÉÒÔʹÓÃVirtualAllocº¯Êý¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡·ÖÅäÕ¼ÓÃÒ³¡£GlobalAllocºÍLocalAllocº¯Êý·ÖÅäÔÊÐí¶Á¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡154¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ð´´æÈ¡µÄÕ¼ÓÃÒ³¡£Õ¼ÓÃÒ³¿ÉÒÔʹÓÃVirtualFreeº¯Êý½øÐС¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÊÍ·Å£¬º¯ÊýVirtualFreeÊÍ·ÅÒ³µÄ´æ´¢¿Õ¼ä£¬²¢½«Æä״̬¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¸Ä±äΪ±£Áô¡£¡¡¡¡



½ø³Ì¿ÉÒÔʹÓú¯ÊýGlobalAllocºÍLocalAllocÀ´·ÖÅäÄÚ´æ¡£ÔÚWin32¡¡¡¡

APIµÄ32λÏßÐÔ»·¾³ÖУ¬±¾µØ¶ÑºÍÈ«¾Ö¶Ñ²¢Ã»ÓÐÇø±ð£¬Òò´Ë£¬Ê¹ÓÃÕâ¡¡

Á½¸öº¯ÊýÀ´·ÖÅäÄÚ´æ¶ÔÏóҲûÓÐÈκÎÇø±ð¡£¡¡¡¡



ÓÉGlobalAllocºÍLocalAllocº¯Êý·ÖÅäµÄÄÚ´æ¶ÔÏóλÓÚ˽ÓеÄÕ¼ÓÃÒ³¡¡

ÖУ¬ÕâЩҳÔÊÐí½øÐжÁд´æÈ¡¡£Ë½ÓÐÄÚ´æ²»¿ÉÒÔΪÆäËü½ø³ÌËù·ÃÎÊ¡£¡¡

ÓëÔÚWindows¡¡¡¡¡¡¡¡¡¡¡¡¡¡3¡£xÖв»Í¬£¬Ê¹ÓôøÓÐGMEM_DDESHARE±êÖ¾µÄ¡¡

GlobalAllocº¯Êý·ÖÅäµÄÄÚ´æÊÂʵÉϲ¢Ã»Óб»È«¾Ö¹²Ïí¡£±£Áô¸Ã±êÖ¾¡¡

λ½öÊÇΪÁËÏòÇ°¼æÈݺÍΪһЩӦÓóÌÐòÔöÇ¿¶¯Ì¬Êý¾Ý½»»»¡¡£¨DDE£¬¡¡

dynamic¡¡data¡¡exchange£©µÄÐÔÄܶøʹÓá£Ó¦ÓóÌÐòÈç¹ûÒòÆäËü¡¡Ä¿µÄÐè¡¡

Òª¹²ÏíÄڴ棬ÄÇô±ØÐëʹÓÃÎļþÓ³Éä¶ÔÏ󡣶à¸ö½ø³Ì¿ÉÒÔͨ¹ýÓ³Éäͬ¡¡

Ò»¸öÎļþÓ³Éä¶ÔÏóµÄÊÓÀ´ÌṩÃüÃû¹²ÏíÄÚ´æ¡£ÎÒÃÇÔÚÕâÀォ²»ÌÖÂÛÎÄ¡¡

¼þÓ³ÉäºÍ¹²ÏíÄÚ´æµÄÎÊÌâ¡£¡¡¡¡



ͨ¹ýʹÓú¯ÊýGlobalAllocºÍLocalAlloc£¬¿ÉÒÔ·ÖÅäÄܹ»±íʾΪ32λ¡¡

µÄÈÎÒâ´óСµÄÄÚ´æ¿é£¬ËùÊܵÄΨһÏÞÖÆÊÇ¿ÉÓõÄÎïÀíÄڴ棬°üÀ¨ÔÚ´Å¡¡

ÅÌÉϵÄÒ³ÃæÎļþÖеĴ洢¿Õ¼ä¡£ÕâЩº¯Êý£¬ºÍÆäËü²Ù×÷È«¾ÖºÍ±¾¾ÖÄÚ¡¡

´æ¶ÔÏóµÄÈ«¾ÖºÍ±¾µØº¯ÊýÒ»Æð±»°üº¬ÔÚWin32¡¡¡¡APIÖУ¬ÒÔºÍWindowsµÄ¡¡

16λ°æ±¾Ïà¼æÈÝ¡£µ«ÊÇ£¬´Ó16λ·Ö¶ÎÄÚ´æģʽµ½32λÐéÄâÄÚ´æģʽµÄ¡¡

ת±ä½«Ê¹µÃһЩº¯ÊýºÍһЩѡÏî±äµÃ²»±ØÒªÉõÖÁûÓÐÒâÒå¡£±ÈÈç˵£¬¡¡

ÏÖÔÚ²»ÔٺͽüÖ¸ÕëºÍÔ¶Ö¸ÕëµÄÇø±ð£¬ÒòΪÎÞÂÛÔÚ±¾µØ»¹ÊÇÔÚÈ«¾Ö½øÐС¡

·ÖÅ䶼½«·µ»Ø32λÐéÄâµØÖ·¡£¡¡¡¡¡¡



º¯ÊýGlobalAllocºÍLocalAlloc¶¼¿ÉÒÔ·ÖÅä¹Ì¶¨»ò¿ÉÒƶ¯µÄÄÚ´æ¶Ô¡¡

Ï󡣿ÉÒƶ¯¶ÔÏóÒ²¿ÉÒÔ±»±ê¼ÇΪ¿É¶ªÆúµÄ£¨discardable£©¡£ÔÚÔçÆڵġ¡

Windows°æ±¾ÖУ¬¿ÉÒƶ¯µÄÄÚ´æ¶ÔÏó¶ÔÓÚÄÚ´æ¹ÜÀí·Ç³£Ö®ÖØÒª£¬ËüÃÇ¡¡

ÔÊÐíϵͳÔÚ±ØҪʱѹËõ¶ÑÒÔΪÆäËüÄÚ´æ·ÖÅäÌṩ¿ÉÓÿռ䡣ͨ¹ýʹÓá¡

ÐéÄâÄڴ棬ϵͳÄܹ»Í¨¹ýÒƶ¯ÎïÀíÄÚ´æÒ³À´¹ÜÀíÄڴ棬¶ø²»Ó°ÏìʹÓá¡

ÕâЩҳµÄ½ø³ÌµÄÐéÄâµØÖ·¡£µ±ÏµÍ³Òƶ¯Ò»¸öÎïÀíÄÚ´æҳʱ£¬Ëü¼òµ¥µÄ¡¡

½«½ø³ÌµÄÐéÄâÒ³Ó³É䵽еÄÎïÀíÒ³µÄλÖ᣿ÉÒƶ¯ÄÚ´æÔÚ·ÖÅä¿É¶ªÆú¡¡

ÄÚ´æÈÔÈ»ÓÐÓᣵ±ÏµÍ³ÐèÒª¶îÍâµÄÎïÀí´æ´¢Ê±£¬ËüʹÓÃÒ»ÖÖ³Æ×÷¡¡¡°×î¡¡

½ü×îÉÙʹÓá±µÄËã·¨À´ÊÍ·Å·ÇËø¶¨µÄ¿É¶ªÆúÄÚ´æ¡£¿É¶ªÆúÄÚ´æ¿ÉÒÔÓá¡

ÓÚÄÇЩ²»ÊǾ­³£ÐèÒªºÍÒ×ÓÚÖØд´½¨µÄÊý¾Ý¡£¡¡¡¡



µ±·ÖÅä¹Ì¶¨ÄÚ´æ¶ÔÏóʱ£¬GlobalAllocºÍLocalAlloc·µ»Ø32λָÕ룬¡¡

µ÷ÓÃÏ߳̿ÉÒÔÁ¢¼´Ê¹ÓøÃÖ¸ÕëÀ´½øÐÐÄÚ´æ´æÈ¡¡£¶ÔÓÚ¿ÉÒƶ¯Äڴ棬·µ¡¡

»ØֵΪһ¸ö¾ä±ú¡£ÎªÁ˵õ½Ò»¸öÖ¸Ïò¿ÉÒƶ¯ÄÚ´æµÄÖ¸Õ룬µ÷ÓÃÏ߳̿ɡ¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡155¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

ÒÔʹÓÃGlobalLockºÍLocalLockº¯Êý¡£ÕâЩº¯ÊýËø¶¨ÄÚ´æʹµÃËü²»ÄÜ¡¡

¹»±»Òƶ¯»ò¶ªÆú£¬³ý·ÇʹÓú¯ÊýGlobalReAlloc»òLocalReAlloc¶ÔÄÚ¡¡

´æ¶ÔÏó½øÐÐÖØзÖÅä¡£ÒÑËø¶¨ÄÚ´æ¶ÔÏóµÄÄÚ´æ¿é±£³ÖËø¶¨×´Ì¬£¬Ö±ÖÁ¡¡

Ëø¶¨¼ÆÊý¼õµ½0£¬Õâʱ¸ÃÄÚ´æ¿é¿ÉÒÔ±»Òƶ¯»ò¶ªÆú¡£¡¡¡¡



ÓÉGlobalAllocºÍLocalAllocËù·ÖÅäµÄÄÚ´æµÄʵ¼Ê´óС¿ÉÄÜ´óÓÚËùÒª¡¡

ÇóµÄ´óС¡£ÎªÁ˵õ½ÒÑ·ÖÅäµÄʵ¼ÊÄÚ´æÊý£¬¿ÉÒÔʹÓú¯ÊýGlobalSize¡¡

ºÍLocalSize¡£Èç¹û×Ü·ÖÅäÁ¿´óÓÚËùÒªÇóµÄÁ¿£¬½ø³ÌÔò¿ÉÒÔʹÓÃËùÓС¡

µÄÕâЩÁ¿¡££§¡¡¡¡



º¯ÊýGlobalReAllocºÍLocalReAllocÒÔ×Ö½ÚΪµ¥Î»¸Ä±äÓÉGlobalAlloc¡¡

ºÍLocalAllocº¯Êý·ÖÅäÄÚ´æ¶ÔÏóµÄ´óС»òÆäÊôÐÔ¡£ÄÚ´æ¶ÔÏóµÄ´óС¿É¡¡

ÒÔÔö´ó£¬Ò²¿ÉÒÔ¼õС¡£¡¡¡¡



º¯ÊýGlobalFreeºÍLocalFreeÓÃÓÚÊÍ·ÅÓÉGlobalAlloc¡¢LocalAlloc¡¢¡¡

GlobalReAlloc»òLocalReAlloc·ÖÅäµÄÄÚ´æ¡£¡¡¡¡



ÆäËüµÄÈ«¾ÖºÍ±¾µØº¯Êý°üÀ¨GlobalDiscard¡¢LocalDiscard¡¢¡¡

GlobalFlags¡¢LocalFlags¡¢GlobalHandleºÍLocalHandle¡£¡¡

GlobalDiscardºÍLocalDiscardÓÃÓÚ¶ªÆúÖ¸¶¨µÄ¿É¶ªÆúÄÚ´æ¶ÔÏ󣬵«¡¡

²»Ê¹Æä¾ä±úÎÞЧ¡£¸Ã¾ä±ú¿ÉÄÜͨ¹ýº¯ÊýGlobalReAlloc»ò¡¡

LocalReAllocÓëзÖÅäµÄÄÚ´æ¿éÏà¹ØÁª¡£º¯ÊýGlobalFlags»ò¡¡

LocalFlags·µ»Ø¹ØÓÚÖ¸¶¨ÄÚ´æ¶ÔÏóµÄÐÅÏ¢¡£ÕâЩס´¦°üÀ¨¶ÔÏóµÄËø¶¨¡¡

¼ÆÊýÒÔ¼°¶ÔÏóÊÇ·ñ¿É¶ªÆú»òÊÇ·ñÒѱ»¶ªÆú¡£º¯ÊýGlobalHandle»ò¡¡

LocalHandle·µ»ØÓëÖ¸¶¨Ö¸ÕëÏà¹ØÁªµÄÄÚ´æ¶ÔÏóµÄ¾ä±ú¡£¡¡¡¡



Win32½ø³Ì¿ÉÒÔÍêÈ«µÄʹÓñê×¼µÄC¿âº¯Êýmalloc¡¢freeµÈÀ´²Ù×÷ÄÚ¡¡

´æ¡£ÔÚWindowsµÄÔçÆÚ°æ±¾ÖÐʹÓÃÕâЩº¯Êý£¬½«¿ÉÄÜ´øÀ´ÎÊÌâÒþ»¼£¬¡¡

µ«ÊÇʹÓÃWin32¡¡¡¡¡¡APIµÄÓ¦ÓóÌÐòÖÐÔò²»»á¡£¾ÙÀýÀ´Ëµ£¬Ê¹ÓÃmalloc·Ö¡¡

Åä¹Ì¶¨Ö¸Õ뽫²»ÄÜʹÓÿÉÒƶ¯ÄÚ´æµÄÓŵ㡣ÓÉÓÚϵͳ¿ÉÒÔͨ¹ýÒƶ¯Îï¡¡

ÀíÄÚ´æÒ³À´×ÔÓɵĹÜÀíÄڴ棬¶ø²»Ó°ÏìÐéÄâµØÖ·£¬Òò´ËÄÚ´æ¹ÜÀí½«²»¡¡

ÔÙ³ÉΪÎÊÌâ¡£ÀàËƵģ¬Ô¶Ö¸ÕëºÍ½üÖ¸ÕëÖ®¼ä²»ÔÙÓвî±ð¡£Òò´Ë£¬³ý·Ç¡¡

ÄãÏ£ÍûʹÓÿɶªÆúÄڴ棬·ñÔòÍêÈ«¿ÉÒÔ½«±ê×¼µÄC¿âº¯ÊýÓÃÓÚÄÚ´æ¹Ü¡¡

Àí¡£¡¡¡¡



Win32¡¡¡¡¡¡APIÌṩÁËһϵÁеÄÐéÄâÄڴ溯ÊýÀ´²Ù×÷»ò¾ö¶¨ÐéÄâµØÖ·¿Õ¼ä¡¡

ÖеÄÒ³µÄ״̬¡£Ðí¶àÓ¦ÓóÌÐòʹÓñê×¼µÄ·ÖÅ亯ÊýGlobalAlloc¡¢¡¡

LocalAlloc¡¢mallocµÈ¾Í¿ÉÒÔÂú×ãÆäÐèÒª¡£È»¶ø£¬ÐéÄâÄڴ溯ÊýÌṩ¡¡

ÁËһЩÕâЩ±ê×¼·ÖÅ亯ÊýËù²»¾ßÓеŦÄÜ£¬ËüÃÇ¿ÉÒÔ½øÐÐÏÂÃæµÄÕâЩ¡¡

²Ù×÷£º¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡156¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡l¡¡±£Áô½ø³ÌÐéÄâµØÖ·¿Õ¼äÖеÄÒ»¶Î¡¡±£ÁôµØÖ·¿Õ¼ä²¢²»ÎªËüÃÇ·ÖÅäÎï¡¡

¡¡¡¡Àí´æ´¢£¬¶øÖ»ÊÇ·ÀÖ¹ÆäËü·ÖÅä²Ù×÷ʹÓÃÕâ¶Î¿Õ¼ä¡£Ëü²¢²»Ó°ÏìÆä¡¡

¡¡¡¡Ëü½ø³ÌµÄÐéÄâµØÖ·¿Õ¼ä¡£±£ÁôÒ³·ÀÖ¹Á˶ÔÎïÀí´æ´¢µÄ²»±ØÒªµÄÀË¡¡

¡¡¡¡·Ñ£¬È»¶øËüÔÊÐí½ø³ÌΪ¿ÉÄÜÔö³¤µÄ¶¯Ì¬Êý¾Ý½á¹¹±£ÁôÒ»¶ÎµØÖ·¿Õ¡¡

¡¡¡¡¼ä£¬½ø³Ì¿ÉÒÔÔÚÐèÒªµÄʱºòΪÕâЩ¿Õ¼ä·ÖÅäÎïÀí´æ´¢¡£¡¡¡¡



¡¡l¡¡Õ¼Óýø³ÌÐéÄâµØÖ·¿Õ¼äÖеı£ÁôÒ³µÄÒ»²¿·Ö£¬ÒÔʹµÃÎïÀí´æ´¢¡¡£¨ÎÞ¡¡

¡¡¡¡ÂÛÊÇRAM»¹ÊÇ´ÅÅ̿ռ䣩ֻ¶ÔÕýÔÚ½øÐзÖÅäµÄ½ø³Ì¿ÉÓᣡ¡¡¡



¡¡l¡¡Ö¸¶¨ÔÊÐí¶Áд´æÈ¡¡¢Ö»¶Á´æÈ¡»ò²»ÔÊÐí´æÈ¡µÄÕ¼ÓÃÒ³ÇøÓò¡£ÕâºÍ¡¡

¡¡¡¡±ê×¼µÄ·ÖÅ亯Êý×ÜÊÇ·ÖÅäÔÊÐí¶Áд´æÈ¡µÄÒ³²»Í¬¡£¡¡¡¡



¡¡l¡¡ÊÍ·ÅÒ»¶Î±£ÁôÒ³£¬Ê¹µÃµ÷ÓÃÏß³ÌÔÚËæºóµÄ·ÖÅä²Ù×÷ÖпÉÒÔʹÓÃÕâ¡¡

¡¡¡¡¶ÎÐéÄâµØÖ·¡£¡¡¡¡



¡¡l¡¡È¡Ïû¶ÔÒ»¶ÎÒ³µÄÕ¼Óã¬ÊÍ·ÅËüÃǵÄÎïÀí´æ´¢£¬Ê¹ËüÃÇ¿ÉÒÔÆäËü½ø¡¡

¡¡¡¡³ÌÔÚËæºóµÄ·ÖÅäÖÐʹÓᣡ¡¡¡



¡¡l¡¡ÔÚÎïÀíÄÚ´æRAMÖÐËø¶¨Ò»¸ö»ò¶à¸öÕ¼ÓÃÒ³£¬ÒÔÃâϵͳ½«ÕâЩҳ½»»»¡¡

¡¡¡¡µ½Ò³ÃæÎļþÖС£¡¡¡¡



¡¡l¡¡»ñµÃ¹ØÓÚµ÷ÓÃÏ̻߳òÖ¸¶¨Ï̵߳ÄÐéÄâµØÖ·¿Õ¼äÖеÄÒ»¶ÎÒ³µÄÐÅ¡¡

¡¡¡¡Ï¢¡£¡¡¡¡



¡¡l¡¡¸Ä±äµ÷ÓÃÏ̻߳òÖ¸¶¨Ï̵߳ÄÐéÄâµØÖ·¿Õ¼äÖÐÖ¸¶¨Õ¼ÓÃÒ³¶ÎµÄ´æÈ¡¡¡

¡¡¡¡±£»¤¡£¡¡¡¡



ÐéÄâÄڴ溯Êý¶ÔÄÚ´æÒ³½øÐвÙ×÷¡£º¯ÊýʹÓõ±Ç°¼ÆËã»úµÄÒ³´óСÀ´¶Ô¡¡

Ö¸¶¨µÄ´óСºÍµØÖ·½øÐÐÉáÈë¡£¡¡¡¡



¿ÉÒÔʹÓú¯ÊýGetSystemInfoÀ´»ñµÃµ±Ç°¼ÆËã»úµÄÒ³´óС¡£¡¡¡¡



º¯ÊýVirtualAllocÍê³ÉÒÔϲÙ×÷£º¡¡¡¡



¡¡l¡¡±£ÁôÒ»¸ö»ò¶à¸ö×ÔÓÉÒ³¡£¡¡¡¡



¡¡l¡¡Õ¼ÓÃÒ»¸ö»ò¶à¸ö±£ÁôÒ³¡£¡¡¡¡



¡¡l¡¡±£Áô²¢Õ¼ÓÃÒ»¸ö»ò¶à¸ö×ÔÓÉÒ³¡£¡¡¡¡



Äã¿ÉÒÔÖ¸ÕëËù±£Áô»òÕ¼ÓõÄÒ³µÄÆðʼµØÖ·£¬»òÕßÈÃϵͳÀ´¾ö¶¨¡£º¯Êý¡¡

½«Ö¸¶¨µÄµØÖ·ÉáÈëµ½ºÏÊʵÄÒ³±ß½ç¡£±£ÁôÒ³ÊDz»¿É·ÃÎʵģ¬µ«Õ¼ÓÃÒ³¡¡

¿ÉÒÔʹÓñê־λPAGE_READWRITE¡¢PAGE_READONLYºÍPAGE_NOACCESSÀ´¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡157¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

·ÖÅä¡£µ±Ò³±»Õ¼ÓÃʱ£¬´ÓÒ³ÃæÎļþÖзÖÅä´æ´¢¿Õ¼ä£¬Ã¿¸öÒ³½öÔÚµÚÒ»¡¡

´ÎÊÔͼ¶ÔÆä½øÐжÁд²Ù×÷ʱ±»³õʼ»¯²¢¼ÓÔص½ÎïÀíÄÚ´æÖС£¿ÉÒÔÓÃÒ»¡¡

°ãµÄÖ¸ÕëÒýÓÃÀ´·ÃÎÊÓÉVirtualAllocº¯Êý¡¡Õ¼ÓõÄÒ³¡£¡¡¡¡



º¯ÊýVirtualFreeÍê³ÉÏÂÃæµÄ²Ù×÷£º¡¡¡¡



¡¡¡¡l¡¡½â³ý¶ÔÒ»¸ö»ò¶à¸öÒ³µÄÕ¼Ó㬸ıäÆä״̬Ϊ±£Áô¡£½â³ý¶ÔÒ³µÄÕ½¡¡

¡¡¡¡¡¡Ê¤ÊÍ·ÅÓëÖ®Ïà¹ØµÄÎïÀí´æ´¢£¬Ê¹ÆäΪÆäËü½ø³Ì¿ÉÓá£ÈκÎÕ¼ÓÃÒ³¡¡

¡¡¡¡¡¡¿é¶¼¿ÉÒÔ±»½â³ýÕ¼Óᣡ¡¡¡



¡¡¡¡l¡¡ÊÍ·ÅÒ»¸ö»ò¶à¸ö±£ÁôÒ³¿é£¬¸Ä±äÆä״̬Ϊ¡¡×ÔÓÉ¡£ÊÍ·ÅÒ³¿éʹÕâ¶Î¡¡

¡¡¡¡¡¡±£Áô¿Õ¼ä¿ÉÒÔΪ½ø³Ì·ÖÅä¿Õ¼äʹÓᣱ£Á

·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨0£© ²È£¨0£©

Äã¿ÉÄÜϲ»¶µÄ