Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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 ÓïÑÔÖÐfread()º¯ÊýʹÓÃʱӦ¸Ã×¢ÒâµÄµØ·½

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

Ò»µÀcµÄÃæÊÔÌ⣬´óÊýÏà³Ë

 http://www.cnblogs.com/hoodlum1980/archive/2007/08/15/857067.html
Ìâ¸É£ºÊäÈëÁ½¸ö½Ï´óµÄÊý£¬Êä³öÏà³ËµÄ½á¹û¡£
Òâ˼Ҳ¾ÍÊÇÁ½¸öÊýºÜ´ó£¬³¬³öÁËintµÄ´æ´¢·¶Î§¡£
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define N 100
void GetDigits( ......

extern "C"µ×²ãÔ­Àí

ͨ³££¬ÔÚCÓïÑÔµÄÍ·ÎļþÖо­³£¿ÉÒÔ¿´µ½ÀàËÆÏÂÃæÕâÖÖÐÎʽµÄ´úÂ룺
#ifdef __cplusplus
extern "C" {
#endif
/**** some declaration or so *****/
#ifdef __cplusplus
}
#endif /* end of __cplusplus */
ÄÇô£¬ÕâÖÖд·¨Ê²Ã´ÓÃÄØ£¿Êµ¼ÊÉÏ£¬ÕâÊÇΪÁËÈÃCPPÄܹ»ÓëC½Ó¿Ú¶ø²ÉÓõÄÒ»ÖÖÓï·¨ÐÎʽ¡£Ö®ËùÒÔ²ÉÓÃÕâÖÖ·½Ê½ ......

ÈçºÎÔÚC++Öе÷ÓÃCµÄ´úÂë

ÒÔÇ°Ôø¾­×ܽá¹ýһƪ(http://www.cppblog.com/franksunny/archive/2007/11/29/37510.html
)£¬¹ØÓÚÔÚ
C
ÖÐÈçºÎµ÷ÓÃ
C++
µÄ´úÂ룬µ±Ê±²¢Î´×öÍêÈ«µÄÕ¹¿ª£¬Ö»ÊǼòµ¥µÄ×öÁËϵ÷ÊÔ£¬×î½ü¿´µ½Ò»¸öÌâĿҪÇóʵÏÖ
C
ºÍ
C++
ÖдúÂëµÄ»¥Ïàµ÷Óã¬Æä½á¹ûËäÈ»¶¼ÊÇͨ¹ý
extern “C”
À´ÊµÏÖ
£¬µ«ÊǾßÌ廹ÊÇÓÐЩ²î±ðµÄ¡ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