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

¹ØÓÚCµÄ˼¿¼


¹ØÓÚCµÄ˼¿¼
Cong Wang
May, 2006
Network Engineering Department
Institute of Post and Telecommunications, Xi'an, P.R.China
ÒýÑÔ
    CÓïÑÔ½áºÏÁË»ã±àµÄËùÓÐÍþÁ¦£¬ËüµÄ³éÏó³Ì¶ÈÅöÇɼÈÂú×ãÁ˳ÌÐòÔ±µÄÒªÇó, ÓÖÈÝÒ×ʵÏÖ¡£ÒòÆä¶ÀÌØµÄÁé»îÐÔºÍÇ¿´óµÄ¿ÉÒÆÖ²ÐÔ£¬ÏµÍ³³ÌÐòÔ±ºÍºÚ¿ÍÃǸüÊǶÔËüÖÓ°®Óмӡ£ÎÞÒÉ£¬CÓïÑÔ»ñµÃÁË¿ÕǰµÄ³É¹¦£¬ÔÚijÖ̶ֳÈÉÏÉõÖÁ±ÈUNIX»¹Òª³É¹¦¡£È»¶ø£¬“CÓïÑÔ¾ÍÏñÒ»°Ñ¿Ìµ¶£¬¼òµ¥£¬·æÀû£¬²¢ÇÒÔÚ¼¼Ê¦ÊÖÖзdz£ÓÐÓ᣺ÍÈκηæÀûµÄ¹¤¾ßÒ»Ñù£¬C»áÉ˵½ÄÇЩ²»ÄܼÝÔ¦ËüµÄÈË¡£” [8]CÓïÑÔÁé»îÐԵı³ºó£¬ÓÐןܶàµÄҪעÒâºÍ±ÜÃâµÄµØ·½£¬Ò»²»Ð¡ÐÄÄã¾Í»áÏÝÈëbugµÄÄà̶¡£ËùÒÔÒ²ÎÞ¹ÖºõÖ»ÓÐCÓïÑÔ²ÅÓÐÏñ¡¶The C Puzzle Book¡·£¬¡¶Obfuscated C and Other Mysteries¡·£¬¡¶C Traps and Pitfalls¡·Ö®ÀàµÄÊé¡£ÏÂÃæµÄÎÄÕ²»ÊǶÔÄÇЩÊéÖÐÌáµ½µÄÎÊÌâµÄÖØ¸´£¬¶øÊÇ¶ÔÆäËüһЩϸСµÄµØ·½ºÍ²¿·ÖC¿âº¯Êý½øÐÐÌÖÂÛ¡£ ´ó²¿·Ö¶¼»á¼¯Öе½±ê×¼CÉÏ£¬²Î¿¼µÄ±ê×¼ÊÇISO C99£¬Ò»Ð¡²¿·Ö¿ÉÄÜ»áÉæ¼°µ½¾ßÌåÆ½Ì¨¡£
Ò». sizeofÓëreturn
    sizeof²»ÊǺ¯Êý£¬¶øÊÇÒ»Ôª²Ù×÷·û£¬Ã»±ØÒª¸øËüºóÃæµÄ±í´ïʽ¼ÓÀ¨ºÅ¡£µ«Èç¹û¼ÆËãµÄÊÇÒ»ÖÖÀàÐ͵ĴóС£¬sizeof¾ÍÐèÒª¼ÓÒ»¸öÔ²À¨ºÅ£¬µ«Õâ²»ÊÇ˵ËüÊÇÒ»¸öº¯Êý¡£ return²»ÊǺ¯Êý£¬¶øÖ»Êǹؼü×Ö£¬Ò²²»ÐèÒªÔ²À¨ºÅ¡£»¹ÒªÌرð×¢ÒâµÄÊÇsizeof²Ù×÷·û“·µ»Ø”µÄÊÇÎÞ·ûºÅÕûÊý£¨size_t£©£¬Èç¹û°ÑËüµÄ“·µ»ØÖµ”ºÍÒ»¸öintÀàÐͱȽϣ¬ÏÈÒª°ÑËüת»¯³ÉÓзûºÅÕûÊý¡£ÁíÍ⣬Unixϵͳµ÷ÓÃread/writeµÄ·µ»ØÀàÐÍÊÇssize_t£¬¶ø²»ÊÇsize_t¡£ ssize_t´ú±ísigned size¡£
