Boost Pool Library

¼­µÎ

Pool À̶ó°í ÇÏ´Â °ÍÀº ¹«¾ùÀΰ¡ ?

Pool allocationÀº »ç¿ë¹ýÀÇ Á¦ÇÑÀÌ ÀÖ´Â ¾ÆÁÖ °í¼ÓÀÇ ¸Þ¸ð¸® ÇÒ´ç ¹æ¹ýÀÌ´Ù. Pool allocation(¡°´Ü¼öºÐ¸® ±â¾ï¿ª(simple segregated storage)¡±¶ó°í ¸»ÇÑ´Ù.)
ÀÇ º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸´Â °³³äÀ» ºÁ¶ó.

¿Ö PoolÀ» »ç¿ëÇϴ°¡ ?

Pools¸¦ »ç¿ëÇϸé, ÇÁ·Î±×·¥ Áß¿¡¼­ ¾î´À ¸Þ¸ð¸®°¡ »ç¿ëµÇ¾îÁö´Â °¡¸¦ º¸´Ù ÁÁ°Ô °ü¸® ÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù. ¿¹¸¦ µé¸é, Çѹø¿¡ ÀÛÀº ¿ÀºêÁ§Æ®¸¦ ´ë·®À¸·Î ÇÒ´ç ÇÏ°í ½ÍÀº ¶§°¡ ÀÖ´Ù, ±×¸®°í ±×°ÍµéÀ» ÇÊ¿äÇÏÁö ¾ÊÀ» ¶§°¡ ¿Â´Ù ¶ó´Â »óȲ¿¡ µæÀÌ µÈ´Ù. Pool ÀÎÅÍÆäÀ̽º »ç¿ëÀº, ±×°ÍµéÀÇ destructors
¸¦ ½ÇÇà ÇÒ °Ç°¡, ¸Á°¢ÀÇ ÀúÆí¿¡ º¸³¾ °ÍÀΰ¡¸¦ ¼±ÅÃÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù.
Pool ÀÎÅÍÆäÀ̽º´Â ¸Þ¸ð¸® ¸¯ÀÌ ÀÏ¾î ³ªÁö ¾Ê´Â °ÍÀ» º¸ÁõÇØ ÁØ´Ù.

¾ðÁ¦ PoolÀ» »ç¿ëÇØ¾ß µÇ´Â°¡ ?

Åë»ó, PoolÀº ÀÛÀº ¿ÀºêÁ§Æ®¸¦ ´ë·®À¸·Î ÇÒ´ç Çϰí, ÇØÁ¦ ÇÒ ¶§¿¡ »ç¿ë µÈ´Ù.
´Ù¸¥ ÀÚÁÖ ÀÖ´Â »ç¿ë¹ýÀÌ »ó±âÀÇ »óȲÀÌ´Ù. À̸¦Å×¸é ¸¹Àº ¿ÀºêÁ§Æ®°¡ ¸Þ¸ð¸®¿¡¼­ ¾ø¾îÁú ¶§ ÀÌ´Ù.
ÀϹÝÀûÀ¸·Î PoolÀº º¸ÅëÀº ÇÊ¿äÇÏÁö ¾ÊÀº È¿À²ÀûÀÎ ¸Þ¸ð¸® °ü¸®°¡ ÇÊ¿ä ÇÒ ¶§¿¡ »ç¿ë ÇÑ´Ù.

PoolÀÇ »ç¿ë¹ýÀº ?

pool interfaces document¸¦ º¸½Ê½Ã¿À. ±×±â¿¡´Â ÀÌ ¶óÀ̺귯¸®¿¡¼­ Á¦°øµÇ´Â ´Ù¾çÇÑ ÀÎÅÍÆäÀ̽º¿¡ ´ëÇØ¼­ ±â¼úÇϰí ÀÖ´Ù.

¶óÀ̺귯ÀÌÀÇ ±¸Á¶¿Í ÀÇÁ¸¼º

ÀÌ ¶óÀ̺귯¸®ÀÇ ³ëÃâµÈ ½Éº¼ÀÇ Àü¹æ¼±¾ðÀº, Çì´õ ÆÄÀÏ <boost/pool/poolfwd.hpp>¿¡ Æ÷ÇԵǾî ÀÖ´Ù.
¶óÀ̺귯¸®´Â BOOST_POOL_·Î ½ÃÀÛÇÏ´Â ¸ÅÅ©·Î¸¦ »ç¿ëÇϰí ÀÖ´Ù. ¿¹¿Ü´Â
include file guards ( xxx.hpp¿¡ ´ëÇØ¼­´Â) BOOST_xxx_HPP ÀÌ´Ù.

¶óÀ̺귯¸®¿¡¼­ Á¤ÀÇ µÇ¾î ÀÖ´Â ¸ðµç ³ëÃâµÈ ½ÉºÒÀº À̸§°ø°£ boost³»¿¡ ÀÖ´Ù. ¶óÀ̺귯¸®ÀÇ ½ÇÇุÀÌ »ç¿ëÇÏ´Â ½Éº¼Àº À̸§°ø°£ boost::details::pool
¾È¿¡ ÀÖ´Ù.

