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

¹ØÓÚcÖÐvolatile¹Ø¼ü×Ö£¨×ªÌù£©

 Ò»¸ö¶¨ÒåΪvolatileµÄ±äÁ¿ÊÇ˵Õâ±äÁ¿¿ÉÄܻᱻÒâÏë²»µ½µØ¸Ä±ä£¬ÕâÑù£¬±àÒëÆ÷¾Í²»»áÈ¥¼ÙÉèÕâ¸ö±äÁ¿µÄÖµÁË¡£¾«È·µØËµ¾ÍÊÇ£¬ÓÅ»¯Æ÷ÔÚÓõ½Õâ¸ö±äÁ¿Ê±±ØÐëÿ´Î¶¼Ð¡ÐĵØÖØÐ¶ÁÈ¡Õâ¸ö±äÁ¿µÄÖµ£¬¶ø²»ÊÇʹÓñ£´æÔڼĴæÆ÷ÀïµÄ±¸·Ý¡£ÏÂÃæÊÇvolatile±äÁ¿µÄ¼¸¸öÀý×Ó£º
    1). ²¢ÐÐÉ豸µÄÓ²¼þ¼Ä´æÆ÷£¨È磺״̬¼Ä´æÆ÷£©
    2). Ò»¸öÖжϷþÎñ×Ó³ÌÐòÖлá·ÃÎʵ½µÄ·Ç×Ô¶¯±äÁ¿(Non-automatic variables)
    3). ¶àÏß³ÌÓ¦ÓÃÖб»¼¸¸öÈÎÎñ¹²ÏíµÄ±äÁ¿
    »Ø´ð²»³öÕâ¸öÎÊÌâµÄÈËÊDz»»á±»¹ÍÓ¶µÄ¡£ÎÒÈÏΪÕâÊÇÇø·ÖC³ÌÐòÔ±ºÍǶÈëʽϵͳ³ÌÐòÔ±µÄ×î»ù±¾µÄÎÊÌ⡣ǶÈëʽϵͳ³ÌÐòÔ±¾­³£Í¬Ó²¼þ¡¢Öжϡ¢RTOSµÈµÈ´ò½»µÀ£¬ËùÓÃÕâЩ¶¼ÒªÇóvolatile±äÁ¿¡£²»¶®µÃvolatileÄÚÈݽ«»á´øÀ´ÔÖÄÑ¡£
    ¼ÙÉè±»ÃæÊÔÕßÕýÈ·µØ»Ø´ðÁËÕâÊÇÎÊÌ⣨àÅ£¬»³ÒÉÕâ·ñ»áÊÇÕâÑù£©£¬ÎÒ½«ÉÔ΢ÉһÏ£¬¿´Ò»ÏÂÕâ¼Ò»ïÊDz»ÊÇÖ±Õý¶®µÃvolatileÍêÈ«µÄÖØÒªÐÔ¡£
    1). Ò»¸ö²ÎÊý¼È¿ÉÒÔÊÇconst»¹¿ÉÒÔÊÇvolatileÂ𣿽âÊÍΪʲô¡£
    2). Ò»¸öÖ¸Õë¿ÉÒÔÊÇvolatile Â𣿽âÊÍΪʲô¡£
    3). ÏÂÃæµÄº¯ÊýÓÐʲô´íÎó£º
         int square(volatile int *ptr)
         {
              return *ptr * *ptr;
         }
    ÏÂÃæÊǴ𰸣º
    1). Êǵġ£Ò»¸öÀý×ÓÊÇÖ»¶ÁµÄ״̬¼Ä´æÆ÷¡£ËüÊÇvolatileÒòΪËü¿ÉÄܱ»ÒâÏë²»µ½µØ¸Ä±ä¡£ËüÊÇconstÒòΪ³ÌÐò²»Ó¦¸ÃÊÔͼȥÐÞ¸ÄËü¡£
    2). Êǵġ£¾¡¹ÜÕâ²¢²»ºÜ³£¼û¡£Ò»¸öÀý×ÓÊǵ±Ò»¸öÖзþÎñ×Ó³ÌÐòÐÞ¸ÃÒ»¸öÖ¸ÏòÒ»¸öbufferµÄÖ¸Õëʱ¡£
    3). Õâ¶Î´úÂëµÄÓиö¶ñ×÷¾ç¡£Õâ¶Î´úÂëµÄÄ¿µÄÊÇÓÃÀ´·µÖ¸Õë*ptrÖ¸ÏòÖµµÄƽ·½£¬µ«ÊÇ£¬ÓÉÓÚ*ptrÖ¸ÏòÒ»¸övolatileÐͲÎÊý£¬±àÒëÆ÷½«²úÉúÀàËÆÏÂÃæµÄ´úÂ룺
    int square(volatile int *ptr)
    {
         int a,b;
         a = *ptr;
         b = *ptr;
   &nbs


Ïà¹ØÎĵµ£º

[ÊÕ²Ø]C/C++Êý×éÃûÓëÖ¸ÕëÇø±ðÉî²ã̽Ë÷

¸ù±¾Ô­ÒòÔÚÓë×óÖµºÍÓÒÖµ
char a[10]=“hello”;
sizeof(a);//Êý×éÃû×ö×óÖµ£¬¾ßÓÐÊý×éÃûµÄÊôÐÔ£¬ÊÇÒ»¸öÖ¸ÏòÊý×éÊ×µØÖ·µÄ³£Á¿Ö¸Õë
strcpy(a,"abc");//Êý×éÃû×öÓÒÖµ£¬ÍË»¯ÎªÆÕͨµÄÖ¸Õë
Ô­ÎÄÁ´½Ó£º
 http://hi.baidu.com/%D2%C0%BD%A3%D0%F9/blog/item/7bbf36966c92f36a54fb9663.html
×÷ÕߣºËᦻª e ......

C/C++ Newbie's FAQ

 
Part I ÈçºÎÉÏ·
1. vi, vimÊDZàÒëÆ÷ô£¿
vi means visual editor£¬ÊÇÈí¼þÊÀ½çµÚÒ»¸öÈ«ÆÁÄ»±à¼­Æ÷£¬×î³õµÄ×÷ÕßÊÇÏÖÔÚSun microsystemµÄBill Joy¡£
vim means Vi IMproved£¬¿ÉÒÔ¿´×÷ÊÇÔöÇ¿µÄvi¡£
ºÜ²»ÐÒ£¬ËûÃǶ¼²»ÊDZàÒëÆ÷£¬Èç¹ûÄãÒѾ­Ð´ºÃÁËfirst.c£¬ÄÇô²»ÄÜÖ¸ÍûviÃǽ«ÄãµÄÔ´´úÂë±ä³ÉÖ´ÐгÌÐò¡£
2. gcc, ......

CÌâÄ¿3

1. ÓÃÔ¤´¦ÀíÖ¸Áî#define ÉùÃ÷Ò»¸ö³£Êý£¬ÓÃÒÔ±íÃ÷1ÄêÖÐÓжàÉÙÃ루ºöÂÔÈòÄêÎÊÌ⣩
#define SECONDS_PER_YEAR   (60 * 60 * 24 * 365)UL
ÎÒÔÚÕâÏë¿´µ½¼¸¼þÊÂÇ飺
     1). #define Óï·¨µÄ»ù±¾ÖªÊ¶£¨ÀýÈ磺²»ÄÜÒԷֺŽáÊø£¬À¨ºÅµÄʹÓ㬵ȵȣ©
     2). ¶®µÃÔ¤´¦ÀíÆ÷½«Î ......