¶þ. 0.0,¡¡0,¡¡'\0' vs NULL£¬NUL
    NULL±íʾµÄÊÇ¿ÕÖ¸Õ룬ËüºÍÈκηǿÕÖ¸ÕëÖµ¶¼²»ÏàµÈ¡£¶øNUL¾ÍÊÇ'\0'£¬±íʾµÄÊÇֵΪ0µÄ¿Õ×Ö·û¡£ËäÈ»0.0, 0, '\0', NULL¶¼ÊÇÍêÈ«ÓÉ0±ÈÌØ×é³É,µ«ÊÇËüÃǵij¤¶È²»Í¬¡£0.0ÊÇË«¾«¶È£¬Í¨³£ÊÇ8¸ö×Ö½Ú£»'\0'ÊÇ×Ö·û³£Á¿£¬Í¨³£Ö»ÓÐ1¸ö×Ö½Ú£»NULL±íʾ¿ÕÖ¸Õ룬ËüµÄ³¤¶ÈÓÉϵͳ¾ö¶¨£¬Ò²¾ÍÊÇϵͳÖд¢´æÒ»¸öÄÚ´æµØÖ·ËùÐèµÄ×Ö½ÚÊý£»0±íʾÕûÊý,Ò»°ãÊÇ4¸ö×Ö½Ú¡£ËüÃǵÄÀàÐͲ»Í¬£¬ÔÚÓÃËüÃǸø±äÁ¿¸³ÖµÊ±Ó¦¸ÃСÐÄ£¬ÓбØÒªÊ±½øÐÐÇ¿ÖÆ×ª»»¡£×¢Ò⣺CÓïÑÔ²»±£Ö¤char×ÜÊÇ8¸ö±ÈÌØ£¬Ò²ÓÐ7¸ö»ò9¸ö±ÈÌØµÄ×Ö·û£¡ËäȻûÓй涨shortÊÇ16¸ö±ÈÌØ£¬intÊÇ32¸ö±ÈÌØ£¬µ«ÊÇÔÚĿǰµÄËùÓй¹¼ÜÉ϶¼ÊÇÈç´Ë¡£ long²¢²»×ܺÍintÒ»Ö£¬ËüÓë»úÆ÷×Ö³¤Ò»Ö£¬Ò²¾ÍÊÇ˵ÔÚ32λ»úÉÏËüÊÇ4¸ö×Ö½Ú£¬¶øÔÚ64λ»úÉÏÊÇ8¸ö×Ö½Ú¡£ l


Ïà¹ØÎĵµ£º

ÓÃCSocket´´½¨C/S½á¹¹

CSocketÅÉÉúÓÚCAsyncSocket, ËùÓÐÊ©ÖîÓÚÉϵIJÙ×÷½ÔΪͬ²½²Ù×÷¡£±ÈÈçConnnect,ReceiveµÈ¡£
ͬ²½²Ù×÷µÄÓŵãÊǼòµ¥Ò×Ó㬵«È±µãÒ²ÏÔ¶øÒ×¼û£¬Ð§ÂʵÍÏ£¬ÒòΪÄã±ØÐëµÈµ½Ò»¸ö²Ù×÷Íê³ÉÖ®ºó²ÅÄܽøÐÐÏÂÒ»¸ö²Ù×÷¡£
Èç¹ûÄãºÜ¹ØÐÄЧÂÊ£¬¾ÍÓ¦¸ÃÓÅÏÈʹÓÃCAsyncSocket¡£·´Ö®¾ÍÓÃCSocket¡£
ÏÂÃæ½«ËµÃ÷ÈçºÎÓÃCSocket´´½¨¼òµ¥µÄ·þÎñÆ÷ºÍ¿Í» ......

C/C++ÓïÑÔvoid¼°voidÖ¸ÕëÉî²ã̽Ë÷

