C/C++·µ»ØÄÚ²¿¾²Ì¬³ÉÔ±µÄÏÝÚå
C/C++·µ»ØÄÚ²¿¾²Ì¬³ÉÔ±µÄÏÝÚå
³Âð©
±³¾°
ÔÚÎÒÃÇÓÃ
C/C++¿ª·¢µÄ¹ý³ÌÖУ¬×ÜÊÇÓÐÒ»¸öÎÊÌâ»á¸øÎÒÃÇ´øÀ´¿àÄÕ¡£Õâ¸öÎÊÌâ¾ÍÊǺ¯ÊýÄںͺ¯ÊýÍâ´úÂëÐèҪͨ¹ýÒ»¿éÄÚ´æÀ´½»»¥£¨±ÈÈ磬º¯Êý·µ»Ø×Ö·û´®£©£¬Õâ¸öÎÊÌâÀ§
Èźͺܶ࿪·¢ÈËÔ±¡£Èç¹ûÄãµÄÄÚ´æÊÇÔÚº¯ÊýÄÚÕ»ÉÏ·ÖÅäµÄ£¬ÄÇôÕâ¸öÄÚ´æ»áËæ×ź¯ÊýµÄ·µ»Ø¶ø±»µ¯Õ»ÊÍ·Å£¬ËùÒÔ£¬ÄãÒ»¶¨Òª·µ»ØÒ»¿éº¯ÊýÍⲿ»¹ÓÐЧµÄÄÚ´æ¡£
ÕâÊÇÒ»¸öÈÃÎÞÊýÈËÀ§ÈŵÄÎÊÌâ¡£Èç¹ûÄãÒ»²»Ð¡ÐÄ£¬Äã¾ÍºÜÓпÉÄÜÔÚÕâ¸öÉÏÃæ·¸´íÎó¡£µ±È»Ä¿Ç°Óкܶà½â¾ö·½·¨£¬Èç¹ûÄãÊìϤһЩ±ê×¼¿âµÄ»°£¬Äã¿ÉÒÔ¿´µ½Ðí¶à¸÷ʽ¸÷ÑùµÄ½â¾ö·½·¨¡£´óÌåÀ´ËµÓÐÏÂÃæ¼¸ÖÖ£º
1£©
ÔÚº¯ÊýÄÚ²¿Í¨¹ýmalloc»ònewÔÚ¶ÑÉÏ·ÖÅäÄڴ棬Ȼºó°ÑÕâ¿éÄÚ´æ·µ»Ø£¨ÒòΪÔÚ¶ÑÉÏ·ÖÅäµÄÄÚ´æÊÇÈ«¾Ö¿É¼ûµÄ£©¡£ÕâÑù´øÀ´µÄÎÊÌâ¾ÍÊÇDZÔÚµÄÄÚ´æÎÊÌâ¡£Òò
Ϊ£¬Èç¹û·µ»Ø³öÈ¥µÄÄÚ´æ²»ÊÍ·Å£¬ÄÇô¾ÍÊÇmemory
Leak¡£»òÕßÊDZ»¶à´ÎÊÍ·Å£¬´Ó¶øÔì³É³ÌÐòµÄcrash¡£ÕâÁ½¸öÎÊÌâ¶¼Ï൱µÄÑÏÖØ£¬ËùÒÔÕâÖÖÉè¼Æ·½·¨²¢²»ÍƼö¡££¨ÔÚһЩWindows
APIÖУ¬µ±Äãµ÷ÓÃÁËһЩAPIºó£¬Äã±ØÐèÒ²Òªµ÷ÓÃËûµÄijЩAPIÀ´ÊÍ·ÅÕâ¿éÄڴ棩
2£©ÈÃÓû§´«ÈëÒ»¿éËû×Ô¼ºµÄÄÚ´æµØÖ·£¬¶øÔÚº¯ÊýÖаÑÒª
·µ»ØµÄÄÚ´æ·Åµ½Õâ¿éÄÚ´æÖС£ÕâÊÇÒ»¸öĿǰÆÕ±éʹÓõķ½Ê½¡£ºÜ¶àWindows
APIº¯Êý»òÊDZê×¼Cº¯Êý¶¼ÐèÒªÄã´«ÈëÒ»¸öbufferºÍÕâ¸öbufferµÄ³¤¶È¡£ÕâÖÖ·½Ê½¶ÔÎÒÃÇÀ´ËµÓ¦¸ÃÊÇÂżû²»ÏÊÁË¡£ÕâÖÖ·½Ê½µÄºÃ´¦¾ÍÊÇÓɺ¯ÊýÍⲿµÄ
³ÌÐòÀ´Î¬»¤Õâ¿éÄڴ棬±È½Ï¼òÏÔÖ±¹Û¡£µ«ÎÊÌâ¾ÍÊÇÔÚʹÓÃÉÏÉÔÐíÓÐЩÂé·³¡£²»¹ýÕâÖÖ·½Ê½°Ñ·¸´íÎóµÄ»úÂʼõµ½ÁË×îµÍ¡£
3£©µÚÈýÖÖ·½Ê½ÏԵñȽÏÁí
À࣬ËûÀûÓÃÁËstaticµÄÌØÐÔ£¬staticµÄÕ»ÄÚ´æÒ»µ©·ÖÅ䣬ÄÇÕâ¿éÄÚ´æ²»»áËæ×ź¯ÊýµÄ·µ»Ø¶øÊÍ·Å£¬¶øÇÒ£¬ËüÊÇÈ«¾Ö¿É¼ûµÄ£¨Ö»ÒªÄãÓÐÕâ¿éÄÚ´æµÄµØ
Ö·£©¡£ËùÒÔ£¬ÓÐһЩº¯ÊýʹÓÃÁËstaticµÄÕâ¸öÌØÐÔ£¬¼´²»ÓÃʹÓöÑÉϵÄÄڴ棬Ҳ²»ÐèÒªÓû§´«ÈëÒ»¸öbufferºÍÆä³¤¶È¡£´Ó¶ø£¬Ê¹ÓõÃ×Ô¼ºµÄº¯Êý³¤µÃºÜ
ƯÁÁ£¬Ò²ºÜÈÝÒ×ʹÓá£
ÕâÀÎÒÏë¶ÔµÚÈý¸ö·½·¨½øÐÐһЩÌÖÂÛ¡£Ê¹ÓÃstaticÄÚ´æÕâ¸ö·½·¨¿´ËƲ»´í£¬µ«ÊÇËüÓÐÈÃÄãÏëÏó²»µ½µÄÏÝÚå¡£ÈÃÎÒÃÇÀ´ÓÃÒ»¸öʵ¼Ê·¢ÉúµÄ°¸ÀýÀ´¾ÙÒ»¸öÀý×Ó°É¡£
ʾÀý
Óйýsocket±à³Ì¾ÑéµÄÈËÒ»¶¨ÖªµÀÒ»¸öº¯Êý½Ð£ºinet_ntoa£¬Õâ¸öº¯ÊýÖ÷ÒªµÄ¹¦ÄÜÊǰÑÒ»¸öÊý×ÖÐ͵ÄIPµØÖ·×ª³É×Ö·û´®£¬Õâ¸öº¯ÊýµÄ¶¨ÒåÊÇÕâÑùµÄ£¨×¢ÒâËüµÄ·µ»ØÖµ£©£º
char *inet_ntoa(struct in_addr in);
ÏÔÈ»£¬Õâ¸öº¯Êý²»»á·ÖÅä¶ÑÉϵÄÄڴ棬¶øËûÓÖûÓÐÈÃÄã´«Ò»ÏÂ×Ö·û´®µÄbuffer½øÈ룬ÄÇ
ôËûÒ»¶¨Ê¹ÓÓ·µ»Østatic
char[
Ïà¹ØÎĵµ£º
1. ÔõÑù½¨Á¢ºÍÀí½â·Ç³£¸´ÔÓµÄÉùÃ÷£¿ÀýÈ綨ÒåÒ»¸ö°üº¬N ¸öÖ¸Ïò·µ»ØÖ¸Ïò×Ö·ûµÄÖ¸ÕëµÄº¯ÊýµÄÖ¸ÕëµÄÊý×飿
Õâ¸öÎÊÌâÖÁÉÙÓÐÒÔÏÂ3 ÖÖ´ð°¸:
1. char *(*(*a[N])())();
2. ÓÃtypedef Öð²½Íê³ÉÉùÃ÷:
typedef char *pc; /* ×Ö·ûÖ¸Õë*/
typedef pc fpc(); /* ·µ»Ø×Ö·ûÖ¸ÕëµÄº¯Êý*/
typedef fpc *pfpc; /* ÉÏÃæº¯ÊýµÄÖ¸Õë*/ ......
C/C++
Í·ÎļþÒ»ÀÀ
//////////////////////////////////////////////////////////////////////////
C
Í·Îļþ
(C89,C95)
(C++98,C++03Ò²°üº¬)
include <assert.h>¡¡¡¡¡¡¡¡//Õï¶Ï¿â
include <ctype.h>¡¡¡¡¡¡¡¡ //×Ö·û´¦Àíº¯Êý¿â
include <errno.h>¡¡¡¡¡¡¡¡ //´íÎó¶¨Òå
include <float.h& ......
CÓïÑÔ³ÌÐò¿ÉÒÔ¿´³ÉÓÉһϵÁÐÍⲿ¶ÔÏ󹹳ɣ¬ÕâЩÍⲿ¶ÔÏó¿ÉÄÜÊDZäÁ¿»òº¯Êý¡£¶øÄÚ²¿±äÁ¿ÊÇÖ¸¶¨ÒåÔÚº¯ÊýÄÚ²¿µÄº¯Êý²ÎÊý¼°±äÁ¿¡£Íⲿ±äÁ¿¶¨ÒåÔÚº¯ÊýÖ®Í⣬Òò´Ë¿ÉÒÔÔÚÐí¶àº¯ÊýÖÐʹÓá£ÓÉÓÚCÓïÑÔ²»ÔÊÐíÔÚÒ»¸öº¯ÊýÖж¨ÒåÆäËüº¯Êý£¬Òò´Ëº¯Êý±¾ÉíÖ»ÄÜÊÇ“ÍⲿµÄ”¡£
ÓÉÓÚ ......
Ëü¿ÉÒÔµ¼Èë¿â£¬µ÷ÓÃÍâÃæµÄ¿âº¯Êý£¬javaÓïÑԾͺܺõĵØÀûÓÃÁËÕâÒ»µã£¬jspÒ²¿ÉÒÔÔÚÍøÒ³Öе÷ÓÃjava±àдºÃµÄ³ÌÐò£¬ÒªÊ¹ÓÃjavabean±êÇ©
struts±¾Éí¾ÍÊǶÔjava¼¼ÊõÒ»¸ö°ü×°,°üÀ¨£¬html,jsp¼°±êÇ©,servlet¡£
hibernateÊDZðÈ˱àдºÃÓ³ÉäÊý¾Ý¿âµÄ¹¤¾ß£¬Æä´úÂë¶¼ÊÇÓÃjavaÓïÑÔ±àдµÄ£¬Ö»ÊÇΪÁË·½±ãÓû§Ê¹Óã¬Óû§Ö»Òªµ¼ÈëÆä¿â£¬µ÷ÓÃÆ ......