C/C++/VC++ ±äÁ¿ÃüÃû¹æÔò

C/C++/VC++ ±äÁ¿ÃüÃû¹æÔò
ÊÇVC++µÄô£¿
4.±äÁ¿·ç¸ñ
±äÁ¿¾¡Á¿²ÉÓÃÐÙÑÀÀûÃüÃû·¨£¬Í¬Ê±½áºÏVCµÄÔ­Ôò£»Ò»°ãÇé¿öÏ£¬±äÁ¿µÄÈ¡Ãû·½Ê½Îª£º
<scope><prefix><qualifier>
ÓйØÏîÄ¿µÄÈ«¾Ö±äÁ¿±ØÐëÓÃg_¿ªÊ¼£¬Àà³ÉÔ±±äÁ¿ÓÃm_£¬¾Ö²¿±äÁ¿Èôº¯Êý½Ï´óÔò¿É¿¼ÂÇÓÃl_ÓÃÒÔÏÔʾ˵Ã÷ÆäÊǾֲ¿±äÁ¿¡£
ǰ׺
ÀàÐÍ
ʾÀý
g_ ......

CºÍC£«£«»ìºÏ±à³ÌÏà¹ØÎÊÌâ½â¾ö·½·¨

Ò» £º½â¾öC»òC++ÖеÄmultiple definition ofÎÊÌâ
server.cpp
clientp2p.cpp
#include "exception.h"
#include "clientp2p.h"
clientp2p.h
ÖÐдÓÐËùÓеÄÈ«¾Ö±äÁ¿¼°Æä³õʼ»¯Öµ
ºÍº¯ÊýÉùÃ÷
1.server.cppÖУº
ÒýÓÃ
£º
#include "clientp2p.h"
int Main(....)
{
...
}
2.clientp ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