C ÓïÑÔ malloc ºÍ freeº¯Êýdz̸
À´×Ôbccn CÓïÑÔÂÛ̳
Ê×ÏÈÉùÃ÷Ò»µã£¬±¾ÎÄΪתÌù¡£
dz̸CÖеÄmallocºÍfree
×÷Õߣºlj_860603 ÔĶÁÈ˴Σº43013 ÎÄÕÂÀ´Ô´£º±¾Õ¾Ô´´ ·¢²¼Ê±¼ä£º2006-8-5 ÍøÓÑÆÀÂÛ(32)Ìõ
ÔÌû¼°ÌÖÂÛ£ºhttp://bbs.bccn.net/thread-82212-1-1.html
ÔÚCÓïÑÔµÄѧϰÖУ¬¶ÔÄÚ´æ¹ÜÀíÕⲿ·ÖµÄÖªÊ¶ÕÆÎÕÓÈÆäÖØÒª£¡Ö®Ç°¶ÔCÖеÄmalloc()ºÍfree()Á½¸öº¯ÊýµÄÁ˽âÉõÉÙ£¬Ö»ÖªµÀ´ó¸Å¸ÃÔõôÓ×—¾ÍÊÇmallocÈ»ºófree¾ÍÒ»ÇÐOKÁË¡£µ±È»ÏÖÔÚ¶ÔÕâÁ½¸öº¯ÊýµÄÌå»áÒ²²»¼ûµÃ¶à£¬²»¹ý¶ÔÓÚ±¾ÎÄÕµÚÈý²¿·ÖµÄÄÚÈݵ¹ÊÇÓÐÁËתÕÛÐÔµÄÈÏʶ£¬ËùÒÔ
дÏÂÕâÆªÎÄÕÂ×÷Ϊһ¸ö¶Ô֪ʶµÄ×ܽᡣÕâÆªÎÄÕÂÖ®ËùÒÔÃüÃûÖÐÓиö“dz̸”µÄ×ÖÑÛ£¬Ò²¾ÍÊÇÕâ¸öÒâ˼ÁË£¡Ï£Íû¶Ô´ó¼ÒÓÐÒ»µã°ïÖú£¡
Èç¹û²»³¶µÃ̫ԶµÄ»°£¨±ÈÈç˵²Ù×÷ϵͳÖÐÐéÄâÄÚ´æºÍÎïÀíÄÚ´æÈçºÎÔË×öÈçºÎ¹ÜÀíÖ®ÀàµÄ֪ʶµÈ£©£¬ÎҸоõÕâÆªÎÄÕÂÓ¦¸ÃÊDZȽÏÈ«ÃæµØÌ¸ÁËÒ»ÏÂmalloc()ºÍfree().ÕâÆªÎÄÕÂÓÉdzÈëÉ²»¼ûµÃÓжàÉ·ÖÈý¸ö²¿·Ö½éÉÜÖ÷ÒªÄÚÈÝ¡£
·Ï»°ÁËÄÇô¶à£¬ÏÂÃæÁ¢¿Ì½øÈëÖ÷Ìâ================¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
Ò»¡¢malloc()ºÍfree()µÄ»ù±¾¸ÅÄîÒÔ¼°»ù±¾Ó÷¨£º
1¡¢º¯ÊýÔÐͼ°ËµÃ÷£º
void *malloc(long NumBytes)£º¸Ãº¯Êý·ÖÅäÁËNumBytes¸ö×Ö½Ú£¬²¢·µ»ØÁËÖ¸ÏòÕâ¿éÄÚ´æµÄÖ¸Õë¡£Èç¹û·ÖÅäʧ°Ü£¬Ôò·µ»ØÒ»¸ö¿ÕÖ¸Õ루NULL£©¡£
¹ØÓÚ·ÖÅäʧ°ÜµÄÔÒò£¬Ó¦¸ÃÓжàÖÖ£¬±ÈÈç˵¿Õ¼ä²»×ã¾ÍÊÇÒ»ÖÖ¡£
void free(void *FirstByte)£º ¸Ãº¯ÊýÊǽ«Ö®Ç°ÓÃmalloc·ÖÅäµÄ¿Õ¼ä»¹¸ø³ÌÐò»òÕßÊDzÙ×÷ϵͳ£¬Ò²¾ÍÊÇÊÍ·ÅÁËÕâ¿éÄڴ棬ÈÃËüÖØÐµõ½×ÔÓÉ¡£
2¡¢º¯ÊýµÄÓ÷¨£º
ÆäʵÕâÁ½¸öº¯ÊýÓÃÆðÀ´µ¹²»ÊǺÜÄÑ£¬Ò²¾ÍÊÇmalloc()Ö®ºó¾õµÃÓù»Á˾Í˦ÁËËü°ÑËü¸øfree()ÁË£¬¾Ù¸ö¼òµ¥Àý×Ó£º
³ÌÐò´úÂ룺
// Code...
char *Ptr = NULL;
Ptr = (char *)malloc(100 * sizeof(char));
if (NULL == Ptr)
{
exit (1);
}
gets(Ptr);
// code...
Ïà¹ØÎĵµ£º
×öµ½×¨Òµ£¬Ó¦¸ÃÊÇÿ¸öÖ°Òµ³ÌÐòÔ±Ó¦¸ÃÒªÇó×Ô¼º×öµ½µÄ¡£
ÈÃÎÒÃÇ¿´¿´lua
ÊÇ
ÔõôдͷÎļþµÄ¡£
1.License Agreement
License
Agreement
Ó¦¸Ã¼ÓÔÚÿ¸öÍ·ÎļþµÄ¶¥²¿¡£
Lua Sample:
/*
** $Id: lua.h,v 1.175b 2003/03/18 12:31:39 roberto Exp $
** Lua - An ......
±¾ÎÄÒÔ¼Ó·¨ÎªÀý£º[code]
//----------------------------------------------------
//adder.c
//---------------------------------------------------
void adder(int a, int b, int *sum)
{
*sum = a + b;
}
[/code][size=3]
[/size]
HLS¹¤¾ß£¨AutoPilot£©×ÛºÏÖ®ºóµÄ½á¹ ......
Ò». ÔÚcÖзÖΪÕ⼸¸ö´æ´¢Çø
1.Õ» - ÓɱàÒëÆ÷×Ô¶¯·ÖÅäÊÍ·Å
2.¶Ñ - Ò»°ãÓɳÌÐòÔ±·ÖÅäÊÍ·Å£¬Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿ÉÄÜÓÉOS»ØÊÕ
3.È«¾ÖÇø£¨¾²Ì¬Çø£©£¬È«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿µÄ´æ´¢ÊÇ·ÅÔÚÒ»¿éµÄ£¬³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿ÔÚÒ»¿éÇøÓò£¬Î´³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍδ³õʼ»¯µÄ¾²Ì¬±äÁ¿ÔÚÏàÁÚµÄÁíÒ»¿éÇøÓò¡£- ³ÌÐò½áÊøÊÍ·Å
4.ÁíÍ ......
×î½ü×öµÄһЩ¹¤×÷ÐèÒªÓõ½Ï̳߳ؼ¼Êõ£¬Òò´Ë²Î¿¼ÁËһЩ×ÊÁϺÍÊé¼®£¬Èç¡¶0bug c/c++ÉÌÓù¤³ÌÖ®µÀ¡·¡£
Ϊ´ËÔÚlinuxƽ̨ÉÏÓô¿cдÁËÒ»¸öÏ̳߳صÄʵÏÖ¡£
ÔÚ´ËÁгöÁËÔ´úÂë¡£
Ö÷ÒªÓõ½µÄÊý¾Ý½á¹¹ÓÐ
1.struct thread_pool_t // thread pool µÄʵÏÖ´úÂë
2.struct thread_pool_token_t &nb ......