ÇÁ·Î±×·¡¹Ö
ù ÆäÀÌÁö ·£´ý ±Û ȸ¿ø°¡ÀÔ ·Î±×ÀÎ
ºñ°ø°³ ¼Õ´Ô ¡¦ 2015-01-24 19:58:15
URL https://te31.com/rgr/view.php?id=study&no=975 ¸ð¹ÙÀÏ È­¸é
C ÇÔ¼ö ÀÎÀÚÀÇ º¯¼öÇü Áú¹®¿ä. ÄÚµå¸ÛÅ°´Ô °ü½É Á»!

PCRE »ç¿ëÇغôµ¥ ¿©±â¼­ ¸Þ¸ð¸® ÇØÁ¦¸¦ ÇÏ´Â ÇÔ¼ö°¡ Çϳª ÀÖ¾î¿ä.

pcre_free ¶ó´Â ÇÔ¼öÀε¥ ½Å±âÇÏ°Ôµµ

pcre* pcreTest;
pcre_extra* pcreTestExtra;
.
.
.
pcre_free(pcreTest);                 // ¿ä±â
pcre_free(pcreTestExtra);          // ¿ä±â


¸¶Áö¸· µÎ ¶óÀÎÀ» º¸½Ã¸é µé¾î°¡´Â ÀÎÀÚÀÇ º¯¼öÇüÀÌ ´Ù¸¥µ¥µµ µÑ´Ù Á¤»ó ÀÛµ¿ÇÕ´Ï´Ù. C¿¡¼­´Â ÇÔ¼ö ¿À¹ö·Îµùµµ Áö¿øÇØÁÖÁö ¾Ê´Âµ¥ ¸»ÀÌÁÒ. ±Ã±ÝÇؼ­ Çì´õÆÄÀÏ ¿­¾îºÃ´õ´Ï ÇÔ¼ö¿øÇüÀº ´ÙÀ½°ú °°¾Ò½À´Ï´Ù.

pcre_free(void *);

ÁüÀÛ´ë·Î void·Î ¹Þ°í ÀÖ´õ±º¿ä. ¿©±â¼­ ÇÑ°¡Áö Àǹ®ÀÌ »ý°å½À´Ï´Ù. ÀÎÀÚ·Î ¹ÞÀº º¯¼öÀÇ º¯¼öÇüÀ» üũÇÒ ¼ö ÀÖ³ª¿ä? Áï, pcre_free(a) ¶ó°í È£ÃâÇßÀ» ¶§, ÇÔ¼ö ³»ºÎ¿¡¼­ a ÀÇ º¯¼öÇüÀÌ pcre* ÀÎÁö pcre_extra* ÀÎÁö¸¦ È®ÀÎÇÏ´Â ±â´ÉÀÌ ÀÖ´ÂÁö¿ä? ÀÖ´Ù¸é °£´ÜÇÑ ¿¹Á¦·Î ¼³¸í Á» ºÎŹµå¸®°Ú½À´Ï´Ù.

Àâ´ã | 1589¸íÀÌ Àоú¾î¿ä. 3.16.255.126

