CºÍC++ÓïÑÔѧϰ×ܽá(×ÊÁÏÀ´×Ô <¸ßÖÊÁ¿C++/C ±à³ÌÖ¸ÄÏ> ÁÖÈñ²©Ê¿ 2001 Äê7 ÔÂ24)
֪ʶ½á¹¹:
1¡¢if,for,switch,goto
2¡¢#define,const
3¡¢Îļþ¿½±´µÄ´úÂë,¶¯Ì¬Éú³ÉÄÚ´æ,¸´ºÏ±í´ïʽ,strcpy,memcpy,sizeof
4¡¢º¯Êý²ÎÊý´«µÝ,ÄÚ´æ·ÖÅ䷽ʽ,ÄÚ´æ´íÎó±íÏÖ,mallocÓënewÇø±ð
5¡¢ÀàÖØÔØ¡¢Òþ²ØÓ븲¸ÇÇø±ð,externÎÊÌâ,º¯Êý²ÎÊýµÄȱʡֵÎÊÌâ,ºê´úÂëÓëÄÚÁªº¯ÊýÇø±ð
6¡¢¹¹ÔìºÍÎö¹¹µÄ´ÎÐò,Stringº¯Êý¶¨Òå
¾ßÌåʵÏÖ:
1¡¢if,for,switch,goto
if:
bool int float pointer char ±äÁ¿µÄʹÓ÷½·¨
bool bParam;
int iParam;
float fParam;
int* pParam;
char cParam;
if(bParam) ,if(!bParam);
if(iParam == 0 ),if(iParam != 0 );
if(fParam>= -0.00001 && fParam <= 0.00001);
if(pParam == NULL),if(pParam != NULL);
if(cParam == '\0'),if(cParam != '\0');
if/else/return µÄʹÓ÷½·¨
if(condition) ¿ÉÒԵȼÛΪ return (condition?x:y);
{
return x;
}
else
{
return y;
}
for:
Ö´ÐÐЧÂÊÎÊÌâ:
int row,col,sum;
int a[100][5];
for(row=0 ......
CºÍC++ÓïÑÔѧϰ×ܽá(×ÊÁÏÀ´×Ô <¸ßÖÊÁ¿C++/C ±à³ÌÖ¸ÄÏ> ÁÖÈñ²©Ê¿ 2001 Äê7 ÔÂ24)
֪ʶ½á¹¹:
1¡¢if,for,switch,goto
2¡¢#define,const
3¡¢Îļþ¿½±´µÄ´úÂë,¶¯Ì¬Éú³ÉÄÚ´æ,¸´ºÏ±í´ïʽ,strcpy,memcpy,sizeof
4¡¢º¯Êý²ÎÊý´«µÝ,ÄÚ´æ·ÖÅ䷽ʽ,ÄÚ´æ´íÎó±íÏÖ,mallocÓënewÇø±ð
5¡¢ÀàÖØÔØ¡¢Òþ²ØÓ븲¸ÇÇø±ð,externÎÊÌâ,º¯Êý²ÎÊýµÄȱʡֵÎÊÌâ,ºê´úÂëÓëÄÚÁªº¯ÊýÇø±ð
6¡¢¹¹ÔìºÍÎö¹¹µÄ´ÎÐò,Stringº¯Êý¶¨Òå
¾ßÌåʵÏÖ:
1¡¢if,for,switch,goto
if:
bool int float pointer char ±äÁ¿µÄʹÓ÷½·¨
bool bParam;
int iParam;
float fParam;
int* pParam;
char cParam;
if(bParam) ,if(!bParam);
if(iParam == 0 ),if(iParam != 0 );
if(fParam>= -0.00001 && fParam <= 0.00001);
if(pParam == NULL),if(pParam != NULL);
if(cParam == '\0'),if(cParam != '\0');
if/else/return µÄʹÓ÷½·¨
if(condition) ¿ÉÒԵȼÛΪ return (condition?x:y);
{
return x;
}
else
{
return y;
}
for:
Ö´ÐÐЧÂÊÎÊÌâ:
int row,col,sum;
int a[100][5];
for(row=0 ......
CreateThreadº¯Êý
Ç°Ãæ½²¹ý£¬½ø³ÌµÄÖ÷Ï̻߳áÔÚCreateProcessµ÷ÓÃʱ×Ô¶¯´´½¨¡£¼ÙÈçÄãÒªÊÖ¹¤´´½¨Ị̈߳¬Äã¿ÉÒÔµ÷ÓÃCreateThreadº¯Êý£º
HANDLE CreateThread(
PSECURITY_ATTRIBUTES psa,
DWORD cbStackSize,
PTHREAD_START_ROUTINE pfnStartAddr,
PVOID pvParam,
DWORD dwCreateFlags,
PDWORD pdwThreadID);
ϵͳÔÚµ÷ÓÃCreateThreadʱ´´½¨Ò»¸öÏß³ÌÄں˶ÔÏó£¬Ïß³ÌÄں˶ÔÏó²¢·ÇÏ̱߳¾Éí£¬ËüÊDzÙ×÷ϵͳÓÃÀ´¹ÜÀíÏ̵߳ÄÊý¾Ý½á¹¹£¬ÆäÖаüº¬Ï̵߳Äͳ¼ÆÐÅÏ¢¡£ÕâÓë½ø³ÌºÍ½ø³ÌÄں˶ÔÏóµÄ¹ØÏµÊÇÀàËÆµÄ¡£
ϵͳ´Ó½ø³ÌµÄµØÖ·¿Õ¼äÖÐΪÏß³ÌÕ»·ÖÅä¿Õ¼ä¡£ÐµÄÏ̺߳ʹ´½¨ËüµÄÏß³ÌÔËÐÐÔÚͬÑùµÄ½ø³ÌÉÏÏÂÎÄÖУ¬Òò´ËÐÂÏ߳̿ÉÒÔ·ÃÎʽø³ÌµÄ¾ä±ú±í¡¢µØÖ·¿Õ¼äÒÔ¼°ÆäËü´¦ÔÚͬһ½ø³ÌÉÏÏÂÎÄÖеÄËùÓÐÏ̵߳ĶÑÕ»£¬ÕâʹµÃͬһ½ø³ÌÄڵĶà¸öÏß³ÌÏ໥ͨÐűäµÃ¼«Îª¼òµ¥¡£
×¢Òâ CreateThreadº¯ÊýÊÇÓÃÀ´´´½¨Ï̵߳ÄWindows APIº¯Êý¡£¼ÙÈçÄãʹÓÃC/C++´úÂë´´½¨ÐÂỊ̈߳¬ÄãÓ¦¸Ã±ÜÃâʹÓÃCreateThread£¬¶øÓÃ΢ÈíC++ÔËÐÐʱ¿âº¯Êý_beginthreadex´úÌæ¡£±¾ÕÂÉÔºó»á½²µ½_beginthreadexº¯Êý²¢½âÊÍÓÃËü´úÌæCreateThreadµÄÔÒò¡£
ÏÂÃæÎÒÃÇÀ´¿´¿´CreateThreadµÄ²ÎÊý¡£
psa
psaÊÇSECURITY_ATTRIBUTES½á¹¹µÄÖ¸Õë£ ......
CreateThreadº¯Êý
Ç°Ãæ½²¹ý£¬½ø³ÌµÄÖ÷Ï̻߳áÔÚCreateProcessµ÷ÓÃʱ×Ô¶¯´´½¨¡£¼ÙÈçÄãÒªÊÖ¹¤´´½¨Ị̈߳¬Äã¿ÉÒÔµ÷ÓÃCreateThreadº¯Êý£º
HANDLE CreateThread(
PSECURITY_ATTRIBUTES psa,
DWORD cbStackSize,
PTHREAD_START_ROUTINE pfnStartAddr,
PVOID pvParam,
DWORD dwCreateFlags,
PDWORD pdwThreadID);
ϵͳÔÚµ÷ÓÃCreateThreadʱ´´½¨Ò»¸öÏß³ÌÄں˶ÔÏó£¬Ïß³ÌÄں˶ÔÏó²¢·ÇÏ̱߳¾Éí£¬ËüÊDzÙ×÷ϵͳÓÃÀ´¹ÜÀíÏ̵߳ÄÊý¾Ý½á¹¹£¬ÆäÖаüº¬Ï̵߳Äͳ¼ÆÐÅÏ¢¡£ÕâÓë½ø³ÌºÍ½ø³ÌÄں˶ÔÏóµÄ¹ØÏµÊÇÀàËÆµÄ¡£
ϵͳ´Ó½ø³ÌµÄµØÖ·¿Õ¼äÖÐΪÏß³ÌÕ»·ÖÅä¿Õ¼ä¡£ÐµÄÏ̺߳ʹ´½¨ËüµÄÏß³ÌÔËÐÐÔÚͬÑùµÄ½ø³ÌÉÏÏÂÎÄÖУ¬Òò´ËÐÂÏ߳̿ÉÒÔ·ÃÎʽø³ÌµÄ¾ä±ú±í¡¢µØÖ·¿Õ¼äÒÔ¼°ÆäËü´¦ÔÚͬһ½ø³ÌÉÏÏÂÎÄÖеÄËùÓÐÏ̵߳ĶÑÕ»£¬ÕâʹµÃͬһ½ø³ÌÄڵĶà¸öÏß³ÌÏ໥ͨÐűäµÃ¼«Îª¼òµ¥¡£
×¢Òâ CreateThreadº¯ÊýÊÇÓÃÀ´´´½¨Ï̵߳ÄWindows APIº¯Êý¡£¼ÙÈçÄãʹÓÃC/C++´úÂë´´½¨ÐÂỊ̈߳¬ÄãÓ¦¸Ã±ÜÃâʹÓÃCreateThread£¬¶øÓÃ΢ÈíC++ÔËÐÐʱ¿âº¯Êý_beginthreadex´úÌæ¡£±¾ÕÂÉÔºó»á½²µ½_beginthreadexº¯Êý²¢½âÊÍÓÃËü´úÌæCreateThreadµÄÔÒò¡£
ÏÂÃæÎÒÃÇÀ´¿´¿´CreateThreadµÄ²ÎÊý¡£
psa
psaÊÇSECURITY_ATTRIBUTES½á¹¹µÄÖ¸Õë£ ......
Ò»¡¢¸ö¾¹ý±àÒëµÄC/C++µÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·Ö³ÉÒÔϼ¸¸ö²¿·Ö:
1¡¢Õ»Çø£¨stack£©£ºÓɱàÒëÆ÷×Ô¶¯·ÖÅäºÍÊÍ·Å £¬´æ·Åº¯ÊýµÄ²ÎÊýÖµ¡¢¾Ö²¿±äÁ¿µÄÖµµÈ£¬ÉõÖÁº¯ÊýµÄµ÷Óùý³Ì¶¼ÊÇÓÃÕ»À´Íê³É¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£
¡¡¡¡2¡¢¶ÑÇø£¨heap£© £ºÒ»°ãÓɳÌÐòÔ±ÊÖ¶¯ÉêÇëÒÔ¼°ÊÍ·Å£¬ Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿ÉÄÜÓÉOS»ØÊÕ ¡£×¢ÒâËüÓëÊý¾Ý½á¹¹ÖеĶÑÊÇÁ½»ØÊ£¬·ÖÅ䷽ʽÀàËÆÓÚÁ´±í¡£
¡¡¡¡3¡¢È«¾ÖÇø£¨¾²Ì¬Çø£©£¨static£©£ºÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿µÄ´æ´¢ÊÇ·ÅÔÚÒ»¿éµÄ£¬³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿ÔÚÒ»¿éÇøÓò£¬ δ³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍδ³õʼ»¯µÄ¾²Ì¬±äÁ¿ÔÚÏàÁÚµÄÁíÒ»¿éÇøÓò¡£³ÌÐò½áÊøºóÓÉϵͳÊͷſռ䡣
¡¡¡¡4¡¢ÎÄ×Ö³£Á¿Çø£º³£Á¿×Ö·û´®¾ÍÊÇ·ÅÔÚÕâÀïµÄ¡£ ³ÌÐò½áÊøºóÓÉϵͳÊͷſռ䡣
¡¡¡¡5¡¢³ÌÐò´úÂëÇø£º´æ·Åº¯ÊýÌåµÄ¶þ½øÖÆ´úÂë¡£
¡¡¡¡ÏÂÃæµÄÀý×Ó¿ÉÒÔÍêȫչʾ²»Í¬µÄ±äÁ¿ËùÕ¼µÄÄÚ´æÇøÓò£º
¡¡¡¡//main.cpp
¡¡¡¡int a = 0; È«¾Ö³õʼ»¯Çø
¡¡¡¡char *p1; È«¾Öδ³õʼ»¯Çø
¡¡¡¡main()
¡¡¡¡{
¡¡¡¡int b; //Õ»ÖÐ
¡¡¡¡char s[] = "abc"; //Õ»ÖÐ
¡¡¡¡char *p2; //Õ»ÖÐ
¡¡¡¡char ......
Ò»¡¢¸ö¾¹ý±àÒëµÄC/C++µÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·Ö³ÉÒÔϼ¸¸ö²¿·Ö:
1¡¢Õ»Çø£¨stack£©£ºÓɱàÒëÆ÷×Ô¶¯·ÖÅäºÍÊÍ·Å £¬´æ·Åº¯ÊýµÄ²ÎÊýÖµ¡¢¾Ö²¿±äÁ¿µÄÖµµÈ£¬ÉõÖÁº¯ÊýµÄµ÷Óùý³Ì¶¼ÊÇÓÃÕ»À´Íê³É¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£
¡¡¡¡2¡¢¶ÑÇø£¨heap£© £ºÒ»°ãÓɳÌÐòÔ±ÊÖ¶¯ÉêÇëÒÔ¼°ÊÍ·Å£¬ Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿ÉÄÜÓÉOS»ØÊÕ ¡£×¢ÒâËüÓëÊý¾Ý½á¹¹ÖеĶÑÊÇÁ½»ØÊ£¬·ÖÅ䷽ʽÀàËÆÓÚÁ´±í¡£
¡¡¡¡3¡¢È«¾ÖÇø£¨¾²Ì¬Çø£©£¨static£©£ºÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿µÄ´æ´¢ÊÇ·ÅÔÚÒ»¿éµÄ£¬³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿ÔÚÒ»¿éÇøÓò£¬ δ³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍδ³õʼ»¯µÄ¾²Ì¬±äÁ¿ÔÚÏàÁÚµÄÁíÒ»¿éÇøÓò¡£³ÌÐò½áÊøºóÓÉϵͳÊͷſռ䡣
¡¡¡¡4¡¢ÎÄ×Ö³£Á¿Çø£º³£Á¿×Ö·û´®¾ÍÊÇ·ÅÔÚÕâÀïµÄ¡£ ³ÌÐò½áÊøºóÓÉϵͳÊͷſռ䡣
¡¡¡¡5¡¢³ÌÐò´úÂëÇø£º´æ·Åº¯ÊýÌåµÄ¶þ½øÖÆ´úÂë¡£
¡¡¡¡ÏÂÃæµÄÀý×Ó¿ÉÒÔÍêȫչʾ²»Í¬µÄ±äÁ¿ËùÕ¼µÄÄÚ´æÇøÓò£º
¡¡¡¡//main.cpp
¡¡¡¡int a = 0; È«¾Ö³õʼ»¯Çø
¡¡¡¡char *p1; È«¾Öδ³õʼ»¯Çø
¡¡¡¡main()
¡¡¡¡{
¡¡¡¡int b; //Õ»ÖÐ
¡¡¡¡char s[] = "abc"; //Õ»ÖÐ
¡¡¡¡char *p2; //Õ»ÖÐ
¡¡¡¡char ......
֪ʶ½á¹¹:
1¡¢if,for,switch,goto
2¡¢#define,const
3¡¢Îļþ¿½±´µÄ´úÂë,¶¯Ì¬Éú³ÉÄÚ´æ,¸´ºÏ±í´ïʽ,strcpy,memcpy,sizeof
4¡¢º¯Êý²ÎÊý´«µÝ,ÄÚ´æ·ÖÅ䷽ʽ,ÄÚ´æ´íÎó±íÏÖ,mallocÓënewÇø±ð
5¡¢ÀàÖØÔØ¡¢Òþ²ØÓ븲¸ÇÇø±ð,externÎÊÌâ,º¯Êý²ÎÊýµÄȱʡֵÎÊÌâ,ºê´úÂëÓëÄÚÁªº¯ÊýÇø±ð
6¡¢¹¹ÔìºÍÎö¹¹µÄ´ÎÐò,Stringº¯Êý¶¨Òå
¾ßÌåʵÏÖ:
1¡¢if,for,switch,goto
if:
bool int float pointer char ±äÁ¿µÄʹÓ÷½·¨
bool bParam;
int iParam;
float fParam;
int* pParam;
char cParam;
if(bParam) ,if(!bParam);
if(iParam == 0 ),if(iParam != 0 );
if(fParam>= -0.00001 && fParam <= 0.00001);
if(pParam == NULL),if(pParam != NULL);
if(cParam == '\0'),if(cParam != '\0');
if/else/return µÄʹÓ÷½·¨
if(condition) ¿ÉÒԵȼÛΪ return (condition?x:y);
{
return x;
}
else
{
return y;
}
for:
Ö´ÐÐЧÂÊÎÊÌâ:
int row,col,sum;
int a[100][5];
for(row=0;row <100;row++) ЧÂʵÍÓÚ for(col=0;col <5;c ......
֪ʶ½á¹¹:
1¡¢if,for,switch,goto
2¡¢#define,const
3¡¢Îļþ¿½±´µÄ´úÂë,¶¯Ì¬Éú³ÉÄÚ´æ,¸´ºÏ±í´ïʽ,strcpy,memcpy,sizeof
4¡¢º¯Êý²ÎÊý´«µÝ,ÄÚ´æ·ÖÅ䷽ʽ,ÄÚ´æ´íÎó±íÏÖ,mallocÓënewÇø±ð
5¡¢ÀàÖØÔØ¡¢Òþ²ØÓ븲¸ÇÇø±ð,externÎÊÌâ,º¯Êý²ÎÊýµÄȱʡֵÎÊÌâ,ºê´úÂëÓëÄÚÁªº¯ÊýÇø±ð
6¡¢¹¹ÔìºÍÎö¹¹µÄ´ÎÐò,Stringº¯Êý¶¨Òå
¾ßÌåʵÏÖ:
1¡¢if,for,switch,goto
if:
bool int float pointer char ±äÁ¿µÄʹÓ÷½·¨
bool bParam;
int iParam;
float fParam;
int* pParam;
char cParam;
if(bParam) ,if(!bParam);
if(iParam == 0 ),if(iParam != 0 );
if(fParam>= -0.00001 && fParam <= 0.00001);
if(pParam == NULL),if(pParam != NULL);
if(cParam == '\0'),if(cParam != '\0');
if/else/return µÄʹÓ÷½·¨
if(condition) ¿ÉÒԵȼÛΪ return (condition?x:y);
{
return x;
}
else
{
return y;
}
for:
Ö´ÐÐЧÂÊÎÊÌâ:
int row,col,sum;
int a[100][5];
for(row=0;row <100;row++) ЧÂʵÍÓÚ for(col=0;col <5;c ......
C/C++ÊÇ×îÖ÷ÒªµÄ±à³ÌÓïÑÔ¡£ÕâÀïÁгöÁË50ÃûÓÅÐãÍøÕ¾ºÍÍøÒ³Çåµ¥£¬ÕâÐ©ÍøÕ¾Ìṩc/c++Ô´´úÂë ¡£Õâ·ÝÇåµ¥ÌṩÁËÔ´´úÂëµÄÁ´½ÓÒÔ¼°ËüÃǵÄС˵Ã÷¡£ÎÒÒѾ¡Á¦°üÀ¨×î¼ÑµÄC/C++Ô´´úÂëµÄÍøÕ¾¡£Õâ²»ÊÇÒ»¸öÍêÕûµÄÇåµ¥£¬ÄúÓн¨Òé¿ÉÒÔÁªÏµÎÒ£¬ÎÒ½«»¶ÓÄúµÄ½¨ Ò飬ÒÔ½øÒ»²½¼ÓÇ¿Õâ·½ÃæµÄÇåµ¥¡£
1¡¢http://snippets.dzone.com/tag/c/ --ÊýÒÔǧ¼ÆµÄÓÐÓõÄCÓïÑÔÔ´´úÂëÆ¬¶Î
2¡¢http://www.hotscripts.com/category/c-cpp/scripts-programs/ Hotscripts --ÌṩÊýÒ԰ټƵÄCºÍC++½Å±¾ºÍ³ÌÐò¡£ËùÓгÌÐò¶¼·ÖΪ²»Í¬µÄÀà±ð¡£
3¡¢http://www.planetsourcecode.com/vb/default.asp?lngWId=3 --³¬¹ýÍòÐÐCºÍC++Ãâ·ÑµÄÔ´´úÂë
4¡¢http://freshmeat.net/browse/164/ --³¬¹ý9000¸öC±àдµÄÏîÄ¿¡£
5¡¢http://www.daniweb.com/code/c.html --DANIWEBÌṩµÄʵÓôúÂë¶Î ¡£
6¡¢http://www.programmersheaven.com/tags/C/ --programmersheaven.comÉϵÄC±à³Ì×ÊÔ´¡£
7¡¢http://www.ddj.com/code/ddj.html --Dr. Dobb’s JournalµÄÔ´´úÂë¡£
8¡¢http://www.cprogramming.com/cgi-bin/source/source.cgi --CºÍC + +±à³Ì×ÊÔ´¡£
9¡¢http://www.codecogs.com/ --CodeCogsÊÇÒ»ÏîÐ×÷µÄ¿ª·ÅÔ´Âë¿â£¬C/C++µÄÊýÖµ ......
C/C++ÊÇ×îÖ÷ÒªµÄ±à³ÌÓïÑÔ¡£ÕâÀïÁгöÁË50ÃûÓÅÐãÍøÕ¾ºÍÍøÒ³Çåµ¥£¬ÕâÐ©ÍøÕ¾Ìṩc/c++Ô´´úÂë ¡£Õâ·ÝÇåµ¥ÌṩÁËÔ´´úÂëµÄÁ´½ÓÒÔ¼°ËüÃǵÄС˵Ã÷¡£ÎÒÒѾ¡Á¦°üÀ¨×î¼ÑµÄC/C++Ô´´úÂëµÄÍøÕ¾¡£Õâ²»ÊÇÒ»¸öÍêÕûµÄÇåµ¥£¬ÄúÓн¨Òé¿ÉÒÔÁªÏµÎÒ£¬ÎÒ½«»¶ÓÄúµÄ½¨ Ò飬ÒÔ½øÒ»²½¼ÓÇ¿Õâ·½ÃæµÄÇåµ¥¡£
1¡¢http://snippets.dzone.com/tag/c/ --ÊýÒÔǧ¼ÆµÄÓÐÓõÄCÓïÑÔÔ´´úÂëÆ¬¶Î
2¡¢http://www.hotscripts.com/category/c-cpp/scripts-programs/ Hotscripts --ÌṩÊýÒ԰ټƵÄCºÍC++½Å±¾ºÍ³ÌÐò¡£ËùÓгÌÐò¶¼·ÖΪ²»Í¬µÄÀà±ð¡£
3¡¢http://www.planetsourcecode.com/vb/default.asp?lngWId=3 --³¬¹ýÍòÐÐCºÍC++Ãâ·ÑµÄÔ´´úÂë
4¡¢http://freshmeat.net/browse/164/ --³¬¹ý9000¸öC±àдµÄÏîÄ¿¡£
5¡¢http://www.daniweb.com/code/c.html --DANIWEBÌṩµÄʵÓôúÂë¶Î ¡£
6¡¢http://www.programmersheaven.com/tags/C/ --programmersheaven.comÉϵÄC±à³Ì×ÊÔ´¡£
7¡¢http://www.ddj.com/code/ddj.html --Dr. Dobb’s JournalµÄÔ´´úÂë¡£
8¡¢http://www.cprogramming.com/cgi-bin/source/source.cgi --CºÍC + +±à³Ì×ÊÔ´¡£
9¡¢http://www.codecogs.com/ --CodeCogsÊÇÒ»ÏîÐ×÷µÄ¿ª·ÅÔ´Âë¿â£¬C/C++µÄÊýÖµ ......
ÔÚC/C++ÖУ¬ÄÚ´æÖÐÊý¾Ý´æ´¢·Ö³É4¸öÇø£¬·Ö±ðÊǶѡ¢Õ»¡¢È«¾Ö/¾²Ì¬´æ´¢ÇøºÍ³£Á¿´æ´¢Çø¡£
Õ»(stack)£¬¾ÍÊÇÄÇЩÓɱàÒëÆ÷ÔÚÐèÒªµÄʱºò·ÖÅ䣬ÔÚ²»ÐèÒªµÄʱºò×Ô¶¯Çå³ýµÄ±äÁ¿µÄ´æ´¢Çø¡£ÀïÃæµÄ±äÁ¿Í¨³£ÊǾֲ¿±äÁ¿¡¢º¯Êý²ÎÊýµÈ¡£
¶Ñ(heap)£¬Ò»°ãÓɳÌÐòÔ±·ÖÅäÊÍ·Å£¬Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿ÉÄÜÓÉOS»ØÊÕ¡£
È«¾Ö/¾²Ì¬´æ´¢Çø£¬È«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿±»·ÖÅ䵽ͬһ¿éÄÚ´æÖУ¬ÔÚÒÔǰµÄCÓïÑÔÖУ¬È«¾Ö±äÁ¿ÓÖ·ÖΪ³õʼ»¯µÄ(DATA¶Î)ºÍδ³õʼ»¯µÄ(BSS¶Î)£¬ÔÚC++ÀïÃæÃ»ÓÐÕâ¸öÇø·ÖÁË£¬ËüÃǹ²Í¬Õ¼ÓÃͬһ¿éÄÚ´æÇø¡£
³£Á¿´æ´¢Çø£¬³£Á¿×Ö·û´®¾ÍÊÇ·ÅÔÚÕâÀïµÄ£¬²»ÔÊÐíÐÞ¸Ä(ͨ¹ý·ÇÕýµ±ÊÖ¶ÎÒ²¿ÉÒÔÐ޸쬶øÇÒ·½·¨ºÜ¶à)£¬³ÌÐò½áÊøºóÓÉϵͳÊÍ·Å¡£
|----------------------|
| ÄÚºËÐéÄâ´æ´¢Æ÷ |
|----------------------|
| Óû§Õ»(Statk) |
|----------------------|
| | &nb ......
ÔÚC/C++ÖУ¬ÄÚ´æÖÐÊý¾Ý´æ´¢·Ö³É4¸öÇø£¬·Ö±ðÊǶѡ¢Õ»¡¢È«¾Ö/¾²Ì¬´æ´¢ÇøºÍ³£Á¿´æ´¢Çø¡£
Õ»(stack)£¬¾ÍÊÇÄÇЩÓɱàÒëÆ÷ÔÚÐèÒªµÄʱºò·ÖÅ䣬ÔÚ²»ÐèÒªµÄʱºò×Ô¶¯Çå³ýµÄ±äÁ¿µÄ´æ´¢Çø¡£ÀïÃæµÄ±äÁ¿Í¨³£ÊǾֲ¿±äÁ¿¡¢º¯Êý²ÎÊýµÈ¡£
¶Ñ(heap)£¬Ò»°ãÓɳÌÐòÔ±·ÖÅäÊÍ·Å£¬Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿ÉÄÜÓÉOS»ØÊÕ¡£
È«¾Ö/¾²Ì¬´æ´¢Çø£¬È«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿±»·ÖÅ䵽ͬһ¿éÄÚ´æÖУ¬ÔÚÒÔǰµÄCÓïÑÔÖУ¬È«¾Ö±äÁ¿ÓÖ·ÖΪ³õʼ»¯µÄ(DATA¶Î)ºÍδ³õʼ»¯µÄ(BSS¶Î)£¬ÔÚC++ÀïÃæÃ»ÓÐÕâ¸öÇø·ÖÁË£¬ËüÃǹ²Í¬Õ¼ÓÃͬһ¿éÄÚ´æÇø¡£
³£Á¿´æ´¢Çø£¬³£Á¿×Ö·û´®¾ÍÊÇ·ÅÔÚÕâÀïµÄ£¬²»ÔÊÐíÐÞ¸Ä(ͨ¹ý·ÇÕýµ±ÊÖ¶ÎÒ²¿ÉÒÔÐ޸쬶øÇÒ·½·¨ºÜ¶à)£¬³ÌÐò½áÊøºóÓÉϵͳÊÍ·Å¡£
|----------------------|
| ÄÚºËÐéÄâ´æ´¢Æ÷ |
|----------------------|
| Óû§Õ»(Statk) |
|----------------------|
| | &nb ......