¡¡¡¡1.¸ÅÊö
¡¡¡¡Ðí¶à³õѧÕß¶ÔC/C++ÓïÑÔÖеÄvoid¼°voidÖ¸ÕëÀàÐͲ»ÉõÀí½â£¬Òò´ËÔÚʹÓÃÉϳöÏÖÁËһЩ´íÎó¡£±¾ÎĽ«¶Ôvoid¹Ø¼ü×ÖµÄÉî¿Ìº¬Òå½øÐнâ˵£¬²¢ÏêÊövoid¼°voidÖ¸ÕëÀàÐ͵ÄʹÓ÷½·¨Óë¼¼ÇÉ¡£
¡¡¡¡2.voidµÄº¬Òå
¡¡¡¡voidµÄ×ÖÃæÒâ˼ÊÇ“ÎÞÀàÐÍ”£¬void *ÔòΪ“ÎÞÀàÐÍÖ¸Õ딣¬void *¿ÉÒÔÖ¸ÏòÈκÎÀàÐ͵ÄÊ ......

¹ØÓÚC/C++ ±í´ïʽÇóֵ˳Ðò 䶨Òå


±í´ïʽµÄ¸±×÷ÓÃ
ÔËËã·ûµÄÓÅÏȼ¶Óë½áºÏÐԹ涨Á˱í´ïʽÖÐÏàÁÚÁ½¸öÔËËã·ûµÄÔËËã´ÎÐò£¬µ«¶ÔÓÚ˫Ŀ
ÔËËãµÄ²Ù×÷Êý£¬C++ûÓй涨ËûÃǵļÆËã´ÎÐò¡£ÀýÈ磬¶ÔÓÚ±í´ïʽ£º
exp1 + exp2;
ÏȼÆËã exp1 »¹ÊÇ exp2£¿²»Í¬µÄ±àÒëÆ÷Óв»Í¬µÄ×ö·¨¡£
ÔÚÊýѧÉÏ£¬¶ÔÓÚ˫ĿÔËËã·û£¬²»ÂÛÏȼÆËãÄÄÒ»¸ö²Ù×÷Êý£¬ÒªÇó×îÖÕ¼ÆËã½á¹ûÒ»Ñù¡£
ÔÚ C ......

¡¾ÈëÃÅ¡¿ÓÃLinuxÖÐmanÃüÁî²éѯCº¯Êý

      ´ó¼Ò¶¼ÖªµÀÔÚUnix/LinuxÖÐÓиömanÃüÁ¿ÉÒÔ²éѯ³£ÓõÄÃüÁº¯Êý¡£¿ÉÊǶÔÓÚÎÒÃÇÕâÑùÖ»ÖªµÀÓÃ"man º¯ÊýÃû"À´²éѯµÄÈËÀ´Ëµ£¬»áÓöµ½ºÜ¶àÎÊÌ⣬±ÈÈ磺
      man read£¬ÎÒÏë¿´µÄÊÇANSI CÖÐstdioµÄreadº¯ÊýÔ­ÐͺÍ˵Ã÷£¬Ã»Ïëµ½³öÀ´µÄÈ·ÊÇBASHÃüÁîµÄ˵Ã÷£¬ÕâÊÇÔõô»ØÊ ......

C¶ÁÈ¡ÎļþµÄÒ»ÐÐ

¸Õ¸ÕÍê³ÉµÄC¶ÁÈ¡ÎļþÒ»ÐÐÊý¾Ý£¬¿ÉÒÔ¶Á´óÁ¿Êý¾ÝµÄÐС£
/*
º¯Êý¹¦ÄÜ£º
   ¶ÁÈ¡ÎļþµÄÒ»ÐУ¬µ±¿ª±ÙÄÚ´æ²»¹»Ê±returnֵΪ-1,size»á¸ø³öÖÁÉÙÐèÒªµÄÄÚ´æ´óС£¬
      returnֵΪ1ʱ±íʾ´ËʱÎļþ½áÊø£¬´Óbuffer,sizeµÃµ½×îºóÒ»ÐеÄÊý¾ÝºÍ´óС¡£
ÊäÈë²ÎÊý£º
   stream£ºÎļþÁ÷ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