Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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;
  ......

ANSI C——printf

¡¾º¯ÊýÔ­ÐÍ¡¿
        int printf(char *format...);
¡¾¹¦ÄÜÃèÊö¡¿
        ±ê×¼Êä³öº¯Êý¡£
¡¾¾ÙÀý¡¿
#include<stdio.h>
int main ( int argc, char *argv[] )
{
printf("hello world!!\n");
return 0;
}
¡¾ÊµÏÖ·ÖÎ ......

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

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

C/C++ ×Ö½Ú¶ÔÆëÎÊÌâ

VCÖÐÏÂÃæ¼¸¸ö½á¹¹Ìå´óС·Ö±ðÊǶàÉÙÄØ
struct MyStruct
{
    double m4;
    char m1;
    int m3£»
};
struct MyStruct {
    char m1;
    double m4;
    int m3;
};
#pragma pack(push)   ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