¶Á¡¶Î¢Èí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³µÖС£ÉÏÃæµÄ³ÌÐòʹÈ˸е½Ì«Î£ÏÕÁË¡£
Ôڸú¯ÊýµÄ½»¸¶°æ±¾ÖУ¬ÏàÓ¦µÄ·À´í´ëÊ©¿ÉÒÔ±£Ö¤µ±³öÁË벡ʱ£¬Óû§¿ÉÒÔ²»ÊÜËðʧ£»¶øÔڸú¯ÊýµÄµ÷ÊÔ°æ±¾ÖУ¬´íÎóÈÔÈ»¿ÉÒÔ±»±¨¸æ³öÀ´¡£
Ïà¹ØÎĵµ£º
1.strlen()
ʵÏÖ£º
size_t strlen(const char *s)
{
size_t n;
for(n = 0; *s != '\0'; s++)
++n;
return n;
  ......
¡¾º¯ÊýÔÐÍ¡¿
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++²å¼þ¿ª·¢¿ò¼ ......
http://blog.csdn.net/eroswang/archive/2009/06/12/4265046.aspx
1,·ÀÖ¹Ò»¸öÍ·Îļþ±»Öظ´°üº¬
#ifndef COMDEF_H
#define COMDEF_H
//Í·ÎļþÄÚÈÝ
#endif
2,ÖØÐ¶¨ÒåһЩÀàÐÍ,·ÀÖ¹ÓÉÓÚ¸÷ÖÖÆ½Ì¨ºÍ±àÒëÆ÷µÄ²»Í¬,¶ø²úÉúµÄÀàÐÍ×Ö½ÚÊý²îÒì,·½±ãÒÆÖ²¡£
typedef unsigned char boolea ......
VCÖÐÏÂÃæ¼¸¸ö½á¹¹Ìå´óС·Ö±ðÊǶàÉÙÄØ
struct MyStruct
{
double m4;
char m1;
int m3£»
};
struct MyStruct {
char m1;
double m4;
int m3;
};
#pragma pack(push)   ......