Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

¶Á¡¶Î¢ÈíC±à³Ì¾«´â¡·µÄһЩÊÕ»ñ

-  ÒªÊ¹ÓöÏÑÔ¶Ôº¯Êý²ÎÊý½øÐÐÈ·ÈÏ
-  ÎªÁ˲»±ØÒªµÄ¿ªÏú£¬¿ÉÒÔ½öʹÓöÏÑÔ£¬¶ø²»Òªreturn
    ÍøÉÏÓÐÈËдµÄstrcpy´úÂ룬×öÁËÌ«¶àµÄ³ö´í´¦Àí£¬µ¼ÖÂÐÔÄܵÍÏ£¬Æäʵû±ØÒª£¬ÓÃassert¾ÍÐÐÁË£¬ÕâÑùÔÚdebugģʽÏÂÄܲ¶×½´íÎó£¬releaseÏÂÓÖ²»Ó°ÏìÐÔÄÜ¡£
- ÊéÉÏÌṩµÄmemcpyµÄ·¶Àý
void memcpy(void* pvTo, void* pvfrom, size_t size)
{
 void* pbTo = (byte*)pvTo;
 void* pbfrom = (byte*)pvfrom;
 ASSERT(pvTo != NULL && pvfrom != NULL);
 /* ÄÚ´æ¿éÖØµþÂð£¿Èç¹ûÖØµþ£¬¾ÍʹÓÃmemmove */
 ASSERT(pbTo>=pbfrom+size || pbfrom>=pbTo+size);
 while(size-->0)
  *pbTo++ == *pbfrom++;
 return(pvTo);
}
- ²»Ê¹ÓÃASSERTµÄΣº¦
Õâ¸öС×éµÄ´úÂëÓëWord´úÂëÖ®¼äÒ»¸öÃ÷ÏÔµÄÇø±ðÊÇWord´úÂë´Ó¹ýÈ¥µ½ÏÖÔÚÒ»Ö±¶¼Ê¹ÓöÏÑԺ͵÷ÊÔ´úÂ룬¶øËûÃǵĴúÂëÈ´¼¸ºõûÓÐʹÓöÏÑÔ¡£Òò´Ë£¬Æä³ÌÐòԱûÓÐʲôºÃµÄ°ì·¨¿ÉÒÔÈ·¶¨Æä´úÂëÖеÄʵ¼Ê´íÎóÇé¿ö£¬´íÎóÖ»ÄÜÂýÂýµØ±©Â¶³öÀ´¡£Èç¹ûËûÃÇÔÚ´úÂëÖÐʹÓÃÁ˶ÏÑÔ£¬ÕâЩ´íÎ󱾸ÃÔÚ¼¸¸öÔÂ֮ǰ¾Í±»¼ì²é³öÀ´¡£
ͬÑù£¬xeyezÓÉÓÚûÓÐʹÓÃDebug°æ£¬µ¼ÖÂÁ˺ܶàµÄÄÚ´æ´íÎóÔÚ¿Í»§µÄµçÄÔÉϱ©Â©Á˳öÀ´¡£
- Ò»¸ö´íÎóµÄʹÓÃASSERTµÄÀý×Ó
char* strdup(char* str)
{
 char* strNew;
 ASSERT(str != NULL);
 strNew = (char*)malloc(strlen(str)+1);
 ASSERT(strNew != NULL);  // ÕâÀïʹÓôíÎó
 strcpy(strNew, str);
 return(strNew);
}
µÚÒ»¸ö¶ÏÑÔµÄÓ÷¨ÊÇÕýÈ·µÄ£¬ÒòΪËü±»ÓÃÀ´¼ì²éÔڸóÌÐòÕý³£¹¤×÷ʱ¾ø²»Ó¦¸Ã·¢ÉúµÄ·Ç·¨Çé¿ö¡£µÚ¶þ¸ö¶ÏÑÔµÄÓ÷¨Ï൱²»Í¬£¬ËüËù²âÊÔµÄÊÇ´íÎóÇé¿ö£¬ÊÇÔÚÆä×îÖÕ²úÆ·Öп϶¨»á³öÏÖ²¢ÇÒ±ØÐë¶ÔÆä½øÐд¦ÀíµÄ´íÎóÇé¿ö¡£
ËäÈ»ÕâÒ»³ÌÐò¸ü¾«È·µØ·´Ó¦ÁËÏàÓ¦µÄËã·¨£¬µ«Óо­ÑéµÄ³ÌÐòÔ±ºÜÉÙ»áÕâÑù±àÂë¡£·ñÔòºÃ»ú»á¾ÍÀ´ÁË£¬ÎÒÃÇ¿ÉÒÔ°ÑËûÃÇÈû½øÒ»Á¾¼ÈûÓа²È«´øÓÖûÓгµÃŵÄË«ÈËCessna³µÖС£ÉÏÃæµÄ³ÌÐòʹÈ˸е½Ì«Î£ÏÕÁË¡£
Ôڸú¯ÊýµÄ½»¸¶°æ±¾ÖУ¬ÏàÓ¦µÄ·À´í´ëÊ©¿ÉÒÔ±£Ö¤µ±³öÁË벡ʱ£¬Óû§¿ÉÒÔ²»ÊÜËðʧ£»¶øÔڸú¯ÊýµÄµ÷ÊÔ°æ±¾ÖУ¬´íÎóÈÔÈ»¿ÉÒÔ±»±¨¸æ³öÀ´¡£


