¹ØÓÚ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
Ïà¹ØÎĵµ£º
ÏÂÃæÕâ¸ö³ÌÐòÊä³öʲô£¿
enum {false,true};
int main()
{
int i=1;
do
{
printf("%d\n",i);
i++;
if(i < 15)
continue;
}while(false);
return 0;
}
ÄãÏàÐÅô£¿ÏÂà ......
±¾ÎĵÄд×÷Ä¿µÄ²¢²»ÔÚÓÚÌṩC/C++³ÌÐòÔ±ÇóÖ°ÃæÊÔÖ¸µ¼£¬¶øÖ¼ÔÚ´Ó¼¼ÊõÉÏ·ÖÎöÃæÊÔÌâµÄÄÚº¡£ÎÄÖеĴó¶àÊýÃæÊÔÌâÀ´×Ô¸÷´óÂÛ̳£¬²¿·ÖÊÔÌâ½â´ðÒ²²Î¿¼ÁËÍøÓѵÄÒâ¼û¡£
¡¡¡¡Ðí¶àÃæÊÔÌâ¿´ËÆ¼òµ¥£¬È´ÐèÒªÉîºñµÄ»ù±¾¹¦²ÅÄܸø³öÍêÃÀµÄ½â´ð¡£ÆóÒµÒªÇóÃæÊÔÕßдһ¸ö×î¼òµ¥µÄstrcpyº¯Êý¶¼¿É¿´³öÃæÊÔÕßÔÚ¼¼ÊõÉϾ¿¾¹´ïµ½ÁËÔõÑùµÄ³Ì¶È£¬Î ......
//linuxϱàÒëg++ $(mysql_config --cflags) ***.cpp $(mysql_config --libs)
/*mysqlÊý¾Ý¿âÖбíµÄÄÚÈÝ
mysql> select * from maindb;
+------------------+---------+-------------+---------+----------+---------------------+---------------------+---------------------+------------------- ......