|
ÃÑ ÆäÀÌÁö ¼ö : 3121
![]()
|
ÇöÀçÀ§Ä¡ : article>zlib_prog
![]()
¿øº» docbook¹®¼
1. ¼Ò°³PC¿Í ÀÎÅͳÝÀÇ º¸±ÞÀ¸·Î µ¥ÀÌÅÍÀÇ ¾çÀÌ ±ÞÁõÇϰí ÀÖ´Ù. ±×·¯´Ù º¸´Ï µ¥ÀÌÅÍ ÀúÀå°ø°£¿¡ ¸¹Àº ¾Ð¹ÚÀ» ¹Þ°Ô µÈ´Ù. °Å±â¿¡ ´õºÒ¾î ÀÎÅͳÝÀÌ ´ëÁßÈ µÇ¸é¼ µ¥ÀÌÅ͸¦ Àü¼ÛÇϱâ À§ÇÑ ³×Æ®¿öÅ©ÀÚ¿ø¿¡ÀÇ ¾Ð¹Úµµ ¹Þ°Ô µÇ¾ú´Ù. ÀÌ·± ¹®Á¦¸¦ ÇØ°áÇϱâ À§Çؼ °³¹ßµÈ°Ô µ¥ÀÌÅÍ ¾ÐÃà±â¼úÀ̸ç, Zlib´Â ¹ü¿ëÀûÀÎ µ¥ÀÌÅÍÀÇ ¾ÐÃàÀ» À§ÇÑ ¸ñÀûÀ¸·Î °³¹ßµÇ¾ú´Ù. ÀÌ ¹®¼´Â Zlib¸¦ ¼³¸íÇϱâ À§ÇÑ ¸ñÀûÀ¸·Î ÀÛ¼ºµÇ¾úÀ¸¸ç, ·¹ÆÛ·±½º ¿ëµµ·Î½á À¯¿ëÇÏ°Ô »ç¿ë°¡´É ÇÒ°ÍÀÌ´Ù. ¶ÇÇÑ ¹®¼ÀÇ ¸¶Áö¸·¿¡ °£´ÜÇÑ È°¿ë¿¹Á¦¸¦ µÒÀ¸·Î½á Á»´õ ½±°Ô ÀÌÇØÇϵµ·Ï ¹è·ÁÇϰí ÀÖ´Ù. ÀÌ ¹®¼ÀÇ ¸¹Àº ³»¿ëµéÀº Zlib·¹ÆÛ·±½º ¸Þ´º¾óÀ» Âü°í Çϰí ÀÖ´Ù. 2. Zlib¸¦ ÀÌ¿ëÇÑ ¾ÐÃà ÇÁ·Î±×·¡¹ÖÀ̹øÀå¿¡¼´Â Zlib¿¡ ´ëÇÑ °³·«ÀûÀÎ ¼Ò°³¿Í ÇÔ²² Zlib¿¡¼ Á¦°øÇÏ´Â °¢Á¾ ÇÔ¼ö¿¡ ´ëÇØ¼ ´Ù·ç°Ô µÈ´Ù. ±×·¯³ª ¸ðµç ÇÔ¼öµé¿¡ ´ëÇØ¼´Â ´Ù·çÁö ¾Ê°í ÇÁ·Î±×·¡¹Ö Çϴµ¥ ÇÊ¿äÇÑ Çʼö ÇÔ¼öµé¸¸À» ´Ù·ê °ÍÀÌ´Ù. À̿ܿ¡µµ zlib¿¡¼ Á¦°øµÇ´Â ÇÔ¼öµéÀÌ Àִµ¥, ÀϹÝÀûÀÎ ÀÀ¿ë ¾ÖÇø®ÄÉÀ̼ÇÀÇ Á¦ÀÛ¿¡´Â °ÅÀÇ »ç¿ëµÇÁö ¾Ê´Â ÇÔ¼öµéÀÌ´Ù. À̵é ÇÔ¼öµé¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº Zlib·¹ÆÛ·±½º ¸Þ´º¾ó¸¦ Âü°íÇϱ⠹ٶõ´Ù. Áö±ÝÀº ´ÜÁö ÀÚÁÖ »ç¿ëµÇ´Â À¯Æ¿¸®Æ¼ ÇÔ¼öµé¸¸ ¼³¸íÇϰí Àִµ¥, ½Ã°£ÀÌ µÈ´Ù¸é zlib¿¡¼ Á¦°øÇÏ´Â ´Ù¸¥ ÇÔ¼öµé¿¡ ´ëÇØ¼µµ ¼³¸íÇϵµ·Ï ÇϰڴÙ. (zlib¿¡¼´Â Å©°Ô À¯Æ¿¸®Æ¼ ÇÔ¼ö, ±âº» ÇÔ¼ö, °í±Þ ÇÔ¼ö ¼¼°³·Î ºÐ·ùµÇ¾î¼ ¼³¸íÇϰí ÀÖ´Ù.) 2.1. À¯Æ¿¸®Æ¼ ÇÔ¼ö¼³¸íÀ¯Æ¿¸®Æ¼ ÇÔ¼öµéÀº ¸» ±×´ë·Î ÀÀ¿ë ¾ÖÇø®ÄÉÀÌ¼Ç ·¹º§¿¡¼ °£´ÜÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Â ³ôÀº ¼öÁØÀÇ ÇÔ¼öµé·Î½á ´ÙÀ½Àå¿¡ ¼³¸íÇÏ°ÔµÉ ±âº»ÇÔ¼öµéÀÇ ÀÀ¿ëÇÔ¼öµéÀÌ´Ù. ³ôÀº ¼öÁØÀÇ ÇÔ¼öµéÀÎ ¸¸Å »ç¿ëÇÏ±â ÆíÇÏ°í ´ëºÎºÐÀÇ ¾ÐÃàÀÛ¾÷À» Çϴµ¥ ÀÖ¾î¼ ¿©±â¿¡¼ Á¦°øÇÏ´Â °Íµé·Î ÃæºÐÇÒ °ÍÀÌ´Ù. ÇÔ¼öµéÀ» »ìÆìº¸¸é ¾Ë°ÚÁö¸¸ ÆÄÀϰü·Ã ÀÛ¾÷À» À§ÇØ »ç¿ëµÇ´Â ÇÔ¼öµé°ú À̸§À̳ª ¾²ÀÓ»õ°¡ ¸Å¿ì ºñ½ÁÇÏ´Ù´Â°É ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±âÁ¸ÀÇ Ç¥ÁØÀûÀÎ ÇÔ¼öµé°ú ºñ½ÁÇÑ ÀÎÅÍÆäÀ̽º¸¦ À¯ÁöÇϹǷνá ÇÔ¼ö¸¦ ÀÌÇØÇÏ°í »ç¿ëÇϱⰡ Á»´õ ¼ö¿ùÇÏ´Ù. 2.1.1. compress
compress´Â ¼º°øÀûÀ¸·Î ¾ÐÃàµÇ¾úÀ» °æ¿ì Z_OK¸¦ ¸Þ¸ð¸®°¡ ÃæºÐÇÏÁö ¾ÊÀ»°æ¿ì Z_MEM_ERROR, ¹öÆÛÀÇ Å©±â°¡ ÃæºÐÇÏÁö ¾ÊÀ»°æ¿ì Z_BUF_ERROR¸¦ ¸®ÅÏÇÑ´Ù. 2.1.2. compress2
¸®ÅϰªÀº commpress¿Í ¿ÏÀüÈ÷ µ¿ÀÏÇÔÀ¸·Î Âü°íÇϱ⠹ٶõ´Ù. 2.1.3. uncompress
¼º°øÀûÀ¸·Î ¼öÇàµÇ¾úÀ» °æ¿ì Z_OK°¡ ¸®ÅϵǸç, ¸Þ¸ð¸®°¡ ÃæºÐÄ¡ ¾ÊÀ»°æ¿ì Z_MEM_ERROR, ¹öÆÛÀÇ Å©±â°¡ ÃæºÐÄ¡ ¾ÊÀ» °æ¿ì Z_BUF_ERROR, ¾ÐÃ൥ÀÌÅͰ¡ À߸øµÇ¾î ÀÖÀ» °æ¿ì Z_DATA_ERRORÀ» ¸®ÅÏÇÑ´Ù. 2.1.4. gzopen
ÆÄÀÏÀ» ¿±â¿¡ ½ÇÆÐÇßÀ» °æ¿ì NULLÀ» ¸®ÅÏÇÑ´Ù. 2.1.5. gzdopen
½ÇÆÐÇßÀ» °æ¿ì NULLÀ» ¸®ÅÏÇÑ´Ù. 2.1.6. gzsetparams
¾ÐÃàÁ¤Ã¥Àº Z_DEFAULT_STRATEGY¿Í Z_FILTERED, Z_HUFFMAN_ONLY Áß Çϳª¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. ¼º°øÇßÀ» °æ¿ì Z_OK¸¦ ½ÇÆÐÇßÀ» °æ¿ì Z_STREAM_ERRORÀ» ¸®ÅÏÇÑ´Ù. 2.1.7. gzread
¼º°øÇßÀ» °æ¿ì ¾ÐÃàÇ®¸° µ¥ÀÌÅÍÀÇ Å©±â¸¦ µÇµ¹·ÁÁØ´Ù. ÆÄÀÏÀÇ ³¡ÀÏ °æ¿ì 0À» ±×¹ÛÀÇ ¿¡·¯¿¡ ´ëÇØ¼´Â -1À» ¸®ÅÏÇÑ´Ù. 2.1.8. gzwrite
2.1.9. int VAgzprintf
2.1.10. gzputs
¼º°øÇßÀ» °æ¿ì ¹®ÀÚ¿ÀÇ Å©±â¸¦ ±×·¸Áö ¾ÊÀ» °æ¿ì -1À» ¸®ÅÏÇÑ´Ù. 2.1.11. gzgets
½ÇÆÐ ÇßÀ»°æ¿ì Z_NULLÀ» ¸®ÅÏÇÑ´Ù. 2.1.12. gzputc
2.1.13. gzgetc
2.1.14. gzfluseh
¼º°øÇßÀ» °æ¿ì Z_OK¸¦ ¸®ÅÏÇÑ´Ù. 2.1.15. gzseek
ÀÌ ÇÔ¼ö´Â ¾ÐÃàµÈ ÆÄÀϳ»¿¡¼ À§Ä¡À̵¿À» ÇÏ´Â°Ô ¾Æ´Ñ ¾ÐÃàÀÌ Ç®¸° µ¥ÀÌÅͳ»¿¡¼ÀÇ À§Ä¡À̵¿À» ÇÏ°Ô µÇ¹Ç·Î, ÆÄÀÏÀÌ Àбâ À§Çؼ ¿·Á ÀÖ´Â °æ¿ì ±Øµµ·Î ´À¸®°Ô ÀÛµ¿ÇÒ °ÍÀÌ´Ù. ¸¸¾à ÆÄÀÏÀÌ ¾²±â À§Çؼ ¿·Á ÀÖ´Ù¸é ´ÜÁö Àü¹æÇâ À̵¿(forward seek)¸¸ Çã¿ë µÈ´Ù. ¼º°øÇßÀ» °æ¿ì ¾ÐÃàÀÌ Ç®¸° µ¥ÀÌÅÍÀÇ ½ÃÀÛÁöÁ¡¿¡¼ÀÇ º¯À§°ªÀ» µÇµ¹·ÁÁÖ°í ½ÇÆÐ ÇßÀ»°æ¿ì -1À» ¸®ÅÏÇÑ´Ù. 2.1.16. gzrewind
2.1.17. gzeof
2.1.18. gzclose
2.1.19. gzerror
2.1.20. zlibVersion
´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î ¹öÁ¯È£È¯¿©ºÎ¸¦ üũÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
2.2. ¿¹Á¦2°³ÀÇ ¿¹Á¦ÆÄÀÏÀ» ÁغñÇß´Ù. Çϳª´Â ƯÁ¤ÆÄÀÏÀ» ¾ÐÃàÇÏ´Â ÇÁ·Î±×·¥ÀÌ°í ¶Ç´Ù¸¥ Çϳª´Â ¾ÐÃàµÈ ÆÄÀÏÀÇ ¿ø¹® ³»¿ëÀ» Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù. ¸Å¿ì °£´ÜÇÑ ¼Ò½º À̹ǷΠ¼³¸íÀº ÁÖ¼®À¸·Î ´ë½ÅÇϵµ·Ï ÇϰڴÙ. 2.2.1. ÆÄÀÏ ¾ÐÃà ¿¹Á¦¿¹Á¦ : jzip.c
2.2.2. ¾ÐÃà ÇØÁ¦ ¿¹Á¦À̹ø ÇÁ·Î±×·¥Àº ¾ÐÃàµÈ text¹®¼ÀÇ ¿ø·¡ ³»¿ëÀ» º¸¿©ÁÖ´Â °£´ÜÇÑ ÇÁ·Î±×·¥ÀÌ´Ù. ¿¹Á¦ : jcat.c
2.3. ³×Æ®¿öÅ© ¾ÖÇø®ÄÉÀ̼ǿ¡¼ÀÇ È°¿ëzlib´Â ÀÏ¹Ý ÆÄÀÏÀ» ¾ÐÃàÇϱâ À§ÇÑ ¿ëµµ·Î ¸Å¿ì ÈǸ¢ÇÑ µµ±¸À̱ä ÇÏÁö¸¸ ÀÎÅͳÝÀ» ÅëÇØ ´ë·®ÀÇ Á¤º¸¸¦ º¸³»´Â ¿äÁò¿¡´Â ƯÈ÷ ³×Æ®¿öÅ©¿¡¼ÀÇ µ¥ÀÌÅÍ ¾ÐÃàÀ» À§Çؼµµ Áß¿äÇÏ°Ô »ç¿ëµÈ´Ù. ´ëºÎºÐÀÇ À¥¼¹ö¿Í À¥Å¬¶óÀÌ¾ðÆ®´Â zlib¸¦ ÀÌ¿ëÇØ¼ ÀÚüÀûÀ¸·Î ÇÊ¿äÇÑ µ¥ÀÌÅ͸¦ ¾ÐÃàÇϰí ÇØÁ¦ÇÏ¸é¼ °¡´ÉÇÑÇÑ ³×Æ®¿öÅ©ÀÇ ÀÚ¿øÀ» È¿À²ÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÀÛ¼ºµÇ¾îÁö°í ÀÖ´Ù. °ø¿ëÀ¸·Î »ç¿ëµÇ´Â ³×Æ®¿öÅ© º¸´Ù´Â ¾Æ¹«·¡µµ °³ÀÎÀÌ »ç¿ëÇÏ´Â PCÀÇ (CPU)ÀÚ¿øÀ» Ȱ¿ëÇÏ´Â°Ô ¿©·¯¸ð·Î È¿À²ÀûÀ̱⠶§¹®ÀÌ´Ù. ³×Æ®¿öÅ© ¾ÖÇø®ÄÉÀ̼ǿ¡¼ µ¥ÀÌÅ͸¦ ¾ÐÃà½ÃÄѼ Àü¼ÛÇϱâ À§Çؼ´Â uncompress, compressµîÀÇ ¾ÐÃà¸í·ÉÀ» ÁÖ·Î »ç¿ëÇÑ´Ù. ÀÌµé ³»¿ë¿¡ ´ëÇØ¼´Â ÀÚ¼¼È÷ ´Ù·çÁö ¾ÊÀ» °ÍÀÌ´Ù. Á÷Á¢ ±¸ÇöÇØº¸´Â °Íµµ ¸Å¿ì Àç¹ÌÀÖÀ» °ÍÀÌ´Ù. |
|
||||||||||||||||||||||||
|
|