cÁ¬½Ó·û
cÓïÑԺ궨ÒåµÄÁ¬½Ó·ûÓÐÄÄЩ
[´ËÎÊÌâµÄÍÆ¼ö´ð°¸]
(Ò»)ºê¶¨ÒåÖеÄ## Á¬½Ó·ûÓë# ·û
## Á¬½Ó·ûºÅÓÉÁ½¸ö¾®ºÅ×é³É£¬Æä¹¦ÄÜÊÇÔÚ´ø²ÎÊýµÄºê¶¨ÒåÖн«Á½¸ö×Ó´®(token)Áª½ÓÆðÀ´£¬´Ó¶øÐγÉÒ»¸öеÄ×Ó´®¡£µ«Ëü²»¿ÉÒÔÊǵÚÒ»¸ö»òÕß×îºóÒ»¸ö×Ó´®¡£ËùνµÄ×Ó´®(token)¾ÍÊÇÖ¸±àÒëÆ÷Äܹ»Ê¶±ðµÄ×îСÓï·¨µ¥Ôª¡£¾ßÌåµÄ¶¨ÒåÔÚ±àÒëÔÀíÀïÓÐÏ꾡µÄ½âÊÍ£¬µ«²»ÖªµÀÒ²ÎÞËùν¡£Í¬Ê±ÖµµÃ×¢ÒâµÄÊÇ#·ûÊǰѴ«µÝ¹ýÀ´µÄ²ÎÊýµ±³É×Ö·û´®½øÐÐÌæ´ú¡£ÏÂÃæÀ´¿´¿´ËüÃÇÊÇÔõÑù¹¤×÷µÄ¡£ÕâÊÇMSDNÉϵÄÒ»¸öÀý×Ó¡£
¼ÙÉè³ÌÐòÖÐÒѾ¶¨ÒåÁËÕâÑùÒ»¸ö´ø²ÎÊýµÄºê£º
#define paster( n ) printf( "token" #n " = %d", token##n )
ͬʱÓÖ¶¨ÒåÁËÒ»¸öÕûÐαäÁ¿£º
int token9 = 9;
ÏÖÔÚÔÚÖ÷³ÌÐòÖÐÒÔÏÂÃæµÄ·½Ê½µ÷ÓÃÕâ¸öºê£º
paster( 9 );
ÄÇôÔÚ±àÒëʱ£¬ÉÏÃæµÄÕâ¾ä»°±»À©Õ¹Îª£º
printf( "token" "9" " = %d", token9 );
×¢Òâµ½ÔÚÕâ¸öÀý×ÓÖУ¬paster(9);ÖеÄÕâ¸ö”9”±»Ô·â²»¶¯µÄµ±³ÉÁËÒ»¸ö×Ö·û´®£¬Óë”token”Á¬½ÓÔÚÁËÒ»Æð£¬´Ó¶ø³ÉΪÁËtoken9¡£¶ø#nÒ²±»”9”ËùÌæ´ú¡£
¿ÉÏë¶øÖª£¬ÉÏÃæ³ÌÐòÔËÐеĽá¹û¾ÍÊÇÔÚÆÁÄ»ÉÏ´òÓ¡³ötoken9=9
(¶þ)"\"ÓëÒ»¸ö½Ï³¤Õ¼¶àÐеĺê
ºê¶¨ÒåÖÐÔÊÐí°üº¬Á½ÐÐÒÔÉÏÃüÁîµÄÇéÐΣ¬´Ëʱ±ØÐëÔÚ×îÓұ߼ÓÉÏ"\"ÇÒ¸ÃÐÐ"\"ºó²»ÄÜÔÙÓÐÈκÎ×Ö·û£¬Á¬×¢ÊͲ¿·Ö¶¼²»ÄÜÓУ¬ÏÂÃæµÄÿÐÐ×îºóµÄÒ»¶¨ÒªÊÇ"\","\"ºóÃæ¼ÓÒ»¸ö¿Õ¸ñ¶¼»á±¨´í£¬¸ü²»Äܸú×¢ÊÍ¡£
#define exchange(a,b) {\
int t;\
t=a;\
a=b;\
b=t;\
}
¾³£Ê¹ÓÃ_T()ºê,ËüÊÇÔõôÀ´µÄ?ÓÃVA¿´ÁËÒ»ÏÂ,ÔÀ´_TÊÇ__T
#define _T(x) __T(x)
ÔÙ¿´¿´__T
ÔÚtchar.hÖÐ
#ifdef _UNICODE
#define __T(x) L ## x
#else
#define __T(x) x
#endif
ÄÇô,Õâ¸ö##ÊÇÊ²Ã´ÄØ?ÔÀ´ËüÊÇÒ»¸öÁ¬½Ó·û,½«##×óÓÒÁ½±ßµÄ±í´ïʽÁ¬½Ó³ÉÒ»¸ö.±ÈÈç,ÔÚ_UNICODE»·¾³ÏÂ,
_T(“Unicode“) == L“Unicode“
²»¹ýÐèҪעÒâµÄÊÇ,ºêÊÇÓɱàÒëÆ÷ÔÚ±àÒë½×¶Îʶ±ðµÄ,ËùÒÔ²»ÄÜÖ¸Íû³ÌÐòÔËÐÐʱÆðµ½Á¬½Ó×÷ÓÃ.±ÈÈç:
int A0, A1, A2, A3;
for (int i = 0; i < 4; i++)
{
A##i = i;
}
ÕâÖÖ´úÂë¾ÍÎÞ·¨±àÒëÁË.
±¾ÎÄÀ´×ÔCSDN²©¿Í£¬×ªÔØÇë±êÃ÷³ö´¦£ºhttp://blog.csdn.net/faithmy509/archive/2009/02/20/3914026.aspx
Ïà¹ØÎĵµ£º
setitimer()ΪLinuxµÄAPI£¬²¢·ÇCÓïÑÔµÄStandard Library£¬setitimer()ÓÐÁ½¸ö¹¦ÄÜ£¬Ò»ÊÇÖ¸¶¨Ò»¶Îʱ¼äºó£¬²ÅÖ´ÐÐij¸öfunction£¬¶þÊÇÿ¼ä¸ñÒ»¶Îʱ¼ä¾ÍÖ´ÐÐij¸öfunction£¬ÒÔϳÌÐòdemoÈçºÎʹÓÃsetitimer()¡£
/*
......
C/C++ÖÐStaticµÄ×÷ÓÃÏêÊö
http://developer.51cto.com 2008-12-29 09:52 ØýÃû ÖйúITʵÑéÊÒ ÎÒÒªÆÀÂÛ(0)
CÓïÑÔÖУ¬staticµÄ×ÖÃæÒâ˼ºÜÈÝÒ×°ÑÎÒÃǵ¼ÈëÆç;¡£±¾ÎĽ«¶ÔC/C++ÖÐStatic½øÐÐÏêÊö¡£
1.ÏÈÀ´½éÉÜËüµÄµÚÒ»ÌõÒ²ÊÇ×îÖØÒªµÄÒ»Ìõ£ºÒþ²Ø¡£
µ±ÎÒÃÇͬʱ±àÒë¶à¸öÎļþʱ£¬ËùÓÐδ¼Óstaticǰ׺µÄÈ ......
×î½ü¾³£¿´µ½ÍøÓÑÃDZ§Ô¹ÓÉÓÚ²Ù×÷²»µ±£¬Ê¹ÓÃGHOST»Ö¸´ÏµÍ³ºó·ÖÇø²»¼ûÁË£¬»úÒ²ËÀÁË£¬¼¸ÄêÐÁÐÁ¿à¿àÊղصĶ«¶«Ò²²»¼ûÁË£¬¼¸ºõÌìÌì¶¼ÓÐÈËÉÏÍøÇóÖú£¬¸ßÊÖ´óÏÀÃÇÕûÌìæÓÚвúÆ·µÄ¿ª·¢£¬²»¿ÉÄÜÓиü¶àʱ¼ä¼°Ê±Ò»Ò»½â´ðÍøÓÑÃǵÄËùÌá³öµÄÎÊÌ⣬Òò´ËÎÒÔÚÍøÉÏ¿´µ½ÁËÕâ¸öÈí¼þ,ÏÖÍÆ¼ö¸ø´ó¼ÒʹÓÃ.
ÒÔÏÂÊÇÒ»¸ö¸ßÊֵĴ¦ÀíÕâÀàʹʵľ¹ý
&nb ......
º¯ÊýÊdzÌÐòµÄÖ´ÐÐÄ£¿é£¬ÊÇÕû¸öÏîÄ¿µÄϸ°û£¬ÈçºÎ×éÖ¯ºÃÿһ¸öº¯ÊýµÄ½á¹¹£¬ÈçºÎÌá¸ß³ÌÐòµÄ¿É¶ÁÐÔºÍÔËÐÐЧÂÊ£¬ÊdzÌÐòÔ±ÃDz»¶ÏƷζµÄÖ÷Ìå¡£ÓÐʱº¯ÊýµÄÉè¼ÆÄÜÖ±½ÓÌåÏÖ³ö³ÌÐòÔ±¶ÔC/C++µÄÀí½âºÍ¸ÐÎò¡£
C/C++µÄº¯ÊýÀàÐͲ»¶ÔÍâºõÒÔϼ¸ÖÖ£¬ÓÐЩÃèÊö¿ÉÄܲ»Ì«ÌùÇУº
......
SelectÔÚSocket±à³ÌÖл¹ÊDZȽÏÖØÒªµÄ£¬¿ÉÊǶÔÓÚ³õѧSocketµÄÈËÀ´Ëµ¶¼²»Ì«°®ÓÃSelectд³ÌÐò£¬ËûÃÇÖ»ÊÇϰ¹ßдÖîÈç connect¡¢accept¡¢recv»òrecvfromÕâÑùµÄ×èÈû³ÌÐò£¨Ëùν×èÈû·½Ê½block£¬¹ËÃû˼Ò壬¾ÍÊǽø³Ì»òÊÇÏß³ÌÖ´Ðе½ÕâЩº¯Êýʱ±ØÐëµÈ
´ýij¸öʼþµÄ·¢Éú£¬Èç¹ûʼþûÓз¢Éú£¬½ø³Ì»òÏ߳̾ͱ»×èÈû£¬º¯Êý²»ÄÜÁ¢¼´·µ» ......