Ïà¹ØÎĵµ£º

C¿âº¯Êý×Ö·û´®´¦Àíº¯ÊýµÄCʵÏÖ(³£¼û)

1.strlen()
ʵÏÖ£º
    size_t  strlen(const char *s)
    {
       size_t n;
       for(n = 0; *s != '\0'; s++)
          ++n;
       return n;
  ......

C±ÊÊÔ¼ÓÃæÊÔÌâ

¿¼²éÒ»¸ö³õ¼¶Ç¶Èëʽϵͳ¿ª·¢ÈËÔ±µÄC»ù±¾¹¦£¬¸½Óдð°¸ÌâÄ¿ÓÉ×ÊÉîǶÈëʽϵͳר¼ÒÄⶨ,Ä¿µÄÊÇ¿¼²éÈëÃż¶µÄǶÈëʽÈí¼þ¿ª·¢ÈËÔ± Gavin ShawÌṩÏêϸ½â´ð
 
±àÕß°´:·Ç³£»ù±¾¹ØÓÚCÓïÑÔµÄÎÊÌâ,Ò»¸öÐÅÏ¢Àà(¼ÆËã»ú,×ÊѶ¹¤³Ì,µç×Ó¹¤³Ì, ͨÐŹ¤³Ì)רҵµÄ±¾¿Æ±ÏÒµÉúÓ¦¸Ã´ïµ½µÄˮƽ¡£ÌâÄ¿²»ÄÑ,È«²¿¶¼ÄÜ¿ìËٵشðÍ꣬µ±È»Ò²ÐèÒªÒ»¶¨µ ......

¹¹½¨×Ô¼ºµÄC/C++²å¼þ¿ª·¢¿ò¼Ü——ϵÁÐ

ÕâһϵÁÐÎÄÕÂÊÇÎÒ¹¹½¨C/C++²å¼þ¿ª·¢¿ò¼Ü¿ª·Å¿ò¼ÜµÄ¹ý³Ì¡£ºóÃæ»áÒ»Ö±¸üУ¬Ö±ÖÁ¹¹½¨Íê³É¡£
¡¶¹¹½¨×Ô¼ºµÄC/C++²å¼þ¿ª·¢¿ò¼Ü£¨Ò»£©——³õ²½ÉèÏë¡·
¡¶¹¹½¨×Ô¼ºµÄC/C++²å¼þ¿ª·¢¿ò¼Ü£¨¶þ£©——×ÜÌ幦ÄÜ¡·
¡¶
¹¹½¨×Ô¼ºµÄC/C++²å¼þ¿ª·¢¿ò¼Ü£¨Èý£©——×ÜÌå½á¹¹
¡·
¡¶¹¹½¨×Ô¼ºµÄC/C++²å¼þ¿ª·¢¿ò¼ ......

c ÓïÑÔÖÐfread()º¯ÊýʹÓÃʱӦ¸Ã×¢ÒâµÄµØ·½

ÓÃcÓïÑÔ×öÁ˸öͨѶ¼£¬ÏµÍ³Ò»ÔËÐÐʱ±ã½«Êý¾ÝÎļþ¼ÓÔØ½øÄڴ棬²¢ÓÃÁ´±í´æ´¢¡£Í˳öϵͳʱ£¬×Ô¶¯½«Á´±íÖеÄËùÓнڵãÔÙ´æÈëÎļþ¡£
¿ÉÊÇÏÖÔÚ£¬Ã¿´ÎÍ˳öϵͳ£¬ÎļþÀï¶¼»á±ÈÁ´±í¶à´æ´¢Ò»Ìõ¼Ç¼¡£
È磺ÏÖÔÚÖ»ÓÐÁ½Ìõ¼Ç¼£¬Í˳öºóÔÚÆô¶¯Ê±Ò»²éѯ£¬¾Í»á¶àÒ»ÌõÂҼǼ£¨ÏµÍ³×Ô¼º¼ÓµÄ£©¡£
¼ÓÔØÎļþµÄ²¿·Ö´úÂëÈçÏ£º
/*ÅжÏÎļþÊÇ·ñ ......

cºê¶¨ÒåµÄ¼¼ÇÉ×ܽá


http://blog.csdn.net/eroswang/archive/2009/06/12/4265046.aspx
1,·ÀÖ¹Ò»¸öÍ·Îļþ±»Öظ´°üº¬
#ifndef COMDEF_H
#define COMDEF_H
//Í·ÎļþÄÚÈÝ
#endif
2,ÖØÐ¶¨ÒåһЩÀàÐÍ,·ÀÖ¹ÓÉÓÚ¸÷ÖÖÆ½Ì¨ºÍ±àÒëÆ÷µÄ²»Í¬,¶ø²úÉúµÄÀàÐÍ×Ö½ÚÊý²îÒì,·½±ãÒÆÖ²¡£
typedef unsigned char      boolea ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