0
1 ºñ°ø°³ ¼Õ´Ô ¡¦ 2015-01-24 20:25:51
ÇØ´ç ±â´ÉÀ» ¾ð¾îÀûÀ¸·Î Áö¿øÇÏ´Â°É RTTI (Run-time type information)¶ó°í ÇÕ´Ï´Ù.
Á¦ ±â¾ïÀÌ ¸Â´Ù¸é C´Â Áö¿ø ¾ÈÇÒ°Ì´Ï´Ù.
±×·¡¼­ º¸ÅëÀº ±¸Á¶Ã¼¿¡ ŸÀÔÀ» ±â¼úÇÏ´Â Enumerate ¸â¹ö¸¦ Çϳª µÖ¼­ ÆǺ°ÇÕ´Ï´Ù.
±×¸®°í RTTI¸¦ Áö¿øÇÏ´Â C++À̶ó°í ÇÏ´õ¶óµµ, ¼º´É À̽´·Î »ç¿ëÇÏÁö ¸øÇÏ´Â °æ¿ìµµ ÀÖ½À´Ï´Ù.
2 ºñ°ø°³ ¼Õ´Ô ¡¦ 2015-01-24 21:12:31
C´Â void ptrÀÌ¸é ¾²´ÂÂÊ¿¡¼­ ¾Ë¾Æ¼­ typecast Çؾߵ˴ϴÙ. ±×·¡¼­ Á¶½ÉÇؼ­ ¾²¼Å¾ßÇØ¿ä
3 ºñ°ø°³ ¼Õ´Ô ¡¦ 2015-01-24 21:13:14
sizeof °°Àº°É·Î ¿ªÂüÁ¶ÀÇ Å©±â¸¦ ±¸ÇѴٰųª ÇÒ¼öµµ Àִµ¥ ±×¸¶Àúµµ »çÀÌÁî °°Àº º¯¼öµé³¢¸® ÀÖÀ¸¸é Áö¸ø¹Ì....
4 ºñ°ø°³ ¼Õ´Ô ¡¦ 2015-01-24 21:16:06
typecast ÇÏ´õ¶óµµ Çö´ë¾ð¾î (c#, java °°Àº) µéÀº exception µîÀÇ Ã¼°è°¡ÀÖÁö¸¸ c ´Â »çÀÌÁî°°Àº³ð³¢¸® ij½ºÆÃÇÏ¸é ¾²·¹±â°ª µé¾î°£Ã¤¿À ±×´ë·Î ¤Â½ºÆõǾî¹ö¸®±â ¶§¹®¿¡ input validation ¸¶Àúµµ Åë°úÇعö¸®´Â ÄÉÀ̽º´Â ·¹¾Ë ´äÀ̾ø½À´Ï´Ù. °¡±ÞÀû void* ŸÀÔÀº.¾È¾²´Â°Ô ÁÁ¾Æ¿ä.
5 ºñ°ø°³ ¼Õ´Ô ¡¦ 2015-01-24 21:25:31
´ä3Àº ¹«½ÃÇϼ¼¿° ¾Æ¸¶ sizeof ÇغÃÀÚ 4³ª¿À°Ú³×¿ä ¿ªÂüÁ¶¸¦ ÇÏ°Ç¹Ð°Ç ¾²´ÂÂÊ¿¡¼­´Â void* ŸÀÔÀÏÅ״ϱñ¿ä (64ºñÆ®¶ó¸é 8)
6 ºñ°ø°³ ¼Õ´Ô ¡¦ 2015-01-25 13:10:21
À½, À̹ø ´ñ±ÛµéÀº ¹«½¼ ¸»ÀÎÁö Á¶±Ý ÀÌÇØÇϱâ Èûµå³×¿ä. ¾Æ¹«Æ° µÎºÐ²² °¨»çµå¸³´Ï´Ù. pcre_free ÇÔ¼ö´Â ¾î¶»°Ô ÀÎÀÚÀÇ type¹®Á¦¸¦ ÇØ°áÇß´ÂÁö ±Ã±ÝÇÕ´Ï´Ù.
7 ºñ°ø°³ ¼Õ´Ô ¡¦ 2015-01-25 13:28:56
¾ÖÃÊ¿¡ CÀÚü¿¡¼­´Â void*°¡ ¾î¶² Æ÷ÀÎÅÍŸÀÔÀ̾ú´ÂÁö ¾Ë ¼ö ÀÖ´Â ¹æ¹ýÀÌ ¾ø½À´Ï´Ù.

ÇÏÁö¸¸ pcre_free ¸¸ ±Ã±ÝÇϽŰŶó¸é
pcre_free¿¡¼­ void* ÀÇ ¿ø·¡ Æ÷ÀÎÅÍ°¡ ¹¹¿´´ÂÁö´Â ¾Ë ÇÊ¿ä°¡ ¾ø½À´Ï´Ù.
¸Þ¸ð¸® ¾ó·ÎÄÉÀÌ¼Ç ÇÒ¶§ ÇØ´ç Æ÷ÀÎÅÍ(Áï, ÁÖ¼Ò)¿¡
¸î ¹ÙÀÌÆ®¸¦ ÇÒ´çÇß´ÂÁö µû·Î ±â¾ïÇÏ°í Àֱ⠶§¹®ÀÌÁÒ.

malloc°ú freeµµ ¸¶Âù°¡ÁöÀÔ´Ï´Ù.
8 ºñ°ø°³ ¼Õ´Ô ¡¦ 2015-01-25 13:38:31
Á¶±Ý´õ ÀÚ¼¼È÷ ¸»¾¸µå¸®¸é

ÀæÀº ¸Þ¸ð¸® ÇÒ´ç°ú ¸±¸®Áî·Î ÀÎÇØ »ý±â´Â ¸Þ¸ð¸® ´ÜÆíÈ­¸¦ ¿ÏÈ­Çϱâ À§ÇØ
±âº» ÄÄÆÄÀÏ·¯µµ ¾î´ÀÁ¤µµ ¸Þ¸ð¸® ¸Å´ÏÁö¸ÕÆ®¸¦ ÇÏ°í ÀÖ½À´Ï´Ù.

ÀÌ·¯ÇÑ °ÍµéÀ» È¿À²ÀûÀ¸·Î Çϱâ À§ÇÑ ¸Þ¸ð¸® °ü¸® ¶óÀ̺귯¸®°°Àº°Íµµ ÀÖ±¸¿ä.

¾î·µç ÀÌ ¸Å´ÏÀúµéÀº n¹ÙÀÌÆ® ÇÒ´çÀ» ¿äûÀ» ÇÑ´Ù°í Çؼ­
½ÇÁ¦·Î n¹ÙÀÌÆ®¸¸ ÇÏ´Â °æ¿ì´Â µå¹°°í,

º¸ÅëÀº nº¸´Ù Å« ¾î¶² °ª (ex: 16, 32, 48, 64µûÀ§ÀÇ ´ÜÀ§ ȤÀº 2^k ²ÃÀÇ ´ÜÀ§)
µîÀÇ ¹öÄÏ ¸®½ºÆ®¿¡¼­ Àç »ç¿ë °¡´ÉÇÑ ¸Þ¸ð¸® ºí·°À» Çϳª °¡Á®¿Í¼­ µ¹·ÁÁÖ¸ç,
ÀÌ·¯ÇÑ ºí·° ³»¿¡´Â ÀÚ½ÅÀÌ ¸î¹ÙÀÌƮ¥¸®¿´´ÂÁö, ¾î¶² ¹öÄÏÀÇ ¼ÓÇÏ´ÂÁö µîÀÇ
Á¤º¸¸¦ µû·Î °®°í ÀÖ´Â °æ¿ì°¡ º¸ÅëÀÔ´Ï´Ù.
9 ºñ°ø°³ ¼Õ´Ô ¡¦ 2015-01-25 15:13:24
pcre.cÆÄÀÏÀ» º¸¸é pcre_free°¡ ÇÔ¼ö°¡ ¾Æ´Ï¶ó ÇÔ¼ö Æ÷ÀÎÅÍÀÔ´Ï´Ù.
Áï, ±¸Á¶Ã¼ ³»ºÎ¿¡ µû·Î Ŭ¸°¾÷ÇÒ ³»¿ëÀÌ ¾ø¾î¼­ ±×³É freeÇÔ¼ö¿¡ ³Ñ°Ü¼­ mallocÀ¸·Î ÇÒ´çÇÑ ¸Þ¸ð¸®¸¦ ÇØÁ¦ÇÏ´Â °Í »ÓÀÔ´Ï´Ù.
±×·¯´Ï pcre_free°¡ void*Çü ÀÎÀÚÀÇ Å¸ÀÔÀÌ pcre*ÀÎÁö pcre_extra*ÀÎÁö ¾Ë ÇÊ¿ä°¡ ¾ø½À´Ï´Ù.

void *(*pcre_malloc)(size_t) = malloc;
void (*pcre_free)(void *) = free;
10 ºñ°ø°³ ¼Õ´Ô ¡¦ 2015-01-25 16:06:07
//9 ¿À! ÀÌÇØ°¡ µÇ³×¿ä!!!! Àú°Ô ÇÔ¼öÆ÷ÀÎÅÍ¿´³×¿ë. ±Ùµ¥ ¿Ö ±»ÀÌ free¸¦ ¾È¾²°í ÇÔ¼ö Æ÷ÀÎÅ͸¦ µû·Î ÀÛ¼ºÇصξúÀ»±î¿ä?
11 ºñ°ø°³ ¼Õ´Ô ¡¦ 2015-01-25 16:09:04
À½... pcre_free ÇÔ¼ö°¡ µÎ°³³×¿ä.
.
.
.
PCRE_EXP_DECL void (*pcre_free)(void *);
.
.
.
PCRE_EXP_DECL void pcre_free(void *);
.
.
.
12 ºñ°ø°³ ¼Õ´Ô ¡¦ 2015-01-25 16:15:07
10ÀÇ Àǹ®¿¡ ÀÚ´äÀ» Çغ¸ÀÚ¸é ¸Þ¸ð¸® ÇÒ´çÇÑ °É µû·Î ¸®½ºÆ®·Î °ü¸®Çؼ­ ³ªÁß¿¡ Çѹ濡 ó¸®ÇÏ·Á´Â°Ô ¾Æ´Ò±îÇÏ´Â »ý°¢ÀÌ µå³×¿ä.

¸Þ¸ð¸®¸¦ ÇÒ´çÇÒ ¶§¸¶´Ù ÁÖ¼Ò¸¦ µû·Î º¹»çÇÏ¿© ´Ù¸¥ ¹è¿­¿¡ Ãß°¡ÇÏ¿© ÀúÀåÇص״ٰ¡ ÇÁ·Î±×·¥ Á¾·áÇÒ ¶§ ±× ¹è¿­¿¡ ÀÖ´Â ¸Þ¸ð¸® Áּҵ鸸 for ¹® µ¹¸®µçÁö Çؼ­ ¸Þ¸ð¸® ÇØÁ¦¸¦ ÇØÁشٴø°¡.. ¹¹ ±×·±°Å °°Àºµ¥?
13 ºñ°ø°³ ¼Õ´Ô ¡¦ 2015-01-25 16:59:44
±×·± ÀÌÀ¯º¸´Ù´Â ¶óÀ̺귯¸® ¼³°è¿¡ °ü·ÃµÈ ¹®Á¦ÀÔ´Ï´Ù.
Áö±ÝÀÌ¾ß ³»ºÎ¾ß º°´Ù¸¥ °´Ã¼°¡ ¾ø¾î¼­ mallocÀ̳ª free¸¦ ¸®´ÙÀÌ·ºÆ® ÇÏ°í ÀÖÀ»Áö ¸ð¸£°ÚÁö¸¸,
¶óÀ̺귯¸® ³»ºÎ ±¸ÇöÀÌ ¹Ù²î¾î ³»ºÎ¿¡ Ãß°¡·Î freeÇؾßÇϰųª closeÇؾßÇÏ´Â °´Ã¼°¡ »ý±â°Ô µÆÀ»¶§¸¦ °¡Á¤ÇÏ°í ±¸¼ºÇÑ°Ì´Ï´Ù.
Àú·¸°Ô ÇØµÎ¸é ¶óÀ̺귯¸® ³»ºÎ ±¸ÇöÀÌ ¹Ù²î´õ¶óµµ ¼Ò½º ¼öÁ¤ ¾øÀÌ ÆÐÄ¡°¡ °¡´ÉÇϴϱî¿ä.

Áï, ÇöÀç´Â ±×·¸°Ô ±¸ÇöÀÌ ¾ÈµÇ¾î ÀÖÁö¸¸, ¹Ì·¡¿¡´Â 12¿¡¼­ ¸»¾¸ÇϽŠ°Í ó·³ ±¸ÇöÀÌ ¹Ù²ð ¼ö ÀÖ¾î È®À强À» °í·ÁÇÑ ¶óÀ̺귯¸® ÀÎÅÍÆäÀ̽º ¼³°è¶ó°í »ý°¢ÇÏ½Ã¸é µË´Ï´Ù.
14 ºñ°ø°³ ¼Õ´Ô ¡¦ 2015-01-25 18:04:06
13// ´äº¯ °¨»çÇÕ´Ï´Ù!
´ñ±ÛÀ» ÀÛ¼ºÇÏ½Ç ¼ö ¾ø½À´Ï´Ù.
(±ÇÇÑÀÌ ¾ø´Â ȸ¿ø·¹º§)
¸ñ·ÏÀ¸·Î
ÀÌ¿ë¾à°ü | ±¤°í/Á¦ÈÞ | °³ÀÎÁ¤º¸Ãë±Þ¹æħ | ¹®ÀÇ/½Å°í | ¸ð¹ÙÀÏ TE31 | ¼­¹ö ºÎÇÏ : 11%
½Ç½Ã°£ Issue Ä¿¹Â´ÏƼ TE31 [¾ËÁö·Õ] ¨Ï 2002-2024
TOP arrow_upward