¶óÀ̺귯¸®ÀÇ ½ÇÇุÀÌ »ç¿ë ÇÏ´Â Çì´õ´Â ¼­ºê µð·ºÅ丮 detail/ ¿¡ ÀÖ´Ù.

¶óÀ̺귯¸®¿¡ Æ÷ÇԵǾî ÀÖ´Â Çì´õ´Â ¶óÀ̺귯¸®ÀÇ Çì´õ¶û ½Ã½ºÅÛÀÌ Á¦°øÇÏ´Â Çì´õ¸¦ °¢°¢ÀÇ Àç·®(î®Õá)À¸·Î »ç¿ëÇϰí ÀÖ´Â °Í ÀÌ´Ù.

Installation

The Boost Pool ¶óÀ̺귯¸®´Â Çì´õ ÆÄÀÏ¿¡ ÀÇÇÑ ¶óÀ̺귯¸® ÀÌ´Ù. ±×·¯¹Ç·Î .libµµ .dllµµ .soµµ ¸¸µé ÇÊ¿ä´Â ¾ø°í, ÄÄÆÄÀÏ·¯ÀÇ ÀÎÅ©·çµå ÆÄÀÏ ÆÐ½º¿¡ Boost µð·ºÅ丮¸¦ Ãß°¡ ÇÏ´Â °Í¸¸À¸·Î »ç¿ë ÇÒ ¼ö ÀÖ´Ù.
 

Building the Test Programs

¡±build¡± ¼­ºê µð·ºÅ丮¿¡ ¸î °³Àΰ¡ÀÇ Ç÷§Æû¿ëÀÇ ¼­ºê µð·ºÅ丮°¡ ÀÖ´Ù. À̰͵éÀÇ ¼­ºê µð·ºÅ丮¿¡´Â °¢°¢ÀÇ Ç÷§Æû¿¡ ¸ÂÃß¾îÁø ¿¹¿Ü »çÇ× Äڵ忡 Ãß°¡µÈ ¸ÞÀÌÅ© ÆÄÀÏ ¶Ç´Â IDE ÇÁ·ÎÁ§Æ® ÆÄÀÏÀÌ ÀÖ´Ù.

ÀûÀýÇÑ ¼­ºê µð·ºÅ丮ÀÇ ¡°readme.txt¡±°¡ ¸¸¾à ÀÖ´Ù¸é Àоî ÁÖ¼¼¿ä.¡±

Ç¥ÁØÀûÀÎ ¸ÞÀÌÅ© ÆÄÀÏÀÇ Å¸°ÙÀº ¡°all¡±, ¡°clean¡±(¸ðµÎ Áß°£ ÆÄÀÏÀ» Á¦°Å), ¡°veryclean¡±(¸ðµç Áß°£ ÆÄÀϰú ½ÇÇà ÆÄÀÏÀ» Á¦°Å) ÀÌ´Ù. ¸ðµç Áß°£ ÆÄÀϰú ½ÇÇà ÆÄÀÏÀº ¸ÞÀÌÅ© ÆÄÀÏ/ÇÁ·ÎÁ§Æ® ÆÄÀϰú °°Àº µð·ºÅ丮¿¡ ¸¸µé¾îÁø´Ù.
¸ÞÀÌÅ© ÆÄÀÏ ¾øÀÌ ÇÁ·ÎÁ§Æ® ÆÄÀÏÀÌ Á¦°øµÇ¾îÁ® ÀÖ´Â °æ¿ì. ¡°clean¡± and
¡±veryclean¡± ½© ½ºÅ©¸³Æ®/ÆÐÄ¡ ÆÄÀÏÀÌ Áغñ µÇ¾îÁ® ÀÖ´Ù.

¿©±â¿¡ ¾ø´Â Ç÷§Æû¿ë ÇÁ·ÎÁ§Æ® ÆÄÀÏÀ̶û ¸ÞÀÌÅ© ÆÄÀÏÀ» ¸¸µé¾ú´Ù¸é shammah@voyager.net¿¡ º¸³»Á൵ »ó°ü ¾ø½À´Ï´Ù.

¹®¼­ ¸Ê

Àå·¡ÀÇ ¹æÇ⼺

´Ù¸¥ Pool ÀÎÅÍÆäÀ̽º¸¦ ¸¸µé ¿¹Á¤ÀÌ´Ù. Ŭ·¡½º ¸¶´Ù ÇÒ´çÀÇ ±âÁ¤(ïÒ) Ŭ·¡½º

Acknowledgements

Many, many thanks to the Boost peers, notably Jeff Garland, Beman Dawes, Ed Brey, Gary Powell, Peter Dimov, and Jens Maurer for providing helpful suggestions!


Copyright © 2000, 2001 Stephen Cleary (shammah@voyager.net)
¹ø¿ª : 2003.10.19 ÃÖÈï¹è(jacking@korea.com)