±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚveryarm£¬±¾ÎÄÖ÷Òª¶ÔǶÈëʽÈí¼þ¿ª·¢µÄÌØµã£¬ÌÖÂۼܹ¹Éè¼ÆµÄ˼·ºÍ·½·¨µÈÏà¹ØÄÚÈÝ¡£ |
|
1. ǰÑÔ
ǶÈëʽÊÇÈí¼þÉè¼ÆÁìÓòµÄÒ»¸ö·ÖÖ§£¬Ëü×ÔÉíµÄÖî¶àÌØµã¾ö¶¨ÁËϵͳ¼Ü¹¹Ê¦µÄÑ¡Ôñ£¬Í¬Ê±ËüµÄһЩÎÊÌâÓÖ¾ßÓÐÏ൱µÄͨÓÃÐÔ£¬¿ÉÒÔÍÆ¹ãµ½ÆäËûµÄÁìÓò¡£
ÌáÆðǶÈëʽÈí¼þÉè¼Æ£¬´«Í³µÄÓ¡ÏóÊǵ¥Æ¬»ú£¬»ã±à£¬¸ß¶ÈÒÀÀµÓ²¼þ¡£´«Í³µÄǶÈëʽÈí¼þ¿ª·¢ÕßÍùÍùÖ»¹Ø×¢ÊµÏÖ¹¦Äܱ¾Éí£¬¶øºöÊÓÖîÈç´úÂ븴Óã¬Êý¾ÝºÍ½çÃæ·ÖÀ룬¿É²âÊÔÐÔµÈÒòËØ¡£´Ó¶øµ¼ÖÂǶÈëʽÈí¼þµÄÖÊÁ¿¸ß¶ÈÒÀÀµ¿ª·¢ÕßµÄˮƽ£¬³É°Üϵ֮һÉí¡£Ëæ×ÅǶÈëʽÈíÓ²¼þµÄ·ÉËÙ·¢Õ¹£¬½ñÌìµÄǶÈëʽϵͳÔÚ¹¦ÄÜ£¬¹æÄ£ºÍ¸´ÔӶȸ÷·½Ãæ¶¼ÓÐÁ˼«´óµÄÌáÉý¡£±ÈÈ磬Marvell¹«Ë¾µÄPXA3xxϵÁеÄ×î¸ßÖ÷ƵÒѾ´ïµ½800Mhz£¬ÄÚ½¨USB,WIFI,2DͼÐμÓËÙ,32λDDRÄÚ´æ¡£ÔÚÓ²¼þÉÏ£¬½ñÌìµÄǶÈëʽϵͳÒѾ´ïµ½ÉõÖÁ³¬¹ýÁËÊýÄêǰµÄPCƽ̨¡£ÔÚÈí¼þ·½Ã棬ÍêÉÆµÄ²Ù×÷ϵͳÒѾ³ÉÊ죬±ÈÈçSymbian,
Linux, WinCE¡£»ùÓÚÍêÉÆµÄ²Ù×÷ϵͳ£¬ÖîÈç×Ö´¦Àí£¬Í¼Ïñ£¬ÊÓÆµ£¬ÒôƵ£¬ÓÎÏ·£¬ÍøÒ³ä¯ÀÀµÈ¸÷ÖÖÓ¦ÓóÌÐò²ã³ö²»ÇÆä¹¦ÄÜÐԺ͸´ÔӶȱÈÖîPCÈí¼þ²»åضàÈá£ÔÀ´¶àÑ¡ÓÃרÓÃÓ²¼þºÍרÓÃϵͳµÄһЩÉÌÒµÉ豸¹«Ë¾Ò²¿ªÊ¼×ª»»Ë¼Â·£¬ÒÔ³öÉ«¶øÁ®¼ÛµÄÓ²¼þºÍÍêÉÆµÄ²Ù×÷ϵͳΪ»ù´¡£¬ÓÃÈí¼þµÄ·½Ê½´úÌæÒÔǰʹÓÃרÓÐÓ²¼þʵÏֵŦÄÜ£¬´Ó¶øÊµÏÖ¸üµÍµÄ³É±¾ºÍ¸ü¸ßµÄ¿É±ä¸ü£¬¿Éά»¤ÐÔ¡£
2.¾ö¶¨¼Ü¹¹µÄÒòËØºÍ¼Ü¹¹µÄÓ°Ïì
¼Ü¹¹²»ÊÇÒ»¸ö¹ÂÁ¢µÄ¼¼ÊõµÄ²úÎËüÊÜ¶à·½ÃæÒòËØµÄÓ°Ï졣ͬʱ£¬Ò»¸ö¼Ü¹¹ÓÖ¶ÔÈí¼þ¿ª·¢µÄÖî¶à·½ÃæÔì³ÉÓ°Ïì¡£
ÏÂÃæ¾ÙÒ»¸ö¾ßÌåµÄÀý×Ó¡£
ĦÍгµµÄ·¢¶¯»úÔÚ³ö³§Ç°±ØÐëͨ¹ýһϵÁеIJâÊÔ¡£ÔÚÁ÷Ë®ÏßÉÏ£¬·¢¶¯»ú±»Ë͵½Ã¿¸ö¹¤Î»ÉÏ£¬Óɹ¤È˽øÐÐÖîÈçתËÙ£¬ÔëÒô£¬Õñ¶¯µÈ·½ÃæµÄ²âÊÔ¡£ÒªÇóʵÏÖÒ»¸öǶÈëʽÉ豸£¬¾ß±¸ÒÔÏ»ù±¾¹¦ÄÜ:
1. °²×°ÔÚ¹¤Î»ÉÏ£¬¹¤ÈËÉϰàǰ¿ªÆô²¢µÇ¼¡£
2. ͨ¹ý´«¸ÐÆ÷×Ô¶¯²É¼¯²âÊÔÊý¾Ý£¬²¢ÏÔʾÔÚÆÁÄ»ÉÏ¡£
3. ¼Ç¼ËùÓеIJâÊÔ½á¹û£¬²¢Ìṩͳ¼Æ¹¦ÄÜ¡£±ÈÈç´ÎÆ·ÂÊ¡£
Èç¹ûÄãÊÇÕâ¸öÉ豸µÄ¼Ü¹¹Ê¦£¬ÄÄЩÎÊÌâÊÇÔÚÉè¼Æ¼Ü¹¹µÄʱºòÓ¦¸Ã¹Ø×¢µÄÄØ£¿
1.1. ³£¼ûµÄÎó½â
1.1.1. СÐ͵Äϵͳ²»ÐèÒª¼Ü¹¹
ÓÐÏ൱¶àµÄǶÈëʽϵͳ¹æÄ£¶¼½ÏС£¬Ò»°ãÊÇΪÁËÄ³Ð©ÌØ¶¨µÄÄ¿µÄ¶øÉè¼ÆµÄ¡£Êܹ¤³ÌʦÈÏʶ£¬¿Í»§¹æÄ£ºÍÏîÄ¿½ø¶ÈµÄÓ°Ï죬¾³£²»×öÈκμܹ¹Éè¼Æ£¬Ö±½ÓÒÔʵÏÖ¹¦ÄÜΪĿ±ê½øÐбàÂë¡£ÕâÖÖÐÐΪ±íÃæÉÏ¿´Âú×ãÁ˽ø¶È£¬³É±¾£¬¹¦Äܸ÷·½ÃæµÄÐèÇ󣬵«ÊÇ´Ó³¤Ô¶À´¿´£¬ÔÚÀ©Õ¹ºÍά»¤Éϸ¶³öµÄ³É±¾£¬ÒªÔ¶Ô¶¸ßÓÚ×î³õ½ÚÔ¼µÄ³É±¾¡£Èç¹ûϵͳµÄ×î³õ¿ª·¢Õß¼ÌÐøÁôÔÚ×éÖ¯ÄÚ²¢¸ºÔðÕâ¸öÏîÄ¿£¬ÄÇô¿ÉÄÜÒ»Çж¼»áÕý³££¬Ò»µ©ËûÀ뿪£¬ºóÐøÕßÒòΪ¶Ôϵͳϸ½ÚµÄÀí½â²»×㣬¾Í¿ÉÄÜÒýÈë¸ü¶àµÄ´íÎó¡£Òª×¢Ò⣬ǶÈëʽϵͳµÄ±ä¸ü³É±¾ÒªÔ¶Ô¶¸ßÓÚÒ»°ãµÄÈí¼þϵͳ¡£ºÃµÄÈí¼þ¼Ü¹¹£¬¿ÉÒÔ´Óºê¹ÛºÍ΢¹ÛµÄ²»Í¬²ã´ÎÉÏÃèÊöϵͳ£¬²¢½«¸÷¸ö²¿·Ö¸ôÀ룬´Ó¶øÊ¹ÐÂÌØÐÔµÄÌí¼ÓºÍºóÐøÎ¬»¤±äµÃÏà¶Ô¼òµ¥¡£
¾ÙÒ»¸ö³ÇÌúË¢¿¨»úµÄÀý×Ó£¬Õâ¸öÀý×ÓÔÚÇ°ÃæµÄ¿Î³ÌÖгöÏÖ¹ý¡£¼òµ¥µÄ³ÇÌúË¢¿¨»úÖ»ÐèҪʵÏÖÈçϹ¦ÄÜ£º
Ò»¸öWhileÑ»·×ãÒÔʵÏÖÕâ¸öϵͳ£¬Ö±½Ó¾Í¿ÉÒÔ¿ªÊ¼±àÂëµ÷ÊÔ¡£µ«ÊÇ´ÓÒ»¸ö¼Ü¹¹Ê¦µÄ½Ç¶È£¬ÕâÀïÓÐûÓÐÖµµÃ³éÏóºÍ°þÀëµÄ²¿·ÖÄØ£¿
1. ¼Æ·Ñϵͳ¡£¼Æ·ÑϵͳÊDZØÐë³éÏóµÄ£¬±ÈÈç´Óµ¥´Î¼Æ·Ñµ½°´Àï³Ì¼Æ·Ñ¡£
2. ´«¸ÐÆ÷ϵͳ¡£´«¸ÐÆ÷°üÀ¨´Å¿¨¸ÐÓ¦Æ÷£¬Í¶±ÒÆ÷µÈ¡£É豸¿ÉÄܸü»»¡£
3. ¹ÊÕÏ´¦ÀíºÍ»Ö¸´¡£¿¼Âǵ½½Ï¸ßµÄ¿É¿¿ÐԺͽ϶̵ĹÊÕϻָ´Ê±¼ä£¬Õⲿ·ÖÓбØÒªµ¥¶ÀÉè¼Æ¡£
δÀ´ºÜ¿ÉÄܳöÏÖµÄÐèÇó±ä¸ü£º
1. ²Ù×÷½çÃæ¡£ÊÇ·ñÐèÒª³éÏó³öרÃŵÄModelÀ´£¿ÒÔ±¸½«À´ÊµÏÖView¡£
4. Êý¾Ýͳ¼Æ¡£ÊÇ·ñÐèÒªÒýÈë¹ØÏµÐÍÊý¾Ý¿â£¿
Èç¹ûÖ±½ÓÒÔÉÏÃæµÄÁ÷³Ìͼ±àÂ룬µ±³öÏÖ±ä¸üºó£¬ÓжàÉÙ´úÂë¿ÉÒÔ¸´Óã¿
²»¹ý£¬Ò²²»ÒªÒò´Ë²úÉú¹ý¶ÈµÄÉè¼Æ¡£¼Ü¹¹Ó¦µ±Á¢×ãÂú×㵱ǰÐèÇ󣬲¢Êʵ±µÄ¿¼ÂÇÖØÓúͱä¸ü¡£
1.1.2. Ãô½Ý¿ª·¢²»ÐèÒª¼Ü¹¹
¼«ÏÞ±à³Ì£¬Ãô½Ý¿ª·¢µÄ³öÏÖʹһЩÈËÎóÒÔΪÈí¼þ¿ª·¢ÎÞÐèÔÙ×ö¼Ü¹¹ÁË¡£ÕâÊÇÒ»¸öºÜ´óµÄÎó½â¡£Ãô½Ý¿ª·¢ÊÇÔÚ´«Í³ÆÙ²¼Ê½¿ª·¢Á÷³Ì³öÏÖÃ÷ÏԱ׶˺óÌá³öµÄ½â¾ö·½°¸£¬ËùÒÔËü±ØÈ»ÓÐÒ»¸ö¸ü¸ßµÄÆðµãºÍ¶Ô¿ª·¢¸üÑϸñµÄÒªÇó¡£¶ø²»Êǵ¹Í˵½Ê¯Æ÷ʱ´ú¡£ÊÂʵÉÏ£¬¼Ü¹¹ÊÇÃô½Ý¿ª·¢µÄÒ»²¿·Ö£¬Ö»²»¹ýÔÚÐÎʽÉÏ£¬Ãô½Ý¿ª·¢ÍƼöʹÓøü¸ßЧ£¬¼òµ¥µÄ·½Ê½À´×öÉè¼Æ¡£±ÈÈç»ÔÚ°×°åÉÏÈ»ºóÓÃÊýÂëÏà»úÅÄϵÄUMLͼ£»ÓÃÓû§¹ÊÊ´úÌæÓû§ÓÃÀýµÈ¡£²âÊÔÇý¶¯µÄÃô½Ý¿ª·¢¸üÊÇÇ¿ÆÈ¹¤³ÌʦÔÚдʵ¼Ê´úÂëǰÉè¼ÆºÃ×é¼þµÄ¹¦Äܺͽӿڣ¬¶ø²»ÊÇÖ±½Ó¿ªÊ¼Ð´´úÂë¡£Ãô½Ý¿ª·¢µÄÒ»Ð©ÌØÕ÷£º
1. Õë¶Ô±È´«Í³¿ª·¢Á÷³Ì¸ü´óµÄϵͳ
5. ³ÐÈϱ仯£¬µü´ú¼Ü¹¹
6. ¼ò½à¶ø²»»ìÂÒ
7. Ç¿µ÷²âÊÔºÍÖØ¹¹
2. ǶÈëʽ»·¾³ÏÂÈí¼þÉè¼ÆµÄÌØµã
Ҫ̸ǶÈëʽµÄÈí¼þ¼Ü¹¹£¬Ê×ÏȱØÐëÁ˽âǶÈëʽÈí¼þÉè¼ÆµÄÌØµã¡£
2.1. ºÍÓ²¼þÃÜÇÐÏà¹Ø
ǶÈëʽÈí¼þÆÕ±é¶ÔÓ²¼þÓÐ×ÅÏ൱µÄÒÀÀµÐÔ¡£ÕâÌåÏÖÔÚ¼¸¸ö·½Ã棺
1. һЩ¹¦ÄÜÖ»ÄÜͨ¹ýÓ²¼þʵÏÖ,Èí¼þ²Ù×÷Ó²¼þ£¬Çý¶¯Ó²¼þ¡£
8. Ó²¼þµÄ²îÒì/±ä¸ü»á¶ÔÈí¼þ²úÉúÖØ´óÓ°Ïì¡£
9. ûÓÐÓ²¼þ»òÕßÓ²¼þ²»ÍêÉÆÊ±£¬Èí¼þÎÞ·¨ÔËÐлòÎÞ·¨ÍêÕûÔËÐС£
ÕâÐ©ÌØµãµ¼Ö¼¸·½ÃæµÄºó¹û£º
1. Èí¼þ¹¤³Ìʦ¶ÔÓ²¼þµÄÀí½âºÍÊìÁ·³Ì¶È»áºÜ´ó³Ì¶ÈµÄ¾ö¶¨Èí¼þµÄÐÔÄÜ/Îȶ¨ÐԵȷǹ¦ÄÜÐÔÖ¸±ê£¬¶øÕⲿ·ÖÒ»ÏòÊÇÏà¶Ô¸´Ôӵģ¬ÐèÒª×ÊÉîµÄ¹¤³Ìʦ²ÅÄܱ£Ö¤ÖÊÁ¿¡£
10. Èí¼þ¶ÔÓ²¼þÉè¼Æ¸ß¶ÈÒÀÀµ£¬²»Äܱ£³ÖÏà¶ÔÎȶ¨£¬¿Éά»¤ÐԺͿÉÖØÓÃÐÔ²î
11. Èí¼þ²»ÄÜÀ뿪Ӳ¼þµ¥¶À²âÊÔºÍÑéÖ¤£¬ÍùÍùÐèÒªºÍÓ²¼þÑé֤ͬ²½½øÐУ¬Ôì³É½ø¶ÈǰËɺó½ô£¬´íÎó¶¨Î»·¶Î§À©´ó¡£
Õë¶ÔÕâЩÎÊÌ⣬Óм¸·½ÃæµÄ½â¾ö˼·£º
1. ÓÃÈí¼þʵÏÖÓ²¼þ¹¦ÄÜ¡£Ñ¡ÓøüÇ¿´óµÄ´¦ÀíÆ÷£¬ÓÃÈí¼þÀ´ÊµÏÖ²¿·ÖÓ²¼þ¹¦ÄÜ£¬²»½ö¿ÉÒÔ½µµÍ¶ÔÓ²¼þµÄÒÀÀµ£¬ÔÚÏìÓ¦±ä»¯£¬±ÜÃâ¶ÔÌØ¶¨Ðͺźͳ§É̵ÄÒÀÀµ·½Ãæ¶¼ºÜÓкô¦¡£ÕâÔÚһЩÐÐÒµÀïÒѾ³ÉΪÁËÇ÷ÊÆ¡£ÔÚPCƽ̨Ҳ¾ÀúÁËÕâÑùµÄ¹ý³Ì£¬±ÈÈçÔçÆÚµÄºº¿¨¡£
12. ½«¶ÔÓ²¼þµÄÒÀÀµ¶ÀÁ¢³ÉÓ²¼þ³éÏó²ã£¬¾¡¿ÉÄÜʹÈí¼þµÄÆäËû²¿·ÖÓ²¼þÎ޹أ¬²¢¿ÉÒÔÍÑÀëÓ²¼þÔËÐС£Ò»·½Ã潫Ӳ¼þ±ä¸üÉõÖÁ»»¼þµÄ·çÏÕ¿ØÖÆÔÚÓÐÏ޵ķ¶Î§ÄÚ£¬ÁíÒ»·½ÃæÌá¸ßÈí¼þ²¿·ÖµÄ¿É²âÊÔÐÔ¡£
2.2. Îȶ¨ÐÔÒªÇó¸ß
´ó²¿·ÖǶÈëʽÈí¼þ¶¼¶Ô³ÌÐòµÄ³¤ÆÚÎȶ¨ÔËÐÐÓнϸߵÄÒªÇó¡£±ÈÈçÊÖ»ú¾³£¼¸¸öÔ¿ª»ú£¬Í¨Ñ¶É豸ÔòÒªÇó24*7Õý³£ÔËÐУ¬¼´Ê¹ÊÇͨѶÉϵIJâÊÔÉ豸ҲҪÇóÖÁÉÙÕý³£ÔËÐÐ8Сʱ¡£ÎªÁËÎȶ¨ÐÔµÄÄ¿±ê£¬ÓÐһЩ±È½Ï³£ÓõÄÉè¼ÆÊֶΣº
1. ½«²»Í¬µÄÈÎÎñ·Ö²¼ÔÚ¶ÀÁ¢µÄ½ø³ÌÖС£Á¼ºÃµÄÄ£¿é»¯Éè¼ÆÊǹؼü
13. Watch Dog, Heart beat£¬ÖØÐÂÆô¶¯Ê§Ð§µÄ½ø³Ì¡£
14. ÍêÉÆ¶øÍ³Ò»µÄÈÕ־ϵͳÒÔ¿ìËÙ¶¨Î»ÎÊÌ⡣ǶÈëʽÉ豸һ°ãȱ·¦ÓÐÁ¦µÄµ÷ÊÔÆ÷£¬ÈÕ־ϵͳÓÈÆäÖØÒª¡£
15. ½«´íÎó¹ÂÁ¢ÔÚ×îСµÄ·¶Î§ÄÚ£¬±ÜÃâ´íÎóµÄÀ©É¢ºÍÁ¬Ëø·´Ó¦¡£ºËÐÄ´úÂëÒª¾¹ý³ä·ÖµÄÑéÖ¤£¬¶Ô·ÇºËÐÄ´úÂ룬¿ÉÒÔÔÚ¼à¿Ø»òÕßɳºÐÖÐÔËÐУ¬±ÜÃâÆäÆÆ»µÕû¸öϵͳ¡£
¾ÙÀý£¬SymbianÉϵÄGPRS·ÃÎÊÊܲ»Í¬Ó²¼þºÍ²Ù×÷ϵͳ°æ±¾Ó°Ï죬¹¦Äܲ»ÊǷdz£Îȶ¨¡£ÆäÖÐÓÐÒ»¸ö°æ±¾Éϵ±¹Ø±ÕGPRSÁ¬½Óʱһ¶¨»á±ÀÀ££¬¶øÇÒÊôÓÚknown
issue¡£½«GPRSÁ¬½Ó£¬HTTPÐÒé´¦Àí£¬ÎļþÏÂÔØµÈ²Ù×÷¶ÀÁ¢µ½Ò»¸ö½ø³ÌÖУ¬ËäȻÿ´Î²Ù×÷Íê±Ï¸Ã½ø³Ì¶¼»á±ÀÀ££¬¶ÔÓû§È´Ã»ÓÐÓ°Ïì¡£
16. Ë«±¸·ÝÕâÑùµÄÊֶνÏÉÙ²ÉÓÃ
2.3. ÄÚ´æ²»×ã
ËäÈ»µ±½ñµÄǶÈëʽϵͳµÄÄÚ´æ±ÈÖ®ÒÔK¼ÆÊýµÄʱ´úÒѾÓÐÁ˺ܴóµÄÌá¸ß£¬µ«ÊÇËæ×ÅÈí¼þ¹æÄ£µÄÔö³¤£¬ÄÚ´æ²»×ãµÄÎÊÌâÒÀȻʱʱÀ§ÈÅ×Åϵͳ¼Ü¹¹Ê¦¡£ÓÐһЩÔÔò£¬¼Ü¹¹Ê¦ÔÚ½øÐÐÉè¼Æ¾ö²ßµÄʱºò¿ÉÒԲο¼£º
2.3.1. ÐéÄâÄÚ´æ¼¼Êõ
ÓÐһЩǶÈëʽÉ豸ÐèÒª´¦Àí¾Þ´óµÄÊý¾ÝÁ¿£¬¶øÕâЩÊý¾Ý²»¿ÉÄÜÈ«²¿×°ÈëÄÚ´æÖС£Ò»Ð©Ç¶Èëʽ²Ù×÷ϵͳ²»ÌṩÐéÄâÄÚ´æ¼¼Êõ£¬±ÈÈçWinCE4.2ÿ¸ö³ÌÐò×î¶àÖ»ÄÜʹÓÃ32MÄÚ´æ¡£¶ÔÕâÑùµÄÓ¦Ó㬼ܹ¹Ê¦Ó¦¸ÃÌØ±ðÉè¼Æ×Ô¼ºµÄÐéÄâÄÚ´æ¼¼Êõ¡£ËùνµÄÐéÄâÄÚ´æ¼¼ÊõµÄºËÐÄÊÇ£¬½«ÔÝʱ²»Ì«¿ÉÄÜʹÓõÄÊý¾ÝÒÆ³öÄÚ´æ¡£ÕâÉæ¼°µ½Ò»Ð©¼¼Êõµã£º
1. ÒýÓüÆÊý£¬ÕýÔÚʹÓõÄÊý¾Ý²»ÄÜÒÆ³ö¡£
2. ʹÓÃÔ¤²â£¬Ô¤²âÏÂÒ»¸ö½×¶Îij¸öÊý¾ÝµÄʹÓÿÉÄÜÐÔ¡£»ùÓÚÔ¤²âÒÆ³öÊý¾Ý»òÕßÌáǰװÈëÊý¾Ý¡£
3. ռλÊý¾Ý/¶ÔÏó¡£
4. ¸ßËÙ»º´æ¡£ÔÚ¸´ÔÓÊý¾Ý½á¹ûÏ»º´æ¸ßƵÂÊʹÓõÄÊý¾Ý£¬Ö±½Ó·ÃÎÊ¡£
5. ¿ìËٵij־û¯ºÍ×°ÔØ¡£
ÏÂͼÊÇÒ»¸öÈ«¹úµçÐÅ»ú·¿¹ÜÀíϵͳµÄ½çÃæÊ¾Òâͼ£º
ÿ¸ö½Úµã϶¼ÓдóÁ¿µÄÊý¾ÝÐèÒª×°ÔØ£¬¿ÉÒÔʹÓÃÉÏÊö¼¼Êõ½«ÄÚ´æÕ¼Óýµµ½×îµÍ¡£
2.3.2. Á½¶Îʽ¹¹Ôì
ÔÚÄÚ´æÓÐÏÞµÄϵͳÀ¶ÔÏó¹¹Ôìʧ°ÜÊDZØÐëÒª´¦ÀíµÄÎÊÌâ,ʧ°ÜµÄÔÒòÖÐ×î³£¼ûµÄÔòÊÇÄÚ´æ²»×㣨ʵ¼ÊÉÏÕâÒ²ÊǶÔPCƽ̨µÄÒªÇ󣬵«ÊÇÔÚʵ¼ÊÖÐÍùÍùºöÂÔ£¬ÒòΪÄÚ´æÊµÔÚ±ãÒË£©¡£Á½¶Îʽ¹¹Ôì¾ÍÊÇÒ»ÖÖ³£ÓöøÓÐЧµÄÉè¼Æ¡£¾ÙÀýÀ´Ëµ£º
CMySimpleClass:
class CMySimpleClass
{
public:
CMySimpleClass();
~CMySimpleClass();
...
private:
int SomeData;
};
CMyCompoundClass:
class CMyCompoundClass
{
public:
CMyCompoundClass();
~CMyCompoundClass();
...
private:
CMySimpleClass* iSimpleClass;
}; |
ÔÚCMyCompoundClassµÄ¹¹Ô캯ÊýÀï³õʼ»¯iSimpleClass¶ÔÏó¡£
CMyCompoundClass::CMyCompoundClass()
{
iSimpleClass = new CMySimpleClass;
} |
µ±´´½¨CMyCompoundClassµÄʱºò»á·¢ÉúÊ²Ã´ÄØ£¿
CMyCompoundClass* myCompoundClass = new CMyCompoundClass;
1. ΪCMyCompoundClassµÄ¶ÔÏó·ÖÅäÄÚ´æ
17. µ÷ÓÃCMyCompoundClass¶ÔÏóµÄ¹¹Ô캯Êý
18. ÔÚ¹¹Ô캯ÊýÖд´½¨Ò»¸öCMySimpleClassµÄʵÀý
19. ¹¹Ô캯Êý½áÊø·µ»Ø
Ò»Çп´ÆðÀ´¶¼ºÜ¼òµ¥£¬µ«ÊÇÈç¹ûµÚÈý²½´´½¨CMySimpleClass¶ÔÏóµÄʱºò·¢ÉúÄÚ´æ²»×ãµÄ´íÎóÔõô°ìÄØ£¿¹¹Ô캯ÊýÎÞ·¨·µ»ØÈκδíÎóÐÅÏ¢ÒÔÌáʾµ÷ÓÃÕß¹¹ÔìûÓгɹ¦¡£µ÷ÓÃÕßÓÚÊÇ»ñµÃÁËÒ»¸öÖ¸ÏòCMyCompoundClassµÄÖ¸Õ룬µ«ÊÇÕâ¸ö¶ÔÏó²¢Ã»Óй¹ÔìÍêÕû¡£
Èç¹ûÔÚ¹¹Ô캯ÊýÖÐÅ׳öÒì³£»áÔõôÑùÄØ£¿ÕâÊǸöÖøÃûµÄجÃΣ¬ÒòΪÎö¹¹º¯Êý²»»á±»µ÷Óã¬ÔÚ´´½¨CMySimpleClass¶ÔÏó֮ǰÈç¹û·ÖÅäÁË×ÊÔ´¾Í»áй¶¡£¹ØÓÚÔÚ¹¹Ô캯ÊýÖÐÅ׳öÒì³£¿ÉÒÔµ¥½²Ò»¸öСʱ£¬µ«ÊÇÓÐÒ»¸ö½¨ÒéÊÇ£º¾¡Á¿±ÜÃâÔÚ¹¹Ô캯ÊýÖÐÅ׳öÒì³£¡£
ËùÒÔ£¬Ê¹ÓÃÁ½¶Îʽ¹¹Ôì·¨ÊÇÒ»¸ö¸üºÃµÄÑ¡Ôñ¡£¼òµ¥µÄ˵£¬¾ÍÊÇÔÚ¹¹Ô캯Êý±ÜÃâÈκοÉÄܲúÉú´íÎóµÄ¶¯×÷£¬±ÈÈç·ÖÅäÄڴ棬¶ø°ÑÕâЩ¶¯×÷·ÅÔÚ¹¹ÔìÍê³ÉÖ®ºó£¬µ÷ÓÃÁíÒ»¸öº¯Êý¡£±ÈÈç:
AddressBook*
book = new AddressBook()
If(!book->Construct())
{
delete book;
book = NULL;
} |
ÕâÑù¿ÉÒÔ±£Ö¤µ±Construct²»³É¹¦µÄʱºòÊÍ·ÅÒѾ·ÖÅäµÄ×ÊÔ´¡£
ÔÚ×îÖØÒªµÄÊÖ»ú²Ù×÷ϵͳSymbianÉÏ£¬¶þ¶Îʽ¹¹Ôì·¨ÆÕ±éʹÓá£
2.3.3. ÄÚ´æ·ÖÅäÆ÷
²»Í¬µÄϵͳÓÐ×Ų»Í¬µÄÄÚ´æ·ÖÅäµÄÌØµã¡£ÓÐЩҪÇó·ÖÅäºÜ¶àСÄڴ棬ÓеÄÔòÐèÒª¾³£Ôö³¤ÒѾ·ÖÅäµÄÄÚ´æ¡£Ò»¸öºÃµÄÄÚ´æ·ÖÅäÆ÷¶ÔǶÈëʽµÄÈí¼þµÄÐÔÄÜÓÐʱ¾ßÓÐÖØ´óµÄÒâÒå¡£Ó¦¸ÃÔÚϵͳÉè¼ÆÊ±±£Ö¤Õû¸öϵͳʹÓÃͳһµÄÄÚ´æ·ÖÅäÆ÷£¬²¢ÇÒ¿ÉÒÔËæÊ±¸ü»»¡£
2.3.4. ÄÚ´æÐ¹Â©
ÄÚ´æÐ¹Â©¶ÔǶÈëʽϵͳÓÐÏÞµÄÄÚ´æÊǷdz£ÑÏÖØµÄ¡£Í¨¹ýʹÓÃ×Ô¼ºµÄÄÚ´æ·ÖÅäÆ÷£¬¿ÉÒÔºÜÈÝÒ׵ĸú×ÙÄÚ´æµÄ·ÖÅäÊÍ·ÅÇé¿ö£¬´Ó¶ø¼ì²â³öÄÚ´æÐ¹Â©µÄÇé¿ö¡£
2.4. ´¦ÀíÆ÷ÄÜÁ¦ÓÐÏÞ£¬ÐÔÄÜÒªÇó¸ß
ÕâÀï²»ÌÖÂÛʵʱϵͳ£¬ÄÇÊÇÒ»¿éºÜ´óµÄרҵ»°Ìâ¡£¶ÔÒ»°ãµÄǶÈëʽϵͳ¶øÑÔ£¬ÓÉÓÚ´¦ÀíÆ÷ÄÜÁ¦ÓÐÏÞ£¬ÒªÌرð×¢ÒâÐÔÄܵÄÎÊÌ⡣һЩºÜºÃµÄ¼Ü¹¹Éè¼ÆÓÉÓÚ²»ÄÜÂú×ãÐÔÄÜÒªÇó£¬×îÖÕµ¼ÖÂÕû¸öÏîÄ¿µÄʧ°Ü¡£
2.4.1. µÖÓùм¼ÊõµÄÓÕ»ó
¼Ü¹¹Ê¦±ØÐëÃ÷°×£¬Ð¼¼Êõ³£³£Òâζן´ÔӺ͸üµÍµÄÐÔÄÜ¡£¼´Ê¹Õâ²»ÊǾø¶ÔµÄ£¬ÓÉÓÚǶÈëʽϵͳӲ¼þÐÔÄÜËùÏÞ£¬µ¯ÐԽϵ͡£Ò»µ©·¢ÏÖм¼ÊõÓк͵±³õÉèÏ벻֮ͬ´¦£¬¾Í¸üÄÑͨ¹ýÐÞ¸ÄÀ´ÊÊÓ¦¡£±ÈÈçGWT¼¼Êõ¡£ÕâÊÇGoogleÍÆ³öµÄAjax¿ª·¢¹¤¾ß£¬Ëü¿ÉÒÔÈóÌÐòÔ±Ïñ¿ª·¢Ò»¸ö×ÀÃæÓ¦ÓóÌÐòÒ»Ñù¿ª·¢WebµÄAjax³ÌÐò¡£ÕâʹµÃÔÚǶÈëʽϵͳÉÏÓÃÒ»Ì×´úÂëʵÏÖÔ¶³ÌºÍ±¾µØ²Ù×÷½çÃæ³ÉΪÁ˺ÜÈÝÒ×µÄÒ»¼þÊ¡£µ«ÊÇÔÚǶÈëʽÉ豸ÉÏÔËÐÐB-S½á¹¹µÄÓ¦Óã¬ÐÔÄÜÉÏÊÇÒ»¸öºÜ´óµÄÌôÕ½¡£Í¬Ê±£¬ä¯ÀÀÆ÷¼æÈÝ·½ÃæµÄÎÊÌâÒ²ºÜÑÏÖØ£¬GWTĿǰµÄ°æ±¾»¹²»¹»ÍêÉÆ¡£
ÊÂʵ֤Ã÷£¬Ç¶ÈëʽµÄÔ¶³Ì¿ØÖÆ·½°¸»¹ÊÇÒª²ÉÓÃActivex,VNC»òÕ߯äËûµÄ·½°¸¡£
2.4.2. ²»ÒªÓÐÌ«¶àµÄ²ã´Î
·Ö²ã½á¹¹ÓÐÀûÓÚÇåÎúµÄ»®·ÖϵͳְÔð£¬ÊµÏÖϵͳµÄ½âñµ«ÊÇÿ¶àÒ»¸ö²ã´Î£¬¾ÍÒâζ×ÅÐÔÄܵÄÒ»´ÎËðʧ¡£ÓÈÆäÊǵ±²ãºÍ²ãÖ®¼äÐèÒª´«µÝ´óÁ¿Êý¾ÝµÄʱºò¡£¶ÔǶÈëʽϵͳ¶øÑÔ£¬ÔÚ²ÉÓ÷ֲã½á¹¹Ê±Òª¿ØÖƲã´ÎÊýÁ¿£¬²¢ÇÒ¾¡Á¿²»Òª´«µÝ´óÁ¿Êý¾Ý£¬ÓÈÆäÊÇÔÚ²»Í¬½ø³ÌµÄ²ã´ÎÖ®¼ä¡£Èç¹ûÒ»¶¨Òª´«µÝÊý¾Ý£¬Òª±ÜÃâ´óÁ¿µÄÊý¾Ý¸ñʽת»»£¬ÈçXMLµ½¶þ½øÖÆ£¬C++½á¹¹µ½Python½á¹¹¡£
ǶÈëʽϵͳÄÜÁ¦ÓÐÏÞ£¬Ò»¶¨Òª½«ÓÐÏÞµÄÄÜÁ¦ÓÃÔÚϵͳµÄºËÐŦÄÜÉÏ¡£
2.5. ´æ´¢É豸Ò×Ë𻵣¬ËٶȽÏÂý
ÊÜÌå»ýºÍ³É±¾µÄÏÞÖÆ£¬´ó²¿·ÖµÄǶÈëʽÉ豸ʹÓÃÖîÈçCompact Flash, SD, mini SD,
MMCµÈ×÷Ϊ´æ´¢É豸¡£ÕâЩÉ豸ËäÈ»ÓÐ×Ų»µ£ÐÄ»úеÔ˶¯Ë𻵵ÄÓŵ㣬µ«ÊÇÆä±¾ÉíµÄʹÓÃÊÙÃü¶¼±È½Ï¶ÌÔÝ¡£±ÈÈ磬CF¿¨Ò»°ãÖ»ÄÜд100Íò´Î¡£¶øSD¸ü¶Ì£¬Ö»ÓÐ10Íò´Î¡£¶ÔÓÚÏñÊýÂëÏà»úÕâÑùµÄÓ¦Óã¬Ò²ÐíÊÇ×ã¹»µÄ¡£µ«ÊǶÔÓÚÐèҪƵ·±²Áд´ÅÅ̵ÄÓ¦Ó㬱ÈÈçÀúÊ·Êý¾Ý¿â£¬´ÅÅ̵ÄËð»µÎÊÌâ»áºÜ¿ìÏÔÏÖ¡£±ÈÈçÓÐÒ»¸öÓ¦ÓÃʽÿÌìÏòCF¿¨ÉÏдһ¸ö16MµÄÎļþ£¬ÎļþϵͳÊÇFAT16,
ÿ´Ø´óСÊÇ2K£¬ÄÇôдÍêÕâ¸ö16MµÄÎļþ£¬·ÖÇø±íÐèҪд8192´Î£¬ÓÚÊÇÒ»¸ö100Íò´ÎÊÙÃüµÄCFʵ¼ÊÄܹ»¹¤×÷µÄʱ¼äÊÇ1000000/8192
= 122Ìì¡£¶øË𻵵Äʱºò£¬CF¿¨µÄÆäËû¾ø´ó²¿·ÖµØ·½µÄʹÓôÎÊý²»¹ýÍò·ÖÖ®Ò»¡£
³ýÁËÒòΪ¾²Ì¬µÄÎļþ·ÖÇø±íµÈÇø¿é±»Æµ·±µÄ¶Áд¶øÌáǰË𻵣¬Ò»Ð©Ç¶ÈëʽÉ豸»¹ÒªÃæ¶ÔÖ±½Ó¶ÏµçµÄÌôÕ½£¬Õâ»áÔÚ´æ´¢É豸ÉϲúÉú²»ÍêÕûµÄÊý¾Ý¡£
2.5.1. ËðºÄ¾ùºâ
ËðºÄ¾ùºâµÄ»ù±¾Ë¼Â·ÊÇÆ½¾ùµØÊ¹Óô洢Æ÷Éϵĸ÷¸öÇø¿é¡£ÐèҪά»¤Ò»ÕÅ´æ´¢Æ÷Çø¿éʹÓÃÇé¿öµÄ±í£¬Õâ¸ö±í°üÀ¨Çø¿éµÄÆ«ÒÆÎ»Ö㬵±Ç°ÊÇ·ñ¿ÉÓã¬ÒÔ¼°ÒѾ²ÁдµØ´ÎÊý¡£µ±ÓÐеIJÁдÇëÇóµÄʱºò£¬¸ù¾ÝÒÔÏÂÔÔòÑ¡ÔñÇø¿é£º
1. ¾¡Á¿Á¬Ðø
20. ²Áд´ÎÊý×îÉÙ
¼´Ê¹ÊǸüÐÂÒѾ´æÔÚµÄÊý¾Ý£¬Ò²»áʹÓÃÒÔÉÏÔÔò·ÖÅäеÄÇø¿é¡£Í¬Ñù£¬ÕâÕűíµÄ´æ·ÅλÖÃÒ²²»ÄÜÊǹ̶¨²»±äµÄ£¬·ñÔòÕâÕűíËùÕ¼¾ÝµÄÇø¿é¾Í»á×îÏÈË𻵡£µ±Òª¸üÐÂÕâÕűíµÄʱºò£¬Í¬ÑùҪʹÓÃÒÔÉÏËã·¨·ÖÅäÇø¿é¡£
Èç¹û´æ´¢Æ÷ÉÏÓдóÁ¿µÄ¾²Ì¬Êý¾Ý£¬ÄÇôÉÏÊöËã·¨¾ÍÖ»ÄÜÕë¶ÔʣϵĿռäÉúЧ£¬ÕâÖÖÇé¿öÏ»¹ÒªÊµÏÖ¶ÔÕâЩ¾²Ì¬Êý¾ÝµÄ°áÔ˵ÄËã·¨¡£µ«ÊÇÕâÖÖËã·¨»á½µµÍд²Ù×÷µÄÐÔÄÜ£¬Ò²Ôö¼ÓÁËËã·¨µÄ¸´ÔÓ¶È¡£Ò»°ã¶¼Ö»Ê¹Óö¯Ì¬¾ùºâËã·¨¡£
Ŀǰ±È½Ï³ÉÊìµÄËðºÄ¾ùºâµÄÎļþϵͳÓÐJFFS2, ºÍ YAFFS¡£Ò²ÓÐÁíÒ»ÖÖ˼·¾ÍÊÇÔÚFAT16µÈ´«Í³ÎļþϵͳÉÏʵÏÖËðºÄ¾ùºâ£¬Ö»ÒªÊÂÏÈ·ÖÅäÒ»¿é×ã¹»´óµÄÎļþ£¬ÔÚÎļþÄÚ²¿ÊµÏÖËðºÄ¾ùºâËã·¨¡£²»¹ý±ØÐëÐÞ¸ÄFAT16µÄ´úÂ룬¹Ø±Õ¶Ô×îºóÐÞ¸Äʱ¼äµÄ¸üС£
ÏÖÔÚµÄCF¿¨ºÍSD¿¨ÓеÄÒѾÔÚÄÚ²¿ÊµÏÖÁËËðºÄ¾ùºâ£¬ÕâÖÖÇé¿öϾͲ»ÐèÒªÈí¼þʵÏÖÁË¡£
2.5.2. ´íÎó»Ö¸´
Èç¹ûÔÚÏò´æ´¢Æ÷дÊý¾ÝµÄʱºò·¢Éú¶Ïµç»òÕß±»°Î³ö£¬ÄÇôËùдµÄÇøÓòµÄÊý¾Ý¾Í´¦ÓÚδ֪µÄ״̬¡£ÔÚһЩӦÓÃÖУ¬Õâ»áµ¼Ö²»ÍêÕûµÄÎļþ£¬¶øÔÚÁíһЩӦÓÃÖУ¬Ôò»áµ¼ÖÂϵͳʧ°Ü¡£ËùÒÔ¶ÔÕâÀà´íÎóµÄ»Ö¸´Ò²ÊÇǶÈëʽÈí¼þÉè¼Æ±ØÐ뿼Âǵġ£³£ÓõÄ˼·ÓÐÁ½ÖÖ£º
1. ÈÕÖ¾Ð͵ÄÎļþϵͳ
ÕâÖÖÎļþϵͳ²¢²»ÊÇÖ±½Ó´æ´¢Êý¾Ý£¬¶øÊÇÒ»ÌõÌõµÄÈÕÖ¾£¬ËùÒÔµ±·¢Éú¶ÏµçµÄʱºò£¬×Ü¿ÉÒÔ»Ö¸´µ½Ö®Ç°µÄ״̬¡£ÕâÀàÎļþϵͳµÄ´ú±íÈçext3¡£
21. Ë«±¸·Ý
Ë«±¸·ÝµÄ˼·¸ü¼òµ¥£¬ËùÓеÄÊý¾Ý¶¼Ð´Á½·Ý¡£Ã¿´Î½»ÌæÊ¹Óá£Îļþ·ÖÇø±íÒ²±ØÐëÊÇË«±¸·ÝµÄ¡£¼ÙÉèÓÐÊý¾Ý¿éA£¬A1ÊÇËûµÄ±¸·Ý¿é£¬ÔÚ³õʼʱ¿ÌºÍAµÄÄÚÈÝÊÇÒ»Öµġ£ÔÚ·ÖÇø±íÖУ¬FÖ¸ÏòÊý¾Ý¿éA£¬F1ÊÇËûµÄ±¸·Ý¿é¡£µ±ÐÞ¸ÄÎļþʱ£¬Ê×ÏÈÐÞ¸ÄÊý¾Ý¿éA1µÄÄÚÈÝ£¬Èç¹û´Ëʱ¶Ïµç£¬A1µÄÄÚÈÝ´íÎ󣬵«ÒòΪFÖ¸ÏòµÄÊÇÍêºÃµÄA£¬ËùÒÔÊý¾ÝûÓÐË𻵡£Èç¹ûA1Ð޸ijɹ¦£¬ÔòÐÞ¸ÄF1µÄÄÚÈÝ£¬Èç¹û´Ëʱ¶Ïµç£¬ÒòΪFÊÇÍêºÃµÄ£¬ËùÒÔÒÀȻûÓÐÎÊÌâ¡£
ÏÖÔÚµÄFlashÉ豸£¬ÓеÄÒѾÄÚÖôíÎó¼ì²âºÍ´íÎóУÕý¼¼Êõ£¬¿ÉÒÔ±£Ö¤ÔڶϵçʱÊý¾ÝµÄÍêÕû¡£»¹ÓеİüÀ¨×Ô¶¯µÄ¶¯Ì¬/¾²Ì¬ËðºÄ¾ùºâËã·¨ºÍ»µ¿é´¦Àí£¬ÍêÈ«ÎÞÐëÉϲãÈí¼þ¶îÍâ¶Ô´ý£¬¿ÉÒÔµ±×÷Ó²ÅÌʹÓá£ËùÒÔ£¬Ó²¼þÔ½·¢´ï£¬Èí¼þ¾Í»áÔ½¿É¿¿£¬¼¼Êõ²»¶ÏµÄ½ø²½£¬½«ÈÃÎÒÃÇ¿ÉÒ԰Ѹü¶àµÄ¾«Á¦Í¶Èëµ½Èí¼þ¹¦Äܵı¾Éí£¬ÕâÊÇ·¢Õ¹µÄÇ÷ÊÆ¡£
2.6. ¹ÊÕϳɱ¾¸ß°º
ǶÈëʽ²úÆ·¶¼ÊÇÈíÓ²¼þÒ»ÆðÏúÊ۵ĸøÓû§µÄ£¬ËùÒÔÕâ´øÀ´ÁËÒ»¸ö´¿Èí¼þËù²»¾ß±¸µÄÎÊÌ⣬ÄǾÍÊǵ±²úÆ··¢Éú¹ÊÕÏʱ£¬Èç¹ûÐèÒª·µ³§²ÅÄÜÐÞ¸´£¬Ôò³É±¾¾ÍºÜ¸ß¡£Ç¶ÈëʽÉ豸³£¼ûÓÐÒÔϵļ¸Àà¹ÊÕÏ£º
a) Êý¾Ý¹ÊÕÏ¡£ÓÉÓÚijЩÔÒòµ¼ÖÂÊý¾Ý²»ÄܶÁ³ö»òÕß²»Ò»Ö¡£±ÈÈç¶ÏµçÒýÆðµÄÊý¾Ý¿â´íÎó¡£
b) Èí¼þ¹ÊÕÏ¡£Èí¼þ±¾ÉíµÄȱÏÝ£¬ÐèҪͨ¹ý·¢²¼²¹¶¡³ÌÐò»òÕßа汾µÄÈí¼þÐÞÕý¡£
c) ϵͳ¹ÊÕÏ¡£±ÈÈçÓû§ÏÂÔØÁË´íÎóµÄϵͳÄںˣ¬µ¼ÖÂϵͳÎÞ·¨Æô¶¯¡£
d) Ó²¼þ¹ÊÕÏ¡£ÕâÖÖ¹ÊÕÏÖ»Óзµ³§£¬²»ÊôÓÚÎÒÃǵÄÌÖÂÛ·¶Î§¡£
Õë¶ÔǰÈýÀà¹ÊÕÏ£¬Òª¾¡¿ÉÄܱ£Ö¤¿Í»§×Ô¼º£¬»òÕßÏÖ³¡¼¼ÊõÈËÔ±¾Í¿ÉÒÔ½â¾ö¡£´Ó¼Ü¹¹µÄ½Ç¶È¿¼ÂÇ£¬ÈçÏÂÔÔò¿ÉÒԲο¼£º
a) ʹÓþ߱¸´íÎó»Ö¸´ÄÜÁ¦µÄÊý¾Ý¹ÜÀíÉè¼Æ¡£µ±Êý¾Ý·¢Éú´íÎóʱ£¬Óû§¿ÉÒÔ½ÓÊܵĴ¦ÀíÒÀ´ÎÊÇ£º
i. ´íÎó±»¾ÀÕý£¬ËùÓÐÊý¾ÝÓÐЧ
ii. ´íÎó·¢ÉúʱµÄÊý¾Ý£¨¿ÉÄܲ»ÍêÕû£©¶ªÊ§£¬Ö®Ç°µÄÊý¾ÝÓÐЧ¡£
iii. ËùÓÐÊý¾Ý¶ªÊ§
iv. Êý¾ÝÒýÇæ±ÀÀ£ÎÞ·¨¼ÌÐø¹¤×÷
Ò»°ã¶øÑÔ£¬Âú×ãµÚ¶þ¸öÌõ¼þ¼´¿É¡£(ÈÕÖ¾£¬ÊÂÎñ£¬±¸·Ý£¬´íÎóʶ±ð)
b) ½«Ó¦ÓóÌÐòºÍϵͳ·ÖÀë¡£Ó¦ÓóÌÐòÓ¦¸Ã·ÅÖÃÔڿɲå°ÎµÄFlash¿¨ÉÏ£¬¿ÉÒÔͨ¹ý¶Á¿¨Æ÷½øÐÐÎļþ¸´ÖÆÉý¼¶¡£·Ç±ØÒªµÄÇé¿ö²»ÒªÊ¹ÓÃרÓÃÓ¦ÓÃÈí¼þÀ´Éý¼¶Ó¦ÓóÌÐò¡£
c) ÒªÓС°°²È«Ä£Ê½¡±¡£¼´µ±Ö÷ϵͳ±»Ë𻵺ó£¬É豸ÒÀÈ»¿ÉÒÔÆô¶¯£¬ÖØÐÂÉý¼¶ÏµÍ³¡£³£¼ûµÄuboot¿ÉÒÔ±£Ö¤ÕâÒ»µã£¬ÔÚϵͳË𻵺󣬿ÉÒÔ½øÈëubootͨ¹ýtftpÖØÐÂÉý¼¶¡£
3. Èí¼þ¿ò¼Ü
ÔÚ×ÀÃæÏµÍ³ºÍÍøÂçϵͳÉÏ£¬¿ò¼ÜÊÇÆÕ±éÓ¦Óõ쬱ÈÈçÖøÃûµÄACE, MFC, Ruby On RailsµÈ¡£¶øÔÚǶÈëʽϵͳÖУ¬¿ò¼ÜÔòÊǺÜÉÙʹÓõġ£¾¿ÆäÔÒò£¬´ó¸ÅÊÇÈÏΪǶÈëʽϵͳ¼òµ¥£¬Ã»ÓÐÖØ¸´ÐÔ£¬¹ýÓÚ×¢ÖØ¹¦ÄܵÄʵÏÖºÍÐÔÄܵÄÓÅ»¯¡£ÔÚǰÑÔÖÐÎÒÃÇÒѾÌáµ½£¬ÏÖÔÚµÄǶÈëʽ·¢Õ¹Ç÷ÊÆÊÇÏòן´ÔÓ»¯£¬´óÐÍ»¯£¬ÏµÁл¯·¢Õ¹µÄ¡£ËùÒÔ£¬ÔÚǶÈëʽÏÂÉè¼ÆÈí¼þ¿ò¼ÜÒ²ÊǺÜÓбØÒª£¬Ò²ºÜÓмÛÖµµÄ¡£
3.1. ǶÈëʽÈí¼þ¼Ü¹¹ÃæÁÙµÄÎÊÌâ
Ç°ÃæÎÒÃǽ²µ½£¬Ç¶ÈëʽϵͳÈí¼þ¼Ü¹¹ËùÃæÁÙµÄһЩÎÊÌ⣬ÆäÖкÜÖØÒªµÄÒ»µãÊÇ£¬¶ÔÓ²¼þµÄÒÀÀµºÍÓ²¼þÏà¹ØÈí¼þµÄ¸´ÔÓÐÔ¡£»¹°üÀ¨Ç¶ÈëʽÈí¼þÔÚÎȶ¨ÐÔºÍÄÚ´æÕ¼Óõȷ½ÃæµÄ¿Á¿ÌÒªÇó¡£Èç¹ûÍŶÓÖеÄÿ¸öÈ˶¼ÊÇÕâЩ·½Ãæ¸ßÊֵϰ£¬Ò²ÐíÓпÉÄÜ¿ª·¢³ö¸ßÖÊÁ¿µÄÈí¼þ£¬µ«ÊÂʵÊÇÒ»¸öÍŶÓÖпÉÄÜÖ»ÓÐÒ»Á½¸ö×ÊÉîÈËÔ±£¬ÆäËû´ó²¿·Ö¶¼Êdzõ¼¶¹¤³Ìʦ¡£ÈËÈ˶¼È¥ºÍÓ²¼þ´ò½»µÀ£¬¶¼¸ºÔðÎȶ¨ÐÔ£¬ÐÔÄܵȵÈÖ¸±êµÄ»°£¬ÊǺÜÄѱ£Ö¤×îÖÕ²úÆ·ÖÊÁ¿µÄ¡£Èç¹û×é¼þÍŶÓʱ¶¼ÊǾ«Í¨Ó²¼þµÈµ×²ã¼¼ÊõµÄÈ˲ţ¬ÓÖºÜÄÑÉè¼Æ³öÔÚ¿ÉÓÃÐÔ£¬À©Õ¹ÐԵȷ½Ãæ³öÉ«µÄÈí¼þ¡£ÊõÒµÓÐר¹¥£¬¼Ü¹¹Ê¦µÄÑ¡Ôñ¾ö¶¨×ÅÍŶӵÄ×é³É·½Ê½¡£
ͬʱ£¬Ç¶ÈëʽÈí¼þ¿ª·¢ËäÈ»¸´ÔÓ£¬µ«ÊÇÒ²´æÔÚ´óÁ¿µÄÖØÓõĿÉÄÜÐÔ¡£ÈçºÎÖØÓã¬ÓÖÈçºÎÓ¦¶Ô½«À´µÄ±ä¸ü£¿
ËùÒÔ£¬ÈçºÎ½«¸´ÔÓÐÔ¶Ô´ó¶àÊýÈËÆÁ±Î£¬ÈçºÎ½«¹Ø×¢µã·ÖÀ룬ÈçºÎ±£Ö¤ÏµÍ³µÄ¹Ø¼ü·Ç¹¦ÄÜÖ¸±ê£¬ÊÇǶÈëʽÈí¼þ¼Ü¹¹Éè¼ÆÊ¦Ó¦¸Ã½â¾öµÄÎÊÌâ¡£Ò»ÖÖ¿ÉÄܵĽâ¾ö·½°¸¾ÍÊÇÈí¼þ¿ò¼Ü¡£
3.2. ʲôÊÇ¿ò¼Ü
¿ò¼ÜÊÇÔÚÒ»¸ö¸ø¶¨µÄÎÊÌâÁìÓòÄÚ£¬ÎªÁËÖØÓúÍÓ¦¶ÔδÀ´ÐèÇó±ä»¯¶øÉè¼ÆµÄÈí¼þ°ë³ÉÆ·¡£¿ò¼ÜÇ¿µ÷¶ÔÌØ¶¨ÁìÓòµÄ³éÏ󣬰üº¬´óÁ¿µÄרҵÁìÓò֪ʶ£¬ÒÔËõ¶ÌÈí¼þµÄ¿ª·¢ÖÜÆÚ£¬Ìá¸ßÈí¼þÖÊÁ¿ÎªÄ¿µÄ¡£Ê¹Óÿò¼ÜµÄ¶þ´Î¿ª·¢Õßͨ¹ýÖØÐ´×ÓÀà»ò×é×°¶ÔÏóµÄ·½Ê½À´ÊµÏÖÌØÊâµÄ¹¦ÄÜ¡£
3.2.1. Èí¼þ¸´ÓõIJã´Î
¸´ÓÃÊÇÔÚÎÒÃǾ³£Ì¸µ½µÄ»°Ì⣬¡°²»ÒªÖظ´·¢Ã÷ÂÖ×Ó¡±Ò²ÊǶúÊìÄÜÏêµÄ½äÌõ¡£²»¹ý¶ÔÓÚ¸´ÓõÄÀí½âʵ¼ÊÉÏÊÇÓкܶà¸ö²ã´ÎµÄ¡£
×î»ù´¡µÄ¸´ÓÃÊǸ´ÖÆÕ³Ìù¡£Ä³¸ö¹¦ÄÜÒÔÇ°Ôø¾ÊµÏÖ¹ý£¬ÔÙ´ÎÐèÒªµÄʱºò¾Í¸´ÖƹýÀ´£¬ÐÞ¸ÄһϾͿÉÒÔʹÓ᣾Ñé·á¸»µÄ³ÌÐòÔ±Ò»°ã¶¼»áÓÐ×Ô¼ºµÄ³ÌÐò¿â£¬ÕâÑùËûÃÇʵÏÖµÄʱºò¾Í»á±ÈеijÌÐòÔ±¿ì¡£¸´ÖÆÕ³ÌùµÄȱµãÊÇ´úÂëûÓо¹ý³éÏó£¬ÍùÍù²¢²»ÍêÈ«µÄÊÊÓã¬ËùÒÔÐèÒª½øÐÐÐ޸쬾¹ý¶à´Î¸´Óú󣬴úÂ뽫»á±äµÃ»ìÂÒ£¬ÄÑÒÔÀí½â¡£ºÜ¶à¹«Ë¾µÄ²úÆ·¶¼ÓÐÕâ¸öÎÊÌ⣬һ¸ö²úÆ·µÄ´úÂë´ÓÁíÒ»¸ö²úÆ·¸´ÖƶøÀ´£¬ÐÞ¸ÄһϾÍÓã¬ÓÐʱºòÉõÖÁÀàÃû±äÁ¿Ãû¶¼²»¸Ä¡£°´ÕÕ¡°Ö»ÓÐΪ¸´ÓÃÉè¼ÆµÄ´úÂë²ÅÄÜÕæÕý¸´Óᱵıê×¼£¬Õâ³Æ²»ÉÏÊǸ´Ó㬻òÕß˵ÊǵÍˮƽµÄ¸´Óá£
¸ü¸ß¼¶µÄ¸´ÓÃÊÇÔòÊǿ⡣ÕâÖÖ¹¦ÄÜÐèÒª¶Ô¾³£Ê¹ÓõŦÄܽøÐгéÏó£¬ÌáÈ¡³öÆäÖк㶨²»±äµÄ²¿·Ö£¬ÒÔ¿âµÄÐÎʽÌṩ¸ø¶þ´Î¿ª·¢³ÌÐòԱʹÓá£ÒòΪÉè¼Æ¿âµÄʱºò²»ÖªµÀ¶þ´Î¿ª·¢Õß»áÈçºÎʹÓã¬ËùÒÔ¶ÔÉè¼ÆÕßÓÐןܸߵÄÒªÇó¡£ÕâÊÇʹÓÃ×î¹ã·ºµÄÒ»ÖÖ¸´Ó㬱ÈÈç±ê×¼C¿â£¬STL¿â¡£ÏÖÔڷdz£Á÷ÐеÄPythonÓïÑÔµÄÖØÒªÓÅÊÆÖ®Ò»¾ÍÊÇÆä¿âÖ§³Ö·Ç³£¹ã·º£¬Ïà·´C++һֱȱÉÙÒ»¸öÇ¿´óͳһµÄ¿âÖ§³Ö£¬³ÉΪ¶Ì°å¡£ÔÚ¹«Ë¾ÄÚ²¿µÄ¿ª·¢ÖÐ×᳣ܽÓù¦Äܲ¢¿ª·¢³É¿âÊǺÜÓмÛÖµµÄ£¬È±µãÊǶԿâµÄÉý¼¶»áÓ°Ïìµ½ºÜ¶àµÄ²úÆ·£¬±ØÐëÉ÷Ö®ÓÖÉ÷¡£
¿ò¼ÜÊÇÁíÒ»ÖÖ¸´Ó᣺ͿâÒ»Ñù£¬¿ò¼ÜÒ²ÊǶÔϵͳÖв»±äµÄ²¿·Ö½øÐгéÏó²¢¼ÓÒÔʵÏÖ£¬Óɶþ´Î¿ª·¢ÕßʵÏÖÆäËû±ä»¯µÄ²¿·Ö¡£µäÐ͵Ŀò¼ÜºÍ¿âµÄ×î´óµÄÇø±ðÊÇ£¬¿âÊǾ²Ì¬µÄ£¬Óɶþ´Î¿ª·¢Õßµ÷Óõģ»¿ò¼ÜÊÇ»î×ŵģ¬ËüÊÇÖ÷¿ØÕߣ¬¶þ´Î¿ª·¢ÕߵĴúÂë±ØÐë·ûºÏ¿ò¼ÜµÄÉè¼Æ£¬ÓÉ¿ò¼Ü¾ö¶¨ÔÚºÎʱµ÷Óá£
¾Ù¸öÀý×Ó£¬Ò»¸öÍøÂçÓ¦ÓÃ×ÜÊÇ񻃾¼°µ½Á¬½ÓµÄ½¨Á¢£¬Êý¾ÝÊÕ·¢ºÍÁ¬½ÓµÄ¹Ø±Õ¡£ÒÔ¿âµÄÐÎʽÌṩÊÇÕâÑùµÄ£º
conn = connect(host,port);
if(conn.isvalid())
{
data = conn.recv();
printf(data);
conn.close();
} |
¿ò¼ÜÔòÊÇÕâÑùµÄ£º
class mycomm:class
connect
{
public:
host();
port();
onconnected();
ondataarrived(unsigned char* data, int len);
onclose();
}; |
¿ò¼Ü»áÔÚ¡°Êʵ±¡±µÄʱ»ú´´½¨mycomm¶ÔÏ󣬲¢²éѯhostºÍport£¬È»ºó½¨Á¢Á¬½Ó¡£ÔÚÁ¬½Ó½¨Á¢ºó£¬µ÷ÓÃonconnected()½Ó¿Ú£¬¸ø¶þ´Î¿ª·¢ÕßÌṩ½øÐд¦ÀíµÄ»ú»á¡£µ±Êý¾Ýµ½´ïµÄʱºòµ÷ÓÃondataarrived½Ó¿ÚÈöþ´Î¿ª·¢Õß´¦Àí¡£ÕâÊǺÃÀ³ÎëÔÔò£¬¡°²»ÒªÀ´ÕÒÎÒÃÇ£¬ÎÒÃÇ»áÈ¥ÕÒÄ㡱¡£
µ±È»£¬Ò»¸öÍêÕûµÄ¿ò¼Üͨ³£Ò²ÒªÌṩ¸÷Öֿ⹩¶þ´Î¿ª·¢ÕßʹÓᣱÈÈçMFCÌṩÁ˺ܶàµÄ¿â£¬ÈçCString,
µ«±¾ÖÊÉÏËüÊÇÒ»¸ö¿ò¼Ü¡£±ÈÈçʵÏÖÒ»¸ö¶Ô»°¿òµÄOnInitDialog½Ó¿Ú£¬¾ÍÊÇÓÉ¿ò¼Ü¹æ¶¨µÄ¡£
3.2.2. Õë¶Ô¸ß¶ÈÌØ¶¨ÁìÓòµÄ³éÏó
ºÍ¿â±È½ÏÆðÀ´£¬¿ò¼ÜÊǸüÕë¶ÔÌØ¶¨ÁìÓòµÄ³éÏ󡣿⣬±ÈÈçC¿â£¬ÊÇÃæÏòËùÓеÄÓ¦Óõġ£¶ø¿ò¼ÜÏà¶ÔÀ´ËµÔòÒªÏÁյĶࡣ±ÈÈçMFCÌṩµÄ¿ò¼ÜÖ»ÊʺÏÓÚWindowsƽ̨µÄ×ÀÃæÓ¦ÓóÌÐò¿ª·¢£¬ACEÔòÊÇÕë¶ÔÍøÂçÓ¦Óÿª·¢µÄ¿ò¼Ü£¬Ruby
On RailsÊÇΪ¿ìËÙ¿ª·¢webÕ¾µãÉè¼ÆµÄ¡£
Ô½ÊÇÕë¶ÔÌØ¶¨µÄÁìÓò£¬³éÏó¾Í¿ÉÒÔ×öµÄԽǿ£¬¶þ´Î¿ª·¢¾Í¿ÉÒÔÔ½¼òµ¥£¬ÒòΪ¹²ÐԵĶ«Î÷Ô½¶à¡£±ÈÈçÎÒÃÇÉÏÃæÌ¸µ½Ç¶ÈëʽϵͳÈí¼þ¿ª·¢µÄÖî¶àÌØµã£¬Õâ¾ÍÊÇÌØ¶¨ÁìÓòµÄ¹²ÐÔ£¬¾ÍÊôÓÚ¿ÉÒÔ³éÏóµÄ²¿·Ö¡£¾ßÌ嵽ʵ¼ÊµÄǶÈëʽӦÓã¬ÓÖ»áÓиü¶àµÄ¹²ÐÔ¿ÉÒÔ³éÏó¡£
¿ò¼ÜµÄÉè¼ÆÄ¿µÄÊÇ×ܽáÌØ¶¨ÁìÓòµÄ¹²ÐÔ£¬ÒÔ¿ò¼ÜµÄ·½Ê½ÊµÏÖ£¬²¢¹æ¶¨¶þ´Î¿ª·¢ÕßµÄʵÏÖ·½Ê½£¬´Ó¶ø¼ò»¯¿ª·¢¡£ÏàÓ¦µÄ£¬Õë¶ÔÒ»¸öÁìÓò¿ª·¢µÄ¿ò¼Ü¾Í²»ÄÜ·þÎñÓÚÁíÒ»¸öÁìÓò¡£¶ÔÆóÒµ¶øÑÔ£¬¿ò¼ÜÊÇÒ»ÖÖ¼«ºÃµÄ»ýÀÛ֪ʶ£¬½µµÍ³É±¾µÄ¼¼ÊõÊֶΡ£
3.2.3. ½â³ýñîºÏºÍÓ¦¶Ô±ä»¯
¿ò¼ÜÉè¼ÆµÄÒ»¸öÖØÒªÄ¿µÄ¾ÍÊÇÓ¦¶Ô±ä»¯¡£Ó¦¶Ô±ä»¯µÄ±¾ÖʾÍÊǽâñî¡£´Ó¼Ü¹¹Ê¦µÄ½Ç¶È¿´£¬½âñî¿ÉÒÔ·ÖΪÈýÖÖ£º
1. Âß¼½âñî¡£Âß¼½âñîÊǽ«Âß¼Éϲ»Í¬µÄÄ£¿é³éÏó²¢·ÖÀë´¦Àí¡£ÈçÊý¾ÝºÍ½çÃæµÄ½âñî¡£ÕâÒ²ÊÇÎÒÃÇ×î³£×öµÄ½âñî¡£
22. ֪ʶ½âñ֪ʶ½âñîÊÇͨ¹ýÉè¼ÆÈÃÕÆÎÕ²»Í¬ÖªÊ¶µÄÈ˽ö½öͨ¹ý½Ó¿Ú¹¤×÷¡£µäÐ͵ÄÈç²âÊÔ¹¤³ÌʦËùÕÆÎÕµÄרҵ֪ʶºÍ¿ª·¢¹¤³ÌʦËùÕÆÎյijÌÐòÉè¼ÆºÍʵÏÖµÄ֪ʶ¡£´«Í³µÄ²âÊԽű¾Í¨³£Êǽ«Õâ¶þÕߺ϶þΪһµÄ¡£ËùÒÔÒªÇó²âÊÔ¹¤³Ìʦͬʱ¾ß±¸±à³ÌµÄÄÜÁ¦¡£Í¨¹ýÊʵ±µÄ·½Ê½£¬¿ÉÒÔÈòâÊÔ¹¤³ÌʦÒÔ×î¼òµ¥µÄ·½Ê½ÊµÏÖËûµÄ²âÊÔÓÃÀý£¬¶ø¿ª·¢ÈËÔ±±àд´«Í³µÄ³ÌÐò´úÂëÀ´Ö´ÐÐÕâЩÓÃÀý¡£
23. ±äÓë²»±äµÄ½âñî¡£ÕâÊÇ¿ò¼ÜµÄÖØÒªÌØÕ÷¡£¿ò¼Üͨ¹ý¶ÔÁìÓò֪ʶµÄ·ÖÎö£¬½«¹²ÐÔ£¬Ò²¾ÍÊDz»±äµÄÄÚÈݹ̶¨ÏÂÀ´£¬¶ø½«¿ÉÄÜ·¢Éú±ä»¯µÄ²¿·Ö½»¸ø¶þ´Î¿ª·¢ÕßʵÏÖ¡£
3.2.4. ¿ò¼Ü¿ÉÒÔʵÏֺ͹涨·Ç¹¦ÄÜÐÔÐèÇó
·Ç¹¦ÄÜÐÔÐèÇóÊÇÖ¸ÈçÐÔÄÜ£¬¿É¿¿ÐÔ£¬¿É²âÊÔÐÔ£¬¿ÉÒÆÖ²ÐԵȡ£ÕâÐ©ÌØÐÔ¿ÉÒÔͨ¹ý¿ò¼ÜÀ´ÊµÏÖ¡£ÒÔÏÂÎÒÃÇÒ»Ò»¾ÙÀý¡£
ÐÔÄÜ¡£¶ÔÐÔÄܵÄÓÅ»¯×î¼É»äµÄ¾ÍÊÇÆÕ±éÓÅ»¯¡£ÏµÍ³µÄÐÔÄÜÍùÍùÈ¡¾öÓÚÒ»Ð©ÌØ¶¨µÄµã¡£±ÈÈçÔÚǶÈëʽϵͳÖУ¬¶Ô´æ´¢É豸µÄ·ÃÎÊÊDZȽÏÂýµÄ¡£Èç¹û¿ª·¢Õß²»×¢ÒâÕâ·½ÃæµÄÎÊÌ⣬Ƶ·±µÄ¶Áд´æ´¢É豸£¬¾Í»áÔì³ÉÐÔÄÜϽµ¡£Èç¹û¶Ô´æ´¢É豸µÄ¶ÁдÓÉ¿ò¼ÜÉè¼Æ£¬¶þ´Î¿ª·¢ÕßÖ»×÷ΪÊý¾ÝµÄÌṩºÍ´¦ÀíÕߣ¬ÄÇô¾Í¿ÉÒÔÔÚ¿ò¼ÜÖжԶÁдµÄƵÂʽøÐе÷½Ú£¬´Ó¶ø´ïµ½ÓÅ»¯ÐÔÄܵÄÄ¿µÄ¡£ÓÉÓÚ¿ò¼Ü¶¼Êǵ¥¶À¿ª·¢µÄ£¬Íê³Éºó¹©¹ã·ºÊ¹Óã¬ËùÒÔ¾ÍÓÐÌõ¼þ¶Ô¹Ø¼üµÄÐÔÄÜµã½øÐгä·ÖµÄÓÅ»¯¡£
¿É¿¿ÐÔ¡£ÒÔÉÏÃæµÄÍøÂçͨѶ³ÌÐòΪÀý£¬ÓÉÓÚ¿ò¼Ü¸ºÔðÁËÁ¬½ÓµÄ´´½¨ºÍ¹ÜÀí£¬Ò²´¦ÀíÁ˸÷ÖÖ¿ÉÄܵÄÍøÂç´íÎ󣬾ßÌåµÄʵÏÖÕßÎÞÐëÁ˽âÕâ·½ÃæµÄ֪ʶ£¬Ò²ÎÞÐëʵÏÖÕâ·½Ãæ´íÎó´¦ÀíµÄ´úÂ룬¾Í¿ÉÒÔ±£Ö¤Õû¸öϵͳÔÚÍøÂçͨѶ·½ÃæµÄ¿É¿¿ÐÔ¡£ÒÔ¿ò¼ÜµÄ·½Ê½Éè¼ÆÔÚ¿É¿¿ÐÔ·½ÃæµÄ×î´óÓÅÊÆ¾ÍÊÇ£º¶þ´Î¿ª·¢µÄ´úÂëÊÇÔÚ¿ò¼ÜµÄÕÆ¿ØÖ®ÄÚÔËÐеġ£Ò»·½Ãæ¿ò¼Ü¿ÉÒÔ½«ÈÝÒ׳ö´íµÄ²¿·ÖʵÏÖ£¬ÁíÒ»·½Ãæ¶Ô¶þ´Î¿ª·¢µÄ´úÂë²úÉúµÄ´íÎóÒ²¿ÉÒÔ²¶»ñºÍ´¦Àí¡£¶ø¿âÔò²»ÄÜ´úÌæÊ¹ÓÃÕß´¦Àí´íÎó¡£
¿É²âÊÔÐÔ¡£¿É²âÊÔÐÔÊÇÈí¼þ¼Ü¹¹ÐèÒª¿¼ÂǵÄÒ»¸öÖØÒª·½Ãæ¡£ÏÂÃæµÄÕ½ڻὲµ½£¬Èí¼þµÄ¿É²âÊÔÐÔÊÇÓÉÓÅÁ¼µÄÉè¼ÆÀ´±£Ö¤µÄ¡£Ò»·½Ã棬ÓÉÓÚ¿ò¼Ü¹æ¶¨Á˶þ´Î¿ª·¢µÄ½Ó¿Ú£¬ËùÒÔ¿ÉÒÔÆÈʹ¶þ´Î¿ª·¢Õß¿ª·¢³ö±ãÓÚ½øÐе¥Ôª²âÊԵĴúÂë¡£ÁíÒ»·½Ã棬¿ò¼ÜÒ²¿ÉÒÔÔÚϵͳ²âÊԵIJãÃæÉÏÌṩÒ×ÓÚʵÏÖ×Ô¶¯»¯²âÊԺͻعé²âÊÔµÄÉè¼Æ£¬ÀýÈçͳһÌṩµÄTL1½Ó¿Ú¡£
¿ÉÒÆÖ²ÐÔ¡£Èç¹ûÈí¼þµÄ¿ÉÒÆÖ²ÐÔÊÇÈí¼þÉè¼ÆµÄÄ¿±ê£¬¿ò¼ÜÉè¼ÆÕß¿ÉÒÔÔÚÉè¼Æ½×¶ÎÀ´±£Ö¤ÕâÒ»µã¡£Ò»ÖÖ·½Ê½ÊÇͨ¹ý¿çƽ̨µÄ¿âÀ´ÆÁ±Îϵͳ²îÒ죬ÁíÒ»ÖÖ¿ÉÄܵķ½Ê½¸ü¼Ó¼«¶Ë£¬»ùÓÚ¿ò¼ÜµÄ¶þ´Î¿ª·¢¿ÉÒÔÊǽű¾»¯µÄ¡£×é̬Èí¼þÊÇÕâ·½ÃæµÄÒ»¸öÀý×Ó£¬ÔÚPCÉÏ×é̬µÄ¹¤³Ì£¬Ò²¿ÉÒÔÔÚǶÈëʽÉ豸ÉÏÔËÐС£
3.3. Ò»¸ö¿ò¼ÜÉè¼ÆµÄʵÀý
3.3.1. »ù±¾¼Ü¹¹
3.3.2. ¹¦ÄÜÌØµã
ÉÏÃæÊÇÒ»¸ö²úƷϵÁеļܹ¹Í¼£¬ÆäÌØµãÊÇÓ²¼þ²¿·ÖÊÇÄ£¿é»¯µÄ£¬¿ÉÒÔËæÊ±²å°Î¡£²»Í¬µÄÓ²¼þÓ¦ÓÃÓÚ²»Í¬µÄͨѶ²âÊÔ³¡ºÏ¡£±ÈÈç¹âͨѶ²âÊÔ£¬xDSL²âÊÔ£¬Cable
Modem²âÊԵȵȡ£Õë¶Ô²»Í¬µÄÓ²¼þ£¬ÐèÒª¿ª·¢²»Í¬µÄ¹Ì¼þºÍÈí¼þ¡£¹Ì¼þ²ãµÄ¹¦ÄÜÖ÷ÒªÊÇͨ¹ýUSB½Ó¿Ú½ÓÊÕÀ´×ÔÈí¼þµÄÖ¸Á²¢¶ÁдÏàÓ¦µÄÓ²¼þ½Ó¿Ú£¬ÔÙ½øÐÐһЩ¼ÆËãºó£¬½«½á¹û·µ»Ø¸øÈí¼þ¡£Èí¼þÔËÐÐÔÚWinCEƽ̨£¬³ýÁËÌṩһ¸ö´¥ÃþʽµÄͼÐλ¯½çÃæÍ⣬»¹¶ÔÍâÌṩ»ùÓÚXML(SOAP)½Ó¿ÚºÍTL1½Ó¿Ú¡£ÎªÁËʵÏÖ×Ô¶¯»¯²âÊÔ£¬»¹ÌṩÁË»ùÓÚLuaµÄ½Å±¾ÓïÑÔ½Ó¿Ú¡£Õû¸ö²úƷϵÁÐÓм¸Ê®¸ö²»Í¬µÄÓ²¼þÄ£¿é£¬ÏàÓ¦µÄÐèÒª¿ª·¢¼¸Ê®Ì×Èí¼þ¡£ÕâЩÈí¼þËäÈ»·þÎñÓÚ²»Í¬µÄÓ²¼þ£¬µ«ÊDZ˴ËÖ®¼äÓÐן߶ȵÄÏàËÆÐÔ¡£ËùÒÔ£¬Ñ¡ÔñÏÈ¿ª·¢Ò»¸ö¿ò¼Ü£¬ÔÙ»ùÓÚ¿ò¼Ü¿ª·¢¾ßÌåµÄÄ£¿éÈí¼þ³ÉÁË×îÓŵÄÑ¡Ôñ¡£
3.3.3. ·ÖÎö
Èí¼þ²¿·ÖµÄ½á¹¹·ÖÎöÈçÏ£º
ϵͳ·ÖΪÈí¼þ£¬¹Ì¼þºÍÓ²¼þÈý´ó¿é¡£Èí¼þºÍ¹Ì¼þÔËÐÐÔÚÁ½¿é¶ÀÁ¢µÄ°å×ÓÉÏ£¬Óи÷×ԵĴ¦ÀíÆ÷ºÍ²Ù×÷ϵͳ¡£Ó²¼þÔò²åÔڹ̼þËùÔڵİå×ÓÉÏ£¬ÊÇ¿ÉÒÔÌæ»»µÄ¡£
Èí¼þºÍ¹Ì¼þÆäʵ¶¼ÊÇÈí¼þ£¬ÏÂÃæÎÒÃÇ·Ö±ð·ÖÎö¡£
Èí¼þ
Èí¼þµÄÖ÷Òª¹¤×÷ÊÇÌṩ¸÷ÖÖÓû§½çÃæ¡£°üÀ¨±¾µØÍ¼Ðλ¯½çÃæ£¬SOAP·ÃÎʽçÃæ£¬TL1·ÃÎʽçÃæ¡£
Õû¸öÈí¼þ²¿·Ö·ÖΪÎå´ó²¿·Ö£º
ͨѶ²ã
ÐÒé²ã
ͼÐνçÃæ
SOAP·þÎñÆ÷
TL1·þÎñÆ÷
ͨѶ²ãÒªÆÁ±ÎÓû§¶Ô¾ßÌåͨÐŽéÖʺÍÐÒéµÄÁ˽⣬ÎÞÂÛÊÇUSB»¹ÊÇsocket£¬¶ÔÉϲ㶼²»²úÉúÓ°Ï졣ͨѶ²ã¸ºÔðÌṩ¿É¿¿µÄͨѶ·þÎñºÍÊʵ±µÄ´íÎó´¦Àí¡£Í¨¹ýÅäÖÃÎļþ,Óû§¿ÉÒԸıäËùʹÓõÄͨѶ²ã¡£
ÐÒé²ãµÄÄ¿µÄÊǽ«Êý¾Ý½øÐбàÂëºÍ½âÂë¡£±àÂëµÄ²úÉúÎïÊÇ¿ÉÒÔÔÚͨѶ²ã·¢Ë͵ÄÁ÷£¬°´ÕÕǶÈëʽÈí¼þµÄÌØµã£¬ÎÒÃÇÑ¡Ôñ¶þ½øÖÆ×÷ΪÁ÷µÄ¸ñʽ¡£½âÂëµÄ²úÉúÎïÊǶàÖֵ쬼ÈÓй©½çÃæÊ¹ÓõÄC
Struct£¬Ò²¿ÉÒÔÊÇXMLÊý¾Ý£¬»¹¿ÉÒÔÊÇLuaµÄÊý¾Ý½á¹¹(tablegt)¡£Èç¹ûÐèÒª£¬»¹¿ÉÒÔ²úÉúJSON,TL1,PythonÊý¾Ý,TCLÊý¾ÝµÈµÈ¡£ÕâÒ»²ãÔÚ¿ò¼ÜÖÐÊÇͨ¹ý»úÆ÷×Ô¶¯Éú³ÉµÄ£¬ÎÒÃǺóÃæ»á½²µ½¡£
ÄÚ´æÊý¾Ý¿â£¬SOAP ServerºÍTL1 Server¶¼ÊÇÐÒé²ãµÄÓû§¡£Í¼ÐνçÃæÍ¨¹ý¶ÁдÄÚ´æÊý¾Ý¿âºÍµ×²ãͨѶ¡£
ͼÐνçÃæÊÇ¿ò¼ÜÉè¼ÆµÄÖØµãÖ®Ò»£¬ÔÒòÊÇÕâÀ﹤×÷Á¿×î´ó£¬Öظ´¶øÎÞÁĵŤ×÷×î¶à¡£
ÈÃÎÒÃÇ·ÖÎöÒ»ÏÂÔÚͼÐνçÃæ¿ª·¢¹¤×÷ÖÐ×îÖ÷ÒªµÄÊÂÇéÊÇʲô¡£
1. ÊÕ¼¯Óû§ÊäÈëµÄÊý¾ÝºÍÃüÁî
24. ½«Êý¾ÝºÍÃüÁî·¢¸øµ×²ã
25. ½ÓÊյײ㷴À¡
26. ½«Êý¾ÝÏÔʾÔÚ½çÃæÉÏ
ͬʱÓÐһЩ¿âÓÃÀ´½øÒ»²½¼ò»¯¿ª·¢£º
ÕâÊÇÒ»¸ö¼ò»¯µÄÀý×Ó£¬µ«ÊǺܺõÄ˵Ã÷ÁË¿ò¼ÜµÄÌØµã£º
1. ¿Í»§´úÂë±ØÐë°´Õչ涨µÄ½Ó¿ÚʵÏÖ
27. ¿ò¼ÜÔÚÊʵ±µÄʱºòµ÷Óÿͻ§ÊµÏֵĽӿÚ
28. ÿ¸ö½Ó¿Ú¶¼±»Éè¼ÆÎªÖ»Íê³ÉÌØ¶¨µÄµ¥Ò»¹¦ÄÜ
29. ½«¸÷¸ö²½ÖèÓлúµÄ´®ÆðÀ´ÊÇ¿ò¼ÜµÄÊ£¬¶þ´Î¿ª·¢Õß²»ÖªµÀ£¬Ò²ÎÞÐëÖªµÀ¡£
30. ͨ³£¶¼ÒªÓи½´øµÄ¿â¡£
¹Ì¼þ
¹Ì¼þµÄÖ÷Òª¹¤×÷ÊǽÓÊÜÀ´×ÔÈí¼þµÄÃüÁÇý¶¯Ó²¼þ¹¤×÷£»»ñȡӲ¼þµÄ״̬£¬½øÐÐÒ»¶¨µÄ¼ÆËãºó·µ»Ø¸øÈí¼þ¡£ÔçÆÚµÄ¹Ì¼þÊǺܱ¡µÄÒ»²ã£¬ÒòΪ¾ø´ó²¿·Ö¹¤×÷ÊÇÓÉÓ²¼þÍê³ÉµÄ£¬¹Ì¼þÖ»Æðµ½Ò»¸öÖÐתͨѶµÄ×÷Óá£Ëæ×Åʱ´ú·¢Õ¹£¬ÏÖÔڵĹ̼þ¿ªÊ¼³Ðµ£Ô½À´Ô½¶àÔÀ´ÓÉÓ²¼þÍê³ÉµÄ¹¤×÷¡£
Õû¸ö¹Ì¼þ²¿·Ö·ÖΪÎå´ó²¿·Ö£º
Ó²¼þ³éÏó²ã£¬Ìṩ¶ÔÓ²¼þµÄ·ÃÎʽӿÚ
»¥Ïà¶ÀÁ¢µÄÈÎÎñȺ
ÈÎÎñ/ÏûÏ¢ÅÉ·¢Æ÷
ÐÒé²ã
ͨѶ²ã
Õë¶Ô²»Í¬µÄÉ豸£¬¹¤×÷Á¿¼¯ÖÐÔÚÓ²¼þ³éÏó²ãºÍÈÎÎñȺÉÏ¡£Ó²¼þ³éÏó²ãÊÇÒÔ¿âµÄÐÎʽÌṩµÄ£¬ÓɶÔÓ²¼þ×îÊìϤ£¬¾Ñé×î·á¸»µÄ¹¤³ÌʦÀ´ÊµÏÖ¡£ÈÎÎñȺÔòÓÉһϵÁеÄÈÎÎñ×é³É£¬ËûÃÇ·Ö±ð´ú±í²»Í¬µÄÒµÎñÓ¦ÓᣱÈÈç²âÁ¿ÎóÂëÂÊ¡£Õⲿ·ÖÓÉÏà¶Ô¾Ñé½ÏÉٵŤ³ÌʦÀ´ÊµÏÖ£¬ËûÃǵÄÖ÷Òª¹¤×÷ÊÇʵÏֹ涨µÄ½Ó¿Ú£¬°´ÕÕ±ê×¼»¯Îĵµ¶¨ÒåµÄ·½Ê½ÊµÏÖËã·¨¡£
ÈÎÎñ¶¨ÒåÁËÈçϽӿڣ¬ÓɾßÌ忪·¢ÕßÀ´ÊµÏÖ£º
OnInit();
OnRegisterMessage();
OnMessageArrive();
Run();
OnResultReport(); |
¿ò¼ÜµÄ´úÂëÁ÷³ÌÈçÏ£º£¨Î±´úÂ룩
CTask* task
= new CBertTask();
task->OnInit();
task->OnRegisterMessage();
while(TRUE)
{
task->OnMessageArrive();
task->Run();
task->OnResultReport();
}
delete task;
task = NULL; |
ÕâÑù£¬¾ßÌåÈÎÎñµÄʵÏÖÕßËù¹Ø×¢µÄ×îÖØÒªµÄÊÂÇé¾ÍÊÇʵÏÖÕ⼸¸ö½Ó¿Ú¡£ÆäËûÈçÓ²¼þµÄ³õʼ»¯£¬ÏûÏ¢µÄÊÕ·¢£¬±àÂë½âÂ룬½á¹ûµÄÉϱ¨µÈµÈÊÂÇé¶¼ÓÉ¿ò¼Ü½øÐÐÁË´¦Àí¡£
±ÜÃâÁËÿ¸ö¹¤³Ìʦ¶¼±ØÐë´¦Àí´ÓÉϵ½ÏµÄËùÓз½Ãæ¡£²¢ÇÒÕâÑùµÄÈÎÎñ´úÂ뻹ÓкܸߵÄÖØÓÃÐÔ,±ÈÈçÊÇÔÚÒÔÌ«ÍøÉÏ»¹ÊÇÔÚCable
ModemÉÏʵÏÖPINGµÄËã·¨¶¼ÊÇÒ»ÑùµÄ¡£
3.3.4. ʵ¼ÊЧ¹û
ÔÚʵ¼ÊÏîÄ¿ÖУ¬¿ò¼Ü´ó´ó½µµÍÁË¿ª·¢ÄѶȡ£¶ÔÈí¼þ²¿·ÖÓÈÆäÃ÷ÏÔ£¬ÓÉʵϰÉú¼´¿ÉÍê³É¸ßÖÊÁ¿µÄ½çÃæ¿ª·¢£¬¿ª·¢ÖÜÆÚËõ¶Ì50%ÒÔÉÏ¡£²úÆ·ÖÊÁ¿´ó´óÌáÉý¡£¶Ô¹Ì¼þ²¿·ÖµÄ¹±Ï×ÔÚÓÚ½µµÍÁ˶Ծ«Í¨µ×²ãÓ²¼þµÄ¹¤³ÌʦµÄÐèÒª£¬Ò»°ãµÄ¹¤³ÌʦÊìÖª²âÁ¿Ëã·¨¼´¿É¡£Í¬Ê±£¬¿ò¼ÜµÄ´æÔÚ±£Ö¤ÁËÐÔÄÜ£¬Îȶ¨ºÍ¿É²âÊÔÐÔµÈÒªËØ¡£
3.4. ¿ò¼ÜÉè¼ÆÖеij£ÓÃģʽ
3.4.1. Ä£°å·½·¨Ä£Ê½
Ä£°å·½·¨Ä£Ê½ÊÇ¿ò¼ÜÖÐ×î³£ÓõÄÉè¼ÆÄ£Ê½¡£Æä¸ù±¾µÄ˼·Êǽ«Ëã·¨ÓÉ¿ò¼Ü¹Ì¶¨£¬¶ø½«Ëã·¨ÖоßÌåµÄ²Ù×÷½»¸ø¶þ´Î¿ª·¢ÕßʵÏÖ¡£ÀýÈçÒ»¸öÉ豸³õʼ»¯µÄÂß¼£¬¿ò¼Ü´úÂëÈçÏ£º
TBool CBaseDevice::Init()
{
if ( DownloadFPGA() != KErrNone )
{
LOG(LOG_ERROR,_L(¡°Download FPGA fail¡±));
return EFalse;
}
if ( InitKeyPad() != KerrNone )
{
LOG(LOG_ERROR,_L(¡°Initialize keypad fail¡±));
return EFalse;
}
return ETrue;
}
|
DownloadFPGAºÍInitKeyPad¶¼ÊÇCBaseDevice¶¨ÒåµÄÐ麯Êý£¬¶þ´Î¿ª·¢Õß´´½¨Ò»¸ö¼Ì³ÐÓÚCBaseDeviceµÄ×ÓÀ࣬¾ßÌåÀ´ÊµÏÖÕâÁ½¸ö½Ó¿Ú¡£¿ò¼Ü¶¨ÒåÁ˵÷ÓõĴÎÐòºÍ´íÎóµÄ´¦Àí·½Ê½£¬¶þ´Î¿ª·¢ÕßÎÞÐë¹ØÐÄ£¬Ò²ÎÞȨ¾ö¶¨¡£
3.4.2. ´´½¨ÐÍģʽ
ÓÉÓÚ¿ò¼Üͨ³£¶¼Éæ¼°µ½¸÷ÖÖ²»Í¬×ÓÀà¶ÔÏóµÄ´´½¨£¬´´½¨ÐÍģʽÊǾ³£Ê¹Óõġ£ÀýÈçÒ»¸ö»æÍ¼Èí¼þµÄ¿ò¼Ü£¬ÓÐÒ»¸ö»ùÀඨÒåÁËͼÐζÔÏóµÄ½Ó¿Ú£¬»ùÓÚËü¿ÉÒÔÅÉÉú³öÍÖÔ²£¬¾ØÐΣ¬Ö±Ï߸÷ÖÖ×ÓÀà¡£µ±Óû§»æÖÆÒ»¸öͼÐÎʱ£¬¿ò¼Ü¾ÍҪʵÀý»¯¸Ã×ÓÀà¡£Õâʱºò¿ÉÒÔÓù¤³§·½·¨£¬ÔÐÍ·½·¨µÈµÈ¡£
class CDrawObj
{
public:
virtual int DrawObjTypeID()=0;
virtual Icon GetToolBarIcon()=0;
virtual void Draw(Rect rect)=0;
virtual CDrawObj* Clone()=0;
}; |
3.4.3. ÏûÏ¢¶©ÔÄģʽ
ÏûÏ¢¶©ÔÄģʽÊÇ×î³£ÓõķÖÀëÊý¾ÝºÍ½çÃæµÄ·½Ê½¡£½çÃæ¿ª·¢ÕßÖ»ÐèҪע²áÐèÒªµÄÊý¾Ý£¬µ±Êý¾Ý±ä»¯Ê±¿ò¼Ü¾Í»á½«Êý¾Ý¡°ÍÆ¡±µ½½çÃæ¡£½çÃæ¿ª·¢Õß¿ÉÒÔÎÞÐë¹Ø×¢Êý¾ÝµÄÀ´Ô´ºÍÄÚ²¿×éÖ¯ÐÎʽ¡£
ÏûÏ¢¶©ÔÄģʽ×î³£¼ûµÄÎÊÌâÊÇͬ²½Ä£Ê½ÏÂÈçºÎ´¦ÀíÖØÈëºÍ³¬Ê±¡£×÷Ϊ¿ò¼ÜÉè¼ÆÕߣ¬Ò»¶¨Òª¿¼ÂǺÃÕâ¸öÎÊÌâ¡£ËùÎ½ÖØÈ룬ÊǶþ´Î¿ª·¢ÕßÔÚÏûÏ¢µÄ»Øµ÷º¯ÊýÖÐÖ´Ðж©ÔÄ/È¡Ïû¶©ÔĵIJÙ×÷£¬Õâ»áÆÆ»µÏûÏ¢¶©ÔĵĻúÖÆ¡£Ëùν³¬Ê±ÊÇÖ¸¶þ´Î¿ª·¢ÕßµÄÏûÏ¢»Øµ÷º¯Êý´¦Àíʱ¼ä¹ý³¤£¬µ¼ÖÂÆäËûÏûÏ¢ÎÞ·¨ÏìÓ¦¡£×î¼òµ¥µÄ°ì·¨ÊÇʹÓÃÒ첽ģʽ£¬Èö©ÔÄÕߺÍÊý¾Ý·¢²¼ÕßÔÚ¶ÀÁ¢½ø³Ì/Ïß³ÌÖÐÔËÐС£Èç¹û²»¾ß±¸´ËÌõ¼þ£¬Ôò±ØÐë×÷Ϊ¿ò¼ÜµÄÖØÒªÔ¼¶¨£¬½ûÖ¹¶þ´Î¿ª·¢Õß²úÉú´ËÀàÎÊÌâ¡£
3.4.4. ×°ÊÎÆ÷ģʽ
×°ÊÎÆ÷ģʽ¸³ÓèÁË¿ò¼ÜÔÚºóÆÚÔö¼Ó¹¦ÄܵÄÄÜÁ¦¡£¿ò¼Ü¶¨Òå×°ÊÎÆ÷µÄ³éÏó»ùÀ࣬¶øÓɾßÌåµÄʵÏÖÕßʵÏÖ£¬¶¯Ì¬µØÌí¼Óµ½¿ò¼ÜÖС£
¾ÙÒ»¸öÓÎÏ·ÖеÄÀý×Ó£¬Í¼ÐλæÖÆÒýÇæÊÇÒ»¸ö¶ÀÁ¢µÄÄ£¿é£¬±ÈÈç¿ÉÒÔ»æÖÆÈËÎïµÄ¾²Ö¹£¬Åܶ¯µÈͼÏñ¡£Èç¹û²ß»®¾ö¶¨ÔÚÓÎÏ·ÖÐÔö¼ÓÒ»ÖֽС°ÒþÉíÒ¡±µÄµÀ¾ß£¬ÒªÇó´©×Ŵ˵À¾ßµÄÍæ¼ÒÔÚÆÁÄ»ÉÏÏÔʾµÄÊÇÈôÓÐÈôÎ޵İë͸Ã÷ͼÏñ¡£Ó¦¸ÃÈçºÎÉè¼ÆÍ¼ÏñÒýÇæÀ´ÊÊÓ¦ºóÆÚµÄÓÎÏ·Éý¼¶ÄØ£¿
µ±ÒþÉíÒ±»×°±¸ºó£¬¾ÍÏòͼÏñÒýÇæÌí¼ÓÒ»¸ö¹ýÂËÆ÷¡£ÕâÊǸö¼«¶È¼ò»¯µÄÀý×Ó£¬Êµ¼ÊµÄÓÎÏ·ÒýÇæÒª±ÈÕâ¸ö¸´ÔÓ¡£×°ÊÎÆ÷ģʽ»¹³£¼ûÓÃÓÚÊý¾ÝµÄǰÖúͺóÖô¦ÀíÉÏ¡£
3.5. ¿ò¼ÜµÄȱµã
Ò»¸öºÃµÄ¿ò¼Ü¿ÉÒÔ´ó´óÌá¸ß²úÆ·µÄ¿ª·¢Ð§ÂʺÍÖÊÁ¿£¬µ«Ò²ÓÐËüµÄȱµã¡£
1. ¿ò¼ÜÒ»°ã¶¼±È½Ï¸´ÔÓ£¬Éè¼ÆºÍʵÏÖÒ»¸öºÃµÄ¿ò¼ÜÐèÒªÏ൱µÄʱ¼ä¡£ËùÒÔ£¬Ò»°ãÖ»ÓÐÔÚ¿ò¼Ü¿ÉÒÔ±»¶à´Î·´¸´Ó¦ÓõÄʱºòÊʺϣ¬Õâʱºò£¬Ç°ÌáͶÈëµÄ³É±¾»áµÃµ½·áºñµÄ»Ø±¨¡£
31. ¿ò¼Ü¹æ¶¨ÁËһϵÁеĽӿں͹æÔò£¬ÕâËäÈ»¼ò»¯Á˶þ´Î¿ª·¢¹¤×÷£¬µ«Í¬Ê±Ò²ÒªÇó¶þ´Î¿ª·¢Õß±ØÐë¼ÇסºÜ¶à¹æ¶¨£¬Èç¹ûÎ¥·´ÁËÕâЩ¹æ¶¨£¬¾Í²»ÄÜÕý³£¹¤×÷¡£µ«ÊÇÓÉÓÚ¿ò¼ÜÆÁ±ÎÁË´óÁ¿µÄÁìÓòϸ½Ú£¬Ïà¶Ô¶øÑÔ£¬Æäѧϰ³É±¾»¹ÊÇ´ó´ó½µµÍÁ˵ġ£
32. ¿ò¼ÜµÄÉý¼¶¶ÔÒÑÓвúÆ·¿ÉÄÜ»áÔì³ÉÑÏÖØµÄÓ°Ï죬µ¼ÖÂÐèÒªÍêÕûµÄ»Ø¹é²âÊÔ¡£¶ÔÕâ¸öÎÊÌâÓÐÁ½¸ö°ì·¨¡£µÚÒ»ÊǶԿò¼Ü±¾Éí½øÐÐÑϸñµÄ²âÊÔ£¬ÓбØÒª½¨Á¢ÍêÉÆµÄµ¥Ôª²âÊԿ⣬ͬʱ¿ª·¢Ê¾ÀýÏîÄ¿£¬ÓÃÀ´²âÊÔ¿ò¼ÜµÄËùÓй¦ÄÜ¡£µÚ¶þÔòÊÇʹÓþ²Ì¬Á´½Ó£¬ÈÃÒÑÓвúÆ·²»ÇáÒ׸úËæÉý¼¶¡£µ±È»£¬Èç¹ûÒÑÓвúÆ·ÓнϺõĻعé²âÊÔÊֶΣ¬¾Í¸üºÃ¡£
33. ÐÔÄÜËðʧ¡£ÓÉÓÚ¿ò¼Ü¶Ôϵͳ½øÐÐÁ˳éÏó£¬Ôö¼ÓÁËϵͳµÄ¸´ÔÓÐÔ¡£ÖîÈç¶à̬ÕâÑùµÄÊÖ¶ÎʹÓÃÒ²»áÆÕ±éµÄ½µµÍϵͳµÄÐÔÄÜ¡£µ«ÊÇ´ÓÕûÌåÉÏÀ´¿´£¬¿ò¼Ü¿ÉÒÔ±£Ö¤ÏµÍ³µÄÐÔÄÜ´¦ÓÚÒ»¸ö½Ï¸ßµÄˮƽ¡£
4. ×Ô¶¯´úÂëÉú³É
4.1. »úÆ÷ÄÜ×öµÄʾͲ»ÒªÈÃÈËÀ´×ö
ÀÁ¶èÊdzÌÐòÔ±µÄÃÀµÂ£¬¸üÊǼܹ¹Ê¦µÄÃÀµÂ¡£Èí¼þ¿ª·¢µÄ¹ý³Ì¾ÍÊÇÈ˸æËß»úÆ÷ÈçºÎ×öʵĹý³Ì¡£Èç¹ûÒ»¼þÊÂÇé»úÆ÷×Ô¼º¾Í¿ÉÒÔ×ö£¬ÄǾͲ»ÒªÈÃÈËÀ´×ö¡£ÒòΪ»úÆ÷²»½ö²»ÖªÆ£¾ë£¬¶øÇÒ¾ø²»»á·¸´í¡£ÎÒÃǵŤ×÷ÊÇÈÿͻ§µÄ¹¤×÷×Ô¶¯»¯£¬¶àÏëÒ»µã£¬¾ÍÄÜÈÃÎÒÃÇ×Ô¼ºµÄ¹¤×÷Ò²²¿·Ö×Ô¶¯»¯¡£¼«ÓÐÄÍÐĵijÌÐòÔ±ÊǺõģ¬Ò²ÊDz»ºÃµÄ¡£
¾¹ýÁ¼ºÃÉè¼ÆµÄϵͳ£¬ÍùÍù»á³öÏֺܶà¸ß¶ÈÀàËÆ¶øÇÒ¾ßÓкÜÇ¿¹æÂɵĴúÂ롣δ¾Á¼ºÃÉè¼ÆµÄϵͳÔò¿ÉÄܶÔͬһÀ๦ÄܲúÉúºÜ¶à²»Í¬µÄʵÏÖ¡£Ç°Ãæ¹ØÓÚ¿ò¼ÜÉè¼ÆµÄ²¿·ÖÒѾ֤Ã÷ÁËÕâÒ»µã¡£ÓÐʱºò£¬ÎÒÃǸü½øÒ»²½£¬·ÖÎö³öÕâЩÏàËÆ´úÂëÖ®ÖеĹæÂÉ£¬Óøñʽ»¯µÄÊý¾ÝÀ´ÃèÊöÕâЩ¹¦ÄÜ£¬¶øÓÉ»úÆ÷À´²úÉú´úÂë¡£
4.2. ¾ÙÀý
4.2.1. ÏûÏ¢µÄ±àÂëºÍ½âÂë
ÉÏÃæ¹ØÓÚ¿ò¼ÜµÄʵÀýÖУ¬¿ÉÒÔ¿´µ½ÏûÏ¢±à½âÂëµÄ²¿·ÖÒѾ±»¶ÀÁ¢³öÀ´£¬ºÍÆäËû²¿·ÖûÓÐñîºÏ¡£¼ÓÉÏËû±¾ÉíµÄÌØµã£¬·Ç³£ÊʺϽøÒ»²½½«Æä¡°¹æÔò»¯¡±£¬ÓûúÆ÷²úÉú´úÂë¡£
±àÂ룬¾ÍÊǰÑÊý¾Ý½á¹¹Á÷»¯£»½âÂë·´Ö®¡£ÒÔ±àÂëΪÀý£¬´úÂëÎÞ·ÇÊÇÕâÑùµÄ£º(¶þ½øÖÆÐÒé)
stream <<
a.i;
stream << a.j;
stream << a.object; |
(ΪÁ˼ò»¯£¬ÕâÀï¼ÙÉèÒѾÉè¼ÆÁËÒ»¸öÁ÷¶ÔÏ󣬿ÉÒÔÁ÷»¯¸÷ÖÖÊý¾ÝÀàÐÍ£¬²¢ÇÒÒѾ´¦ÀíÁËÖîÈç×Ö½ÚÐòת»»µÈÎÊÌâ¡£)
×îºóÎÒÃǵõ½Ò»¸östream¡£´ó¼ÒÊÇ·ñÒѾϰ¹ßÁËдÕâÖÖ´úÂ룿µ«ÊÇÕâÑùµÄ´úÂë²»ÄÜÌåÏÖ¹¤³ÌʦÈκεĴ´ÔìÐÔ£¬ÒòΪÎÒÃÇÔçÒѾ֪µÀÓÐi,
ÓÐj, »¹ÓÐÒ»¸öobject£¬ÎªÊ²Ã´»¹Òª×Ô¼ºÇÃÈëÕâЩ´úÂëÄØ£¿Èç¹ûÎÒÃÇ·ÖÎöÒ»ÏÂaµÄ¶¨Ò壬ÊDz»ÊǾͿÉÒÔ×Ô¶¯²úÉúÕâÑùµÄ´úÂëÄØ£¿
struct dataA
{
int i;
int j;
struct dataB object;
}; |
Ö»ÐèÒªÒ»¸ö¼òµ¥µÄÓïÒå·ÖÎöÆ÷½âÎöÕâ¶Î´úÂ룬µÃµ½Ò»¿Ã¹ØÓÚÊý¾ÝÀàÐ͵ÄÊ÷£¬¾Í¿ÉÒÔÇáÒ׵IJúÉúÁ÷»¯µÄ´úÂë¡£ÕâÑùµÄ·ÖÎöÆ÷ÓÃPythonµÈ×Ö·û´®´¦ÀíÄÜÁ¦Ç¿µÄÓïÑÔ²»¹ýÁ½°ÙÐÐ×óÓÒ¡£¹ØÓÚÊý¾ÝÀàÐ͵ÄÊ÷ÀàËÆÏÂͼ£º
Ö»Òª±éÀúÕâ¿ÃÊ÷£¬¾Í¿ÉÒÔÉú³ÉËùÓÐÊý¾Ý½á¹¹µÄÁ÷»¯´úÂë¡£
ÔÚÉÏÒ»¸ö¿ò¼ÜËù¾ÙÀýµÄÏîÄ¿ÖУ¬ÎªÒ»¸öÓ²¼þÄ£¿é×Ô¶¯²úÉúµÄÏûÏ¢±àÂë½âÂëÆ÷´úÂëÁ¿¸ß´ïÈýÍòÐУ¬¼¸ºõÏ൱ÓÚÒ»¸öСÈí¼þ¡£ÓÉÓÚÊÇ×Ô¶¯²úÉú£¬Ã»ÓÐÈκδíÎó£¬ÎªÉϲãÌṩÁ˸߿ɿ¿ÐÔ¡£
»¹¿ÉÒÔÓÃXML»òÕ߯äËûµÄ¸ñʽ¶¨ÒåÊý¾Ý½á¹¹£¬´Ó¶ø²úÉú×Ô¶¯´úÂë¡£¸ù¾ÝÐèÒª£¬C++/Java/Python£¬ÈκÎÀàÐ͵ͼ¿ÉÒÔ¡£Èç¹ûÏ£ÍûÌṩǿ¼ì²é£¬¿ÉÒÔʹÓÃXSDÀ´¶¨ÒåÊý¾Ý½á¹¹¡£ÓÐÒ»¸öÉÌÒµ»¯µÄ²úÆ·£¬xBinder£¬ºÜ¹ó£¬ºÜÄÑÓ㬻¹²»Èç×Ô¼º¿ª·¢¡£(ΪʲôÄÑÓã¿ÒòΪËü̫ͨÓÃ)¡£³ýÁ˱àÂëΪ¶þ½øÖƸñʽ£¬»¹¿ÉÒÔ±àÂëΪÈκÎÄãÐèÒªµÄ¸ñʽ¡£ÎÒÃÇÖªµÀ¶þ½øÖƸñʽËäȻЧÂʺܸߣ¬µ«ÊÇÌ«Äѵ÷ÊÔ£¨µ±È»ÓÐЩÈË¿´ÄÚ´æÀïµÄÊ®Áù½øÖÆ»¹ÊǺܿìµÄ£©£¬ËùÒÔÎÒÃÇ¿ÉÒÔÔÚ±àÂë³É¶þ½øÖƵÄͬʱ£¬»¹Éú³É±àÂëΪÆäËû¿ÉÔĶÁµÄ¸ñʽµÄ´úÂ룬±ÈÈçXML¡£ÕâÑù£¬Í¨Ñ¶Ê¹Óöþ½øÖÆ£¬¶øµ÷ÊÔʹÓÃXML£¬Á½È«ÆäÃÀ¡£²úÉú¶þ½øÖƵĴúÂë´ó¸ÅÊÇÕâÑùµÄ£º
Xmlbuilder.addelement(¡°i¡±,a.i);
Xmlbuilder.addelement(¡°j¡±,a.j);
Xmlbuilder.addelement(¡°object¡±,a.object); |
ͬÑùÒ²ºÜÊʺϻúÆ÷²úÉú¡£Í¬ÑùµÄ˼·¿ÉÒÔÓÃÀ´ÈÃÈí¼þÄÚǶ½Å±¾Ö§³Ö¡£ÕâÀï²»¶à˵ÁË¡£(ÄÚǶ½Å±¾Ö§³Ö×î´óµÄÎÊÌâÊÇÔÚC/C++ºÍ½Å±¾Ö®¼ä½»»»Êý¾Ý£¬Ò²ÊÇÕë¶ÔÊý¾ÝÀàÐ͵ĴóÁ¿ÏàËÆ´úÂë¡£)
×î½üGoogle ·¢²¼ÁËËüµÄprotocol buffer£¬¾ÍÊÇÕâÑùµÄ˼·¡£Ä¿Ç°Ö§³ÖC++/Python£¬¹À¼ÆºÜ¿ì»áÖ§³Ö¸ü¶àµÄÓïÑÔ£¬´ó¼Ò¿ÉÒÔ¹Ø×¢¡£ÒÔºó¾Í²»ÒªÔÙÊÖд±àÂë½âÂëÆ÷ÁË¡£
4.2.2. GUI´úÂë
ÉÏÃæµÄ¿ò¼ÜÉè¼Æ²¿·Ö£¬ÎÒÃÇ˵µ½¿ò¼Ü¶Ô½çÃæÊý¾ÝÊÕ¼¯ºÍ½çÃæ¸üÐÂÎÞÄÜΪÁ¦£¬Ö»ÄܳéÏó³ö½Ó¿Ú£¬ÓɳÌÐòÔ±¾ßÌåʵÏÖ¡£µ«ÊÇÈÃÎÒÃÇ¿´¿´ÕâЩ½çÃæ³ÌÐòÔ±×öµÄÊÂÇé°É¡£(´úÂë¾¹ý¼ò»¯£¬¿ÉÒÔ¿´×÷α´úÂë)¡£
void onDataArrive(CDataBinder&
data)
{
m_biterror.setText(¡°%d¡±,data.biterror);
m_signallevel.setText(¡°%d¡±,data.signallevel¡±);
m_latency.setText(¡°%d¡±,data.latency¡±);
}
Void onCollectData(CDataBinder& data)
{
data.biterror = atoi(m_biterror.getText());
data. signallevel = atoi(m_ signallevel.getText());
data. latency = atoi(m_ latency.getText());
} |
ÕâÑùµÄ´úÂëºÜÓÐȤÂð£¿ÏëÏëÎÒÃÇ¿ÉÒÔÔõô×ö£¿£¨XMLÃèÊö½çÃæ£¬ÎÊÌâÊǶÔÓÚ¸´ÔÓÂß¼ºÜÄÑ£©
4.2.3. С½á
Óɴ˿ɼû£¬ÔÚÈí¼þ¼Ü¹¹µÄ¹ý³ÌÖУ¬Ê×ÏÈÒª×ñÑÒ»°ãÐÔµÄÔÔò£¬¾¡Á¿½«ÏµÍ³¸÷¸ö¹¦Äܲ¿·Ö¶ÀÁ¢³öÀ´£¬ÊµÏÖ¸ßÄÚ¾ÛµÍñîºÏ£¬½ø¶ø·¢ÏÖϵͳ´æÔڵĸ߶ÈÖØ¸´£¬¹æÂÉÐÔºÜÇ¿µÄ´úÂ룬½øÒ»²½½«ËûÃǹæÔò»¯£¬ÐÎʽ»¯£¬×îºóÓûúÆ÷À´²úÉúÕâЩ´úÂ롣ĿǰÕâ·½Ãæ×î³É¹¦µÄÓ¦ÓþÍÊÇÏûÏ¢µÄ±à½âÂë¡£¶Ô½çÃæ´úÂëµÄ×Ô¶¯»¯Éú³ÉÓÐÒ»¶¨¾ÖÏÞ£¬µ«Ò²¿ÉÒÔÓ¦Óᣴó¼ÒÔÚ×Ô¼ºµÄ¹¤×÷ÖÐÒªÉÃÓÚ·¢ÏÖÕâÑùµÄ¿ÉÄÜ£¬¼õÉÙ¹¤×÷Á¿£¬Ìá¸ß¹¤×÷ЧÂÊ¡£
4.2.4. Google Protocol Buffer
Google¸Õ¸Õ·¢²¼µÄProtocol BufferÊÇʹÓôúÂë×Ô¶¯Éú³ÉµÄÒ»¸öµä·¶¡£
Protocol buffers are a flexible, efficient, automated
mechanism for serializing structured data ¨C think
XML, but smaller, faster, and simpler. You define
how you want your data to be structured once, then
you can use special generated source code to easily
write and read your structured data to and from a
variety of data streams and using a variety of languages.
You can even update your data structure without breaking
deployed programs that are compiled against the "old"
format.
ÄãÒª×öµÄÊ×ÏÈÊǶ¨ÒåÏûÏ¢µÄ¸ñʽ£¬GoogleÖ¸¶¨ÁËËüµÄ¸ñʽ£º
message Person
{
required string name = 1;
required int32 id = 2;
optional string email = 3;
enum PhoneType {
MOBILE = 0;
HOME = 1;
WORK = 2;
}
message PhoneNumber {
required string number = 1;
optional PhoneType type = 2 [default = HOME];
}
repeated PhoneNumber phone = 4;
} |
Once you've defined your messages,
you run the protocol buffer compiler for your application's
language on your .proto file to generate data access
classes. These provide simple accessors for each field
(like query() and set_query()) as well as methods
to serialize/parse the whole structure to/from raw
bytes ¨C so, for instance, if your chosen language
is C++, running the compiler on the above example
will generate a class called Person. You can then
use this class in your application to populate, serialize,
and retrieve Person protocol buffer messages. You
might then write some code like this:
Person person;
person.set_name("John Doe");
person.set_id(1234);
person.set_email("jdoe@example.com");
fstream output("myfile", ios::out |
ios::binary);
person.SerializeToOstream(&output);
Then, later on, you could read your message back
in:
fstream input("myfile", ios::in | ios::binary);
Person person;
person.ParseFromIstream(&input);
cout << "Name: " << person.name()
<< endl;
cout << "E-mail: " << person.email()
<< endl; |
Protocol BufferµÄ±àÂë¸ñʽÊǶþ½øÖƵģ¬Í¬Ê±Ò²Ìṩ¿É¶ÁµÄÎı¾¸ñʽ¡£Ð§Âʸߣ¬Ìå»ýС£¬ÉÏϼæÈÝ¡£Ä¿Ç°Ö§³ÖJava,PythonºÍC++£¬ºÜ¿ì»áÖ§³Ö¸ü¶àµÄÓïÑÔ¡£
5. ÃæÏòÓïÑÔ±à³Ì(LOP)
5.1. ´Ó×Ô¶¯»¯´úÂëÉú³É¸ü½øÒ»²½
ÃæÏòÓïÑÔ±à³ÌµÄͨË×¶¨ÒåÊÇ£º½«Ìض¨ÁìÓòµÄ֪ʶÈںϵ½Ò»ÖÖרÓõļÆËã»úÓïÑÔµ±ÖУ¬´Ó¶øÌá¸ßÈËÓë¼ÆËã»ú½»Á÷µÄЧÂÊ¡£
×Ô¶¯»¯´úÂëÉú³ÉÆäʵ¾ÍÊÇÃæÏòÓïÑÔ±à³Ì¡£ÓïÑÔ²»µÈÓÚÊDZà³ÌÓïÑÔ£¬¿ÉÒÔÊÇͼ£¬Ò²¿ÉÒÔÊÇ±í£¬ÈκοÉÒÔ½¨Á¢È˺ͻúÆ÷Ö®¼ä½»Á÷ÇþµÀµÄ¶¼ÊǼÆËã»úÓïÑÔ¡£Èí¼þ¿ª·¢ÀúÊ·ÉϵÄÒ»´ÎÉú²úÂʵķÉÔ¾ÊǸ߼¶ÓïÑԵķ¢Ã÷¡£ËüÈÃÎÒÃÇÒÔ¸ü¼ò½àµÄ·½Ê½ÊµÏÖ¸ü¸´ÔӵŦÄÜ¡£µ«ÊǸ߼¶ÓïÑÔÒ²ÓÐËüµÄȱµã£¬ÄǾÍÊÇ´ÓÎÊÌâÁìÓòµ½³ÌÐòÖ¸ÁîµÄ¹ý³ÌºÜ¸´ÔÓ¡£ÒòΪ¸ß¼¶ÓïÑÔÊÇΪͨÓÃÄ¿µÄ¶øÉè¼ÆµÄ£¬ËùÒÔÀëÎÊÌâÁìÓòºÜÔ¶¡£¾ÙÀýÀ´Ëµ£¬Òª×öÒ»¸öͼÐνçÃæ£¬ÎÒ¿ÉÒÔ¸úÁíÒ»¸ö¹¤³Ìʦ˵£ºÕâÀï·ÅÒ»¸ö°´Å¥£¬ÄDZ߷ÅÒ»¸öÊäÈë¿ò£¬µ±°´Ï°´Å¥µÄʱºò£¬¾ÍÔÚÊäÈë¿òÀïÏÔʾHello
World¡£ÎÒÉõÖÁ¿ÉÒÔËæÊÖ¸øËû»³öÀ´¡£
¶ÔÓÚÎÒºÍËûÖ±½ÓµÄ½»Á÷¶øÑÔ£¬ÕâÒѾ×ã¹»ÁË£¬5·ÖÖÓ¡£µ«ÊÇÒªÈÃת±äΪ¼ÆËã»úÄܹ»Àí½âµÄÓïÑÔ£¬ÐèÒª¶à¾Ã£¿
Èç¹ûÊÇ»ã±àÓïÑÔ£¿(¸æËß¼ÆËã»úÈçºÎ²Ù×÷¼Ä´æÆ÷ºÍÄÚ´æ)
Èç¹ûÊÇC++? (¸æËß¼ÆËã»úÈçºÎÔÚÆÁÄ»ÉÏ»æÍ¼£¬Èç¹ûÏìÓ¦Êó±ê¼üÅÌÏûÏ¢)
Èç¹ûÓÐÒ»¸ö²»´íµÄͼÐνçÃæ¿â£¿(¸æËß¼ÆËã»ú´´½¨Button,Label¶ÔÏ󣬹ÜÀíÕâЩ¶ÔÏ󣬷ÅÖÃÕâЩ¶ÔÏ󣬴¦ÀíÏûÏ¢)
Èç¹ûÓÐÒ»¸ö²»´íµÄ¿ª·¢¿ò¼Ü+IDE? (ÓÃWYSIWYG¹¤¾ß»æÖÆ£¬Éè¼ÆÀ࣬ÀàµÄ³ÉÔ±±äÁ¿£¬±àдÏûÏ¢ÏìÓ¦º¯Êý)
Èç¹ûÓÐÒ»ÃÅרÃÅ×öͼÐνçÃæ¿ª·¢µÄÓïÑÔ£¿
¿ÉÒÔÊÇÕâÑùµÄ£º
Label l {Text=¡±¡±}
Button b{Text=¡±ok¡±,action=l.Text=¡±hello world¡±} |
ͨÓõļÆËã»úÓïÑÔÊÇ»ùÓÚ±äÁ¿£¬À࣬·ÖÖ§£¬Ñ»·£¬Á´±í£¬ÏûÏ¢ÕâЩ¸ÅÄîµÄ¡£ÕâЩ¸ÅÄîÀëÎÊÌâ±¾ÉíÓÐ×ÅÒ£Ô¶µÄ¾àÀ룬¶øÇÒ±í´ïÄÜÁ¦·Ç³£ÓÐÏÞ¡£×ÔÈ»ÓïÑÔ±í´ïÄÜÁ¦ºÜÇ¿£¬µ«ÊÇÆçÒåºÍÈßÓàÌ«¶à£¬ÎÞ·¨¸ñʽ»¯±ê×¼»¯¡£´«Í³µÄ˼Ïë¸æËßÎÒÃÇ£º¼ÆËã»úÓïÑÔ¾ÍÊÇÒ»ÌõÌõµÄÖ¸Á±à³Ì¾ÍÊÇдÏÂÕâЩָÁî¡£¶øÃæÏòÓïÑÔ±à³ÌµÄ˼ÏëÊÇ£¬Óþ¡Á¿Ìù½üÎÊÌ⣬Ìù½üÈ˵Ä˼άµÄ°ì·¨À´ÃèÊöÎÊÌ⣬´Ó¶ø½µµÍ´ÓÈ˵Ä˼Ïëµ½¼ÆËã»úÈí¼þת»»µÄÄѶȡ£
¾ÙÒ»¸öÓÎÏ·¿ª·¢µÄÀý×Ó¡£ÏÖÔÚµÄÍøÂçÓÎÏ·ÆÕ±éµÄ²ÉÓÃÁËC++»òÕßC¿ª·¢ÓÎÏ·ÒýÇæ¡£¶ø¾ßÌåµÄÓÎÏ·ÄÚÈÝ£¬ÔòÊÇÓÉһϵÁжþ´Î¿ª·¢¹¤¾ßºÍÓïÑÔÍê³ÉµÄ¡£µØÍ¼±à¼Æ÷¾ÍÊÇÒ»ÖÖÃæÏòÓÎÏ·µÄÓïÑÔ¡£Lua»òÕßÀàËÆµÄ½Å±¾Ôò±»Ç¶Èëµ½ÓÎÏ·ÄÚ²¿£¬ÓÃÀ´±àдÎäÆ÷£¬¼¼ÄÜ£¬ÈÎÎñµÈµÈ¡£Lua±¾Éí²»¾ß±¸¶ÀÁ¢¿ª·¢Ó¦ÓóÌÐòµÄÄÜÁ¦£¬È»¶øÓÎÏ·ÒýÇæµÄÉè¼ÆÕßͨ¹ý¸øLuaÌṩһϵÁе쬏÷ÖÖ²ã´ÎÉϵĽӿڣ¬½«ÁìÓò֪ʶÃܼ¯µÄ¸³ÓèÁ˽ű¾£¬´Ó¶ø´ó´óÌá¸ßÁËÓÎÏ·¶þ´Î¿ª·¢µÄЧÂÊ¡£ÍøÂçÓÎÏ·µÄ±Ç׿MUDÔòÊÇÉè¼ÆÁËLPCÀ´×÷ΪÓÎÏ·µÄ¿ª·¢ÓïÑÔ¡£MUDµÄÒýÇæMudOSºÍLPCÖ®¼äµÄ¹ØÏµÈçͼ£º
ÓÃLPC´´½¨Ò»¸öNPCµÄ´úÂëÀàËÆÈçÏ£º
inherit NPC;
void create()
{
set_name("²Ë»¨Éß", ({ "caihua she",
"she" }) );
set("race", "Ò°ÊÞ");
set("age", 1);
set("long", "Ò»Ö»ÇàÓÄÓĵIJ˻¨Éߣ¬Í·²¿³ÊÍÖÔ²ÐΡ£n");
set("attitude", "peaceful");
set("str", 15);
set("cor", 16);
set("limbs", ({ "Í·²¿", "ÉíÌå",
"Æß´ç", "β°Í" }) );
set("verbs", ({ "bite" })
);
set("combat_exp", 100+random(50));
set_temp("apply/attack", 7);
set_temp("apply/damage", 4);
set_temp("apply/defence",6);
set_temp("apply/armor",5);
setup();
}
void die()
{
object ob;
message_vision("$N³é´¤Á½Ï£¬$NËÀÁË¡£n", this_object());
ob = new(__DIR__"obj/sherou");
ob->move(environment(this_object()));
destruct(this_object());
} |
LPCÅàÑøÁËÒ»´óÅúÒµÓàÓÎÏ·¿ª·¢Õߣ¬ÉõÖÁ³ÉΪºÜ¶àÈ˽øÈëITÐÐÒµµÄÆðµã¡£ÔÒò¾ÍÊÇËü¼òµ¥£¬Ò×Àí½â£¬100%ΪÓÎÏ·¿ª·¢Éè¼Æ¡£Õâ¾ÍÊÇLOPµÄ÷ÈÁ¦¡£
5.2. ÓÅÊÆºÍÁÓÊÆ
LOP×îÖØÒªµÄÓŵãÊǽ«ÁìÓò֪ʶ¹Ì»¯µ½ÓïÑÔÖУ¬´Ó¶ø£º
1. Ìá¸ß¿ª·¢Ð§ÂÊ¡£
34. ÓÅ»¯ÍŶӽṹ£¬½µµÍ½»Á÷³É±¾£¬ÁìÓòר¼ÒºÍ³ÌÐòÔ±¿ÉÒÔ¸üºÃµÄºÏ×÷¡£
35. ½µµÍñîºÏ£¬Ò×ÓÚά»¤¡£
Æä´Î£¬ÓÉÓÚLOP²»ÊÇͨÓÃÓïÑÔ£¬ËùÉæ¼°µÄ·¶Î§¾ÍÏÁպܶ࣬ËùÒÔ£º
36. ¸üÈÝÒ׵õ½Îȶ¨µÄϵͳ
37. ¸üÈÝÒ×ÒÆÖ²
ÏàÓ¦µÄ£¬LOPÒ²ÓÐËüµÄÁÓÊÆ£º
1. LOP¶ÔÁìÓò֪ʶ³éÏóµÄÒªÇó±È¿ò¼Ü¸ü¸ß¡£
38. ¿ª·¢Ò»ÃÅеÄÓïÑÔ±¾ÉíµÄ³É±¾¡£ÐÒºÃÏÖÔÚÉè¼ÆÒ»ÃÅеÄÓïÑÔ²»ËãÌ«ÄÑ£¬»¹ÓÐLuaÕâÑùµÄ¡°×¨Óöþ´Î¿ª·¢¡±ÓïÑÔµÄÖ§³Ö¡£
39. ÐÔÄÜËðʧ¡£²»¹ýÏà±È¿ª·¢³É±¾µÄ½ÚÔ¼£¬ÔÚ·ÇÐÔÄܺËÐIJ¿·ÖʹÓÃLOP»¹ÊǺÜÖµµÃµÄ¡£
5.3. ÔÚǶÈëʽϵͳÖеÄÓ¦ÓÃ
¾ÙÀý£¬Ç¶ÈëʽÉ豸µÄWeb·þÎñÆ÷¡£ºÜ¶àÉ豸¶¼ÌṩWeb·þÎñÓÃÓÚÅäÖ㬱ÈÈç·ÓÉÆ÷£¬ADSLèµÈµÈ¡£ÕâÖÖÉ豸ËùÌṩµÄweb·þÎñµÄµäÐÍÓÃÀýÊÇÓû§ÌîдһЩ²ÎÊý£¬Ìá½»¸øWeb·þÎñÆ÷£¬Web
·þÎñÆ÷½«ÕâЩ²ÎÊýдÈëÓ²¼þ£¬²¢½«²Ù×÷½á¹û»òÕ߯äËûÐÅÏ¢Éú³ÉÒ³Ãæ·µ»Ø¸øä¯ÀÀÆ÷¡£ÓÉÓÚµäÐ͵ÄApache,Mysql,PHP×éºÏÌå»ýÌ«´óÇÒ²»ÈÝÒ×ÒÆÖ²£¬Í¨³£Ç¶ÈëʽϵͳµÄWeb·þÎñ¶¼ÊÇÓÃC/C++Ö±½Óд¾ÍµÄ¡£´Ósocket¹ÜÀí£¬httpÐÒéµ½¾ßÌå²Ù×÷Ó²¼þ£¬Éú³ÉÒ³Ãæ£¬¶¼Ò»Ì帺Ôð¡£È»¶ø¶ÔÓÚ¹¦Äܸ´ÔÓ£¬Web½çÃæÒªÇó½Ï¸ßµÄÇé¿ö£¬ÓÃCÀ´Ð´Ò³ÃæÐ§ÂʾÍÌ«µÍÁË¡£
shttpdÊÇÒ»¸öСÇɵÄweb·þÎñÆ÷£¬Ð¡Çɵ½Ö»ÓÐÒ»¸ö.cÎļþ£¬4000ÓàÐдúÂë¡£ËäÈ»Ìå»ýºÜС£¬È´¾ß±¸ÁË×î»ù±¾µÄ¹¦ÄÜ£¬±ÈÈçCGI¡£Ëü¼È¿ÉÒÔ¶ÀÁ¢ÔËÐУ¬Ò²¿ÉÒÔǶÈëµ½ÆäËûµÄÓ¦ÓóÌÐòµ±ÖС£shttpdÔÚ´ó¶àÊýƽ̨É϶¼¿ÉÒÔ˳Àû±àÒë¡¢ÔËÐС£luaÊÇÒ»¸öСÇɵĽű¾ÓïÑÔ£¬×¨ÓÃÓÚǶÈëºÍÀ©Õ¹¡£ËüºÍC/C++´úÂëÓÐ×ÅÁ¼ºÃµÄ½»»¥ÄÜÁ¦¡£
½«LuaÒýÇæÇ¶Èëµ½shttpdÖУ¬ÔÙʹÓÃC±àдһ¸ö£¨Ò»Ð©£©Çý¶¯Ó²¼þµÄÀ©Õ¹£¬×¢²á³ÉΪLuaµÄº¯Êý£¬ÐγɵÄϵͳ½á¹¹ÈçÏÂͼ£º
ÕâÑùµÄÓ¦ÓÃÔÚǶÈëʽϵͳÖÐÊÇÓÐÒ»¶¨´ú±íÐԵ쬼´£¬ÒÔCʵÏֵײãºËÐŦÄÜ£¬¶ø°ÑϵͳµÄÒױ䲿·ÖÒԽű¾ÊµÏÖ¡£´ó¼Ò¿ÉÒÔ˼¿¼ÔÚ×Ô¼ºµÄ¿ª·¢¹ý³ÌÖÐÊÇ·ñ¿ÉÒÔʹÓÃÕâÖÖ¼¼Êõ¡£ÕâÊÇLOPµÄÒ»ÖÖ¾ßÌåÓ¦ÓÃģʽ¡££¨Ã»Óд´ÔìÒ»ÖÖȫеÄÓïÑÔ£¬¶øÊÇʹÓÃLua£©
6. ²âÊÔ
6.1. ¿É²âÊÔÐÔÊÇÈí¼þÖÊÁ¿µÄÒ»¸ö¶ÈÁ¿Ö¸±ê
ºÃµÄÈí¼þÊÇÉè¼Æ³öÀ´µÄ£¬ºÃµÄÈí¼þÒ²Ò»¶¨ÊDZãÓÚ²âÊԵġ£Ò»¸öÄÑÓÚ²âÊÔµÄÈí¼þµÄÖÊÁ¿ÊÇÄÑÒԵõ½±£Õϵġ£ÔÚ½ñÌìÈí¼þ¹æÄ£Ô½À´Ô½´óµÄÇ÷ÊÆÏ£¬ÒÔÏÂÎÊÌâÊÇÆÕ±é´æÔڵģº
1. ²âÊÔÖ»ÄÜÊÖ¹¤½øÐУ¬»Ø¹é²âÊÔ´ú¼Û¼«´ó£¬Êµ¼ÊÖ»ÄÜÖ´Ðеã²â£¬ÖÊÁ¿ÎÞ·¨±£Ö¤
40. ¸÷¸öÄ£¿éÖ»Óм¯³Éµ½Ò»Æðºó²ÅÄܲâÊÔ
41. ´úÂë²»¾¹ýÈκε¥Ôª²âÊԾͼ¯³É
ÕâЩÎÊÌâµÄ¸ùÔ´¶¼ÔÚÓÚȱ·¦Ò»¸öÁ¼ºÃµÄÈí¼þÉè¼Æ¡£Ò»¸öºÃµÄÈí¼þÉè¼ÆÓ¦¸ÃʹµÃµ¥Ôª²âÊÔ£¬Ä£¿é²âÊԺͻعé²âÊÔ¶¼±äµÃÈÝÒ×£¬´Ó¶ø±£Ö¤²âÊԵĹã¶ÈºÍÉî¶È£¬×îÖÕ²úÉú¸ßÖÊÁ¿µÄÈí¼þ¡£³ýÁ˹¦ÄÜ£¬·Ç¹¦ÄÜÐÔÐèÇóÒ²±ØÐëÊǿɲâÊԵġ£ËùÒÔ£¬¿É²âÊÔÐÔÊÇÈí¼þÉè¼ÆÖÐÒ»¸öÖØÒªµÄÖ¸±ê£¬ÊÇϵͳ¼Ü¹¹Ê¦ÐèÒªÈÏÕæ¿¼ÂǵÄÎÊÌâ¡£
6.2. ²âÊÔÇý¶¯µÄÈí¼þ¼Ü¹¹
ÕâÀï̸µÄÊDzâÊÔÇý¶¯µÄÈí¼þ¼Ü¹¹£¬¶ø²»ÊDzâÊÔÇý¶¯µÄ¿ª·¢¡£TDD(Test Driven Development)
ÊÇÒ»ÖÖ¿ª·¢·½Ê½£¬ÊÇÒ»ÖÖ±àÂëʵ¼ù¡£¶ø²âÊÔÇý¶¯µÄ¼Ü¹¹Ç¿µ÷µÄÊÇ£¬´ÓÌá¸ß¿É²âÊÔÐԵĽǶȽøÐмܹ¹Éè¼Æ¡£Èí¼þµÄ²âÊÔ·ÖΪ¶à¸ö²ã´Î£º
6.3. ϵͳ²âÊÔ
ϵͳ²âÊÔÊÇÖ¸ÓɲâÊÔÈËÔ±Ö´Ðеģ¬ÑéÖ¤Èí¼þÊÇ·ñÍêÕûÕýÈ·µÄʵÏÖÁËÐèÇóµÄ²âÊÔ¡£ÕâÖÖ²âÊÔÖУ¬²âÊÔÈËÔ±×÷ΪÓû§µÄ½ÇÉ«£¬Í¨¹ý³ÌÐò½çÃæ½øÐвâÊÔ¡£Ôڴ󲿷ÖÇé¿öÏÂÕâЩ¹¤×÷ÊÇÊÖ¹¤Íê³ÉµÄ¡£Ôڹ淶µÄÁ÷³ÌÖУ¬Õâ¸ö¹ý³Ìͨ³£ÒªÕ¼µ½Õû¸öÈí¼þ¿ª·¢Ê±¼äµÄ1/3ÒÔÉÏ¡£¶øµ±ÓÐа汾·¢²¼µÄʱºò£¬¾¡¹Üֻɿ¼°ÁËÈí¼þµÄÒ»²¿·Ö£¬²âÊÔ²¿ÃÅÒÀÈ»ÐèÒªÍêÕûµÄ²âÊÔÕû¸öÈí¼þ¡£ÕâÊÇÓÉ´úÂë¡°¸±×÷Óá±Ìصã¾ö¶¨µÄ¡£ÓÐʱºòÐÞ¸ÄÒ»¸öbug¿ÉÒÔÒý·¢¸ü¶àµÄbug£¬ÆÆ»µÔÀ´¹¤×÷Õý³£µÄ´úÂë¡£ÕâÔÚ²âÊÔÖнлعé²âÊÔ(Regression
test)¡£¶ÔÓÚ¹æÄ£½Ï´óµÄÈí¼þ£¬»Ø¹é²âÊÔÐèÒªºÜ³¤µÄʱ¼ä£¬ÔÚ°æ±¾ÐÂÔö¹¦ÄܺʹíÎóÐÞÕý²»¶àµÄÇé¿öÏ£¬»Ø¹é²âÊÔ¿ÉÒÔÕ¼µ½Õû¸öÈí¼þ¿ª·¢¹ý³ÌÁËÒ»°ëÒÔÉÏ£¬ÑÏÖØÓ°ÏìÁËÈí¼þµÄ½»¸¶£¬Ò²Ê¹Èí¼þ²âÊÔ²¿ÃųÉΪÈí¼þ¿ª·¢Á÷³ÌÖÐµÄÆ¿¾±¡£²âÊÔ¹ý³Ì×Ô¶¯»¯£¬ÊDz¿·Ö½â¾öÕâ¸öÎÊÌâµÄ°ì·¨¡£
×÷Ϊ¼Ü¹¹Ê¦£¬ÓбØÒª¿¼ÂÇÈçºÎʵÏÖÈí¼þµÄ¿É×Ô¶¯»¯²âÊÔÐÔ¡£
6.3.1. ½çÃæ×Ô¶¯»¯²âÊÔ
ÔÚûÓÐͼÐλ¯½çÃæÒÔǰ£¬×Ö·û·½Ê½µÄ½çÃæÊDZȽÏÈÝÒ×½øÐÐ×Ô¶¯»¯²âÊԵġ£Ò»¸ö±àдÁ¼ºÃµÄ½Å±¾¾Í¿ÉÒÔʵÏÖÊäÈëºÍ¶ÔÊä³öµÄ¼ì²é¡£µ«ÊǶÔÓÚͼÐλ¯µÄ½çÃæ£¬È˵IJÎÓëËÆºõ±äµÃ²»¿ÉȱÉÙ¡£ÓÐһЩ½çÃæ×Ô¶¯»¯µÄ²âÊÔ¹¤¾ß£¬ÈçWinRunner£¬
ÕâЩ¹¤¾ß¿ÉÒԼǼϲâÊÔÈËÔ±µÄ²Ù×÷³ÉΪ½Å±¾£¬È»ºóͨ¹ý»Ø·ÅÕâЩ½Å±¾£¬¾Í¿ÉÒÔʵÏÖ²Ù×÷µÄ×Ô¶¯»¯¡£Õë¶ÔǶÈëʽÉ豸£¬ÓÐTest
Quest¿ÉÒÔʹÓã¬Í¨¹ýÔÚÉ豸ÖÐÔËÐÐÒ»¸öÀàËÆÔ¶³Ì×ÀÃæµÄAgent£¬PC¶ËµÄ²âÊÔ¹¤¾ß¿ÉÒÔÓÃͼÏñʶ±ðµÄ·½·¨Ê¶±ð³ö²»Í¬µÄ×é¼þ£¬²¢·¢ËÍÏàÓ¦Óû§µÄÊäÈë¡£´ËÀ๤¾ßµÄ»ù±¾¹¤×÷ÔÀíÈçͼ£º
µ«ÊÇÕâ¸ö¹ý³ÌÔÚʵ¼ÊÖдæÔÚÈý¸öÎÊÌ⣺
1. ¿É¿¿ÐԲ¾³£ÖжÏÔËÐС£ÒªÐ´Ò»¸ö¿É¿¿µÄ½Å±¾ÉõÖÁ±È¿ª·¢Èí¼þ»¹ÒªÀ§ÄÑ¡£±ÈÈ磬°´ÏÂÒ»¸ö°´Å¥£¬ÓÐʱºòÒ»¸ö¶Ô»°¿òÁ¢¿Ì¾Í³öÏÖ£¬ÓÐʱºò¿ÉÄÜÒªºÃ¼¸Ã룬ÓÐʱºòÉõÖÁ²»³öÏÖ£¬²Ù×÷Â¼ÖÆ¹¤¾ß²»ÄÜ×Ô¶¯ÊµÏÖÕâЩÅжϣ¬¶øÐèÒªÊÖ¶¯Ð޸ġ£
42. ¶Ô²Ù×÷½á¹ûµÄÅжϺÜÀ§ÄÑ£¬ÓÈÆäÊǷDZê×¼µÄ¿Ø¼þ¡£
43. µ±½çÃæÐ޸ĺó£¬ÔÓдúÂëºÜÈÝÒ×ʧЧ
ÒªÓ¦ÓûùÓÚͼÐνçÃæµÄ×Ô¶¯»¯²âÊÔ¹¤¾ß£¬¼Ü¹¹Ê¦Ôڼܹ¹µÄʱºòÓ¦¸Ã¿¼ÂÇ£º
1. ½çÃæ·ç¸ñÈçºÎ±£³ÖÒ»Ö¡£Ó¦µ±Óɼܹ¹£¬¶ø·Ç³ÌÐòÔ±¾ö¶¨¼Ü¹¹µÄ·ç¸ñ¡£°üÀ¨²¼¾Ö£¬¿Ø¼þ´óС£¬Ïà¶ÔλÖã¬ÎÄ×Ö£¬¶Ô²Ù×÷µÄÏìÓ¦·½Ê½£¬³¬Ê±Ê±³¤£¬µÈµÈ¡£
44. ÈçºÎÔÚ×îºÏÊʲâÊÔ¹¤¾ßµÄ½çÃæºÍÓû§Ï²»¶µÄ½çÃæÖ®ÖÐÕÛÖС£±ÈÈ磬Test QuestÊÇ»ùÓÚͼÏñʶ±ðµÄ£¬ÄÇôºÚ°×Á½É«µÄ½çÃæÊÇ×îÓÐÀûµÄ£¬¶øÓû§Ï²»¶µÄ½¥½øÉ«¾Í·Ç³£²»Àû¡£Ò²ÐíÈýçÃæ¾ß±¸×Ô¶¯µÄÇл»ÄÜÁ¦×îºÃ¡£
¶ÔÓÚÒѾÍê³ÉµÄ²úÆ·£¬Èç¹û¼Ü¹¹Ã»ÓÐΪ×Ô¶¯»¯²âÊÔ×ö¹ý¿¼ÂÇ£¬ËùÄÜÓ¦Óõķ¶Î§¾Í·Ç³£ÓÐÏÞ£¬²»¹ý»¹ÊÇÓÐһЩ˼·¿ÉÒÔ¹©²Î¿¼£º
1. ʵÏÖС¹æÄ£µÄ×Ô¶¯»¯½Å±¾¡£Õë¶ÔÒ»¸ö¾ßÌåµÄ²Ù×÷Á÷³Ì½øÐвâÊÔ£¬¶ø²»ÊÇÊÔͼÓÃÒ»¸ö½Å±¾²âÊÔÕû¸öÈí¼þ¡£Ò»ÏµÁеÄС²âÊԽű¾×é³ÉÁËÒ»¸ö¼¯ºÏ£¬¸²¸ÇϵͳµÄÒ»²¿·Ö¹¦ÄÜ¡£ÕâЩ²âÊԽű¾¿ÉÒÔ¶¼ÒÔÈí¼þÆô¶¯Ê±µÄ״̬×÷Ϊ»ù×¼£¬ËùÒÔÔÚ״̬´¦ÀíÉÏ»á±È½Ï¼òµ¥
45. ¡±ºï×Ó²âÊÔ¡±ÓÐÒ»¶¨µÄ¼ÛÖµ¡£Ëùνºï×Ó²âÊÔ£¬¾ÍÊÇËæ»ú²Ù×÷Êó±êºÍ¼üÅÌ¡£ÕâÖÖ²âÊÔÍêÈ«²»Àí½âÈí¼þµÄ¹¦ÄÜ£¬¿ÉÒÔ·¢ÏÖһЩÕý³£²âÊÔÎÞ·¨·¢ÏֵĴíÎó¡£¾Ý΢ÈíÄÚ²¿µÄ×ÊÁÏ£¬Î¢ÈíµÄһЩ²úÆ·15%µÄ´íÎóÊÇÓÉ¡°ºï×Ó²âÊÔ¡±·¢Ïֵġ£
×ܵÄÀ´½²£¬»ùÓÚ½çÃæµÄ×Ô¶¯»¯²âÊÔÊDz»³ÉÊìµÄ¡£¶Ô¼Ü¹¹Ê¦¶øÑÔÒ»¶¨Òª±ÜÃ⹦ÄÜÖ»ÄÜͨ¹ý½çÃæ²ÅÄÜ·ÃÎÊ¡£ÒªÈýçÃæ½ö½öÊǽçÃæ£¬¶øÈí¼þ´ó²¿·ÖµÄ¹¦ÄÜÊǶÀÁ¢ÓÚ½çÃæ²¢¿ÉÒÔͨ¹ýÆäËû·½Ê½·ÃÎʵġ£ÉÏÃæ¿ò¼ÜµÄÀý×ÓÖеÄÉè¼Æ¾ÍÌåÏÖÁËÕâÒ»µã¡£
˼¿¼£ºÈçºÎÈýçÃæ¾ßÓÐ×ÔÎÒ²âÊÔ¹¦ÄÜ£¿
6.3.2. »ùÓÚÏûÏ¢µÄ×Ô¶¯»¯²âÊÔ
Èç¹ûÈí¼þ¶ÔÍâÌṩ»ùÓÚÏûÏ¢µÄ½Ó¿Ú£¬×Ô¶¯»¯²âÊԾͻá±äµÃ¼òµ¥µÄ¶à¡£ÉÏÃæÒѾÌáµ½Á˹̼þµÄTL1½Ó¿Ú¡£¶ÔÓÚ½çÃæ²¿·Ö£¬ÔòÓ¦¸ÃÔÚÉè¼ÆµÄʱºò£¬½«´¿´âµÄ¡°½çÃæ¡±¶ÀÁ¢³öÀ´£¬ÈÃËü¾¡¿ÉÄܵı¡£¬¶øÆäËû²¿·ÖÒÀÈ»¿ÉÒÔ»ùÓÚÏûÏ¢Ìṩ·þÎñ¡£
ÔÚÏûÏ¢µÄ»ù´¡ÉÏ£¬Óýű¾ÓïÑÔ°ü×°³Éº¯ÊýµÄÐÎʽ£¬¿ÉÒÔºÜÈÝÒ׵ĵ÷Ó㬲¢¸²¸ÇÏûÏ¢µÄ¸÷ÖÖ²ÎÊý×éºÏ£¬´Ó¶øÌá¸ß²âÊԵĸ²¸ÇÂÊ¡£¹ØÓÚÈçºÎ½«ÏûÏ¢°üװΪ½Å±¾£¬¿ÉÒԲο¼SOAPµÄʵÏÖ¡£Èç¹ûʹÓõIJ»ÊÇXML£¬Ò²¿ÉÒÔ×Ô¼ºÊµÏÖÀàËÆµÄ×Ô¶¯´úÂëÉú³É¡£
ÕâЩ²âÊԽű¾Ó¦¸ÃÓÉ¿ª·¢ÈËԱ׫д£¬Ã¿µ±ÊµÏÖÁËÒ»¸öеĽӿڣ¨Ò²¾ÍÊÇÒ»ÌõеÄÏûÏ¢£©£¬¾ÍÓ¦¸Ã׫дÏàÓ¦µÄ²âÊԽű¾£¬²¢×÷ΪÏîÄ¿µÄÒ»²¿·Ö±£´æÔÚ´úÂë¿âÖС£µ±ÐèÒªÖ´Ðлعé²âÊÔµÄʱºò£¬Ö»ÒªÔËÐÐÒ»±é²âÊԽű¾¼´¿É£¬´ó´óÌá¸ßÁ˻عé²âÊÔµÄЧÂÊ¡£
ËùÒÔ£¬ÎªÁËʵÏÖÈí¼þµÄ×Ô¶¯»¯²âÊÔ£¬Ìṩ»ùÓÚÏûÏ¢µÄ½Ó¿ÚÊÇÒ»¸öºÜºÃµÄ°ì·¨£¬ÕâÈÃÎÒÃÇ¿ÉÒÔÔÚÈí¼þÖ®Íâ¶ÀÁ¢µÄ±àд²âÊԽű¾¡£ÔÚÉè¼ÆµÄʱºò¿ÉÒÔ¿¼ÂÇÕâ¸öÒòËØ£¬Êʵ±µÄÔö¼ÓÈí¼þÏûÏ¢µÄÖ§³Ö¡£µ±È»£¬TL1Ö»ÊÇÒ»¸öÀý×Ó£¬¸ù¾ÝÏîÄ¿µÄÐèÒª£¬¿ÉÒÔÑ¡ÔñÈκÎÊʺϵÄÐÒ飬ÈçSOAP¡£
6.3.3. ×Ô¶¯»¯²âÊÔ¿ò¼Ü
ÔÚ±àд×Ô¶¯»¯²âÊԽű¾µÄʱºò£¬ÓкܶàµÄ¹¤×÷ÊÇÖØ¸´µÄ£¬±ÈÈ罨Á¢socketÁ¬½Ó£¬ÈÕÖ¾£¬´íÎó´¦Àí£¬±¨±íÉú³ÉµÈ¡£Í¬Ê±£¬¶ÔÓÚ²âÊÔÈËÔ±À´Ëµ£¬ÕâЩ¹¤×÷¿ÉÄÜÊDZȽÏÀ§Äѵġ£Òò´Ë£¬Éè¼ÆÒ»¸ö¿ò¼Ü£¬ÊµÏÖ²¢Òþ²ØÕâÐ©ÖØ¸´ºÍ¸´Ôӵļ¼Êõ£¬ÈòâÊԽű¾µÄ±àдÕß½«×¢ÒâÁ¦¼¯ÖÐÔÚ¾ßÌåµÄ²âÊÔÂß¼ÉÏ¡£
ÕâÑùÒ»¸ö¿ò¼ÜÓ¦¸ÃʵÏÖÒÔϹ¦ÄÜ£º
1. Íê³ÉÁ¬½ÓµÄ³õʼ»¯µÈ»ù´¡¹¤×÷¡£
46. ²¶»ñËùÓеĴíÎ󣬱£Ö¤Test CaseÖеĴíÎó²»»á´ò¶ÏºóÐøµÄTest CaseÖ´ÐС£
47. ×Ô¶¯¼ì²âºÍÖ´ÐÐTest Case¡£ÐÂÔöµÄTest CaseÊǶÀÁ¢µÄ½Å±¾Îļþ£¬ÎÞÐëÐ޸Ŀò¼ÜµÄ´úÂë»òÕßÅäÖá£
48. ÏûÏ¢±à½âÂ룬²¢ÒÔº¯ÊýµÄ·½Ê½Ìṩ¸øTest Case±àдÕßµ÷Óá£
49. ·½±ãµÄ¹¤¾ß£¬È籨±í£¬ÈÕÖ¾µÈ¡£
50. ×Ô¶¯Í³¼ÆTest CaseµÄÔËÐнá¹û²¢Éú³É±¨¸æ¡£
×Ô¶¯»¯²âÊÔ¿ò¼ÜµÄ˼·ºÍÒ»°ãµÄÈí¼þ¿ò¼ÜÊÇÒ»Öµģ¬¾ÍÊDZÜÃâÖØ¸´ÀͶ¯£¬½µµÍ¿ª·¢ÄѶȡ£
ÏÂͼÊÇÒ»¸ö×Ô¶¯»¯²âÊÔ¿ò¼ÜµÄ½á¹¹Í¼£º
ÿ¸öTest Case¶¼±ØÐ붨ÒåÒ»¸ö¹æ¶¨µÄRunº¯Êý£¬¿ò¼Ü½«ÒÀ´Îµ÷Ó㬲¢ÌṩÏàÓ¦µÄ¿âº¯Êý¹©Test
CaseÓÃÀ´·¢ËÍÃüÁîºÍ»ñµÃ½á¹û¡£ÕâÑù£¬²âÊÔÓÃÀýµÄ±àдÕß¾ÍÖ»ÐèÒª½«×¢ÒâÁ¦¼¯ÖÐÔÚ²âÊÔ±¾Éí¡£¾ÙÀý£º
def run():
open_laser()
assert(get_laser_state() == ON)
insert_error(BIT_ERROR)
assert(get_error_bit() == BIT_ERROR) |
²âÊÔÓÃÀýµÄ±àдÕßÓµÓеÄ֪ʶÊÇ¡°±ØÐëÏÈ´ò¿ª¼¤¹âÆ÷È»ºó²ÅÄÜÏòÏß·ÉϲåÈë´íÎ󡱡£¶ø¼Ü¹¹Ê¦ÄÜÌṩµÄÊÇÏûÏ¢ÊÕ·¢£¬±à½âÂ룬´íÎó´¦Àí£¬±¨±íÉú³ÉµÈ£¬²¢½«ÕâЩΪ²âÊÔÓÃÀý±àдÕ߸ôÀë¡£
ÎÊÌâ: open_laser, get_laser_stateÕâЩº¯ÊýÊÇËдµÄ£¿
ÎÊÌ⣺ÈçºÎ½øÒ»²½ÊµÏÖ֪ʶµÄ½âñÄÜ·ñÓиü·½±ãµÄÓïÑÔÀ´±àдTestCase?
6.3.4. »Ø¹é²âÊÔ
ÓÐÁË×Ô¶¯»¯µÄ²âÊԽű¾ºÍ¿ò¼Ü£¬»Ø¹é²âÊԾͱäµÃºÜ¼òµ¥ÁË¡£Ã¿µ±ÓÐа汾·¢²¼Ê±£¬Ö»ÐèÔËÐÐÒ»±éÏÖÓеÄTest
Case£¬·ÖÎö²âÊÔ±¨¸æ£¬Èç¹ûÓвâÊÔʧ°ÜµÄCaseÔò»Ø¹é²âÊÔʧ°Ü£¬ÐèÒªÖØÐÂÐ޸ģ¬Ö±µ½ËùÓеÄCaseÍêȫͨ¹ý¡£ÍêÕûµÄ»Ø¹é²âÊÔÊÇÈí¼þÖÊÁ¿µÄÖØÒª±£Ö¤¡£
6.4. ¼¯³É²âÊÔ
¼¯³É²âÊÔÒªÑéÖ¤µÄÊÇϵͳ¸÷¸ö×é³ÉÄ£¿éµÄ½Ó¿ÚÊÇ·ñ¹¤×÷Õý³£¡£ÕâÊDZÈϵͳ²âÊÔ¸üµÍ²ãµÄ²âÊÔ£¬Í¨³£ÓÉ¿ª·¢ÈËÔ±ºÍ²âÊÔÈËÔ±¹²Í¬Íê³É¡£
ÀýÈçÔÚÒ»¸öµäÐ͵ÄǶÈëʽϵͳÖУ¬FPGA£¬¹Ì¼þºÍ½çÃæÊdz£¼ûµÄÈý¸öÄ£¿é¡£Ä£¿é±¾Éí»¹¿ÉÒÔ»®·ÖΪ¸üСµÄÄ£¿é£¬´Ó¶ø½µµÍ¸´ÔÓ¶È¡£Ç¶ÈëʽÈí¼þÄ£¿é²âÊԵij£¼ûÎÊÌâÊÇÓ²¼þûÓй̼þÔòÎÞ·¨¹¤×÷£¬¹Ì¼þûÓнçÃæ¾ÍÎÞ·¨Çý¶¯;·´¹ýÀ´£¬½çÃæÃ»Óй̼þ²»ÄÜÍêÕûÔËÐУ¬¹Ì¼þûÓÐÓ²¼þÉõÖÁÎÞ·¨ÔËÐС£ÓÚÊÇûÓо¹ý²âÊÔµÄÄ£¿éÖ±µ½¼¯³ÉµÄʱºò²ÅÄÜÍêÕûÔËÐУ¬·¢ÏÖÎÊÌâºóÐèÒª¿¼ÂÇËùÓÐÄ£¿éµÄÎÊÌ⣬¶¨Î»ºÍ½â¾öµÄ´ú¼Û¶¼ºÜ´ó¡£¼ÙÉèÓÐÄ£¿éAºÍB£¬¸÷ÓÐÊ®¸öbug¡£Èç¹û¶¼Ã»Óо¹ýÄ£¿é²âÊÔÖ±½Ó¼¯³É£¬¿ÉÒÔÈÏΪÅÅ´íµÄ¹¤×÷Á¿Ï൱ÓÚ10*10µÈÓÚ100¡£
ËùÒÔ£¬ÔÚÉè¼ÆÒ»¸öÄ£¿éµÄʱºò£¬Ê×ÏÈÒª¿¼ÂÇ£¬Õâ¸öÄ£¿éÈçºÎµ¥¶À²âÊÔ£¿±ÈÈ磬Èç¹û½çÃæºÍ¹Ì¼þÖ®¼äÊÇͨ¹ýSOCKETͨÐŵģ¬ÄÇô¾Í¿ÉÒÔ¿ª·¢Ò»¸öÄ£Äâ¹Ì¼þ£¬ÔÚͬÑùµÄ¶Ë¿ÚÉÏÌṩ·þÎñ¡£Õâ¸öÄ£Äâ¹Ì¼þ²»Ö´ÐÐʵ¼ÊµÄ²Ù×÷£¬µ«ÊÇ»áÏìÓ¦½çÃæµÄÇëÇó²¢·µ»ØÄ£ÄâµÄ½á¹û¡£²¢ÇÒ·µ»ØµÄ½á¹û¿ÉÒÔ¸²¸Çµ½¸÷ÖÖµäÐ͵ÄÇé¿ö£¬°üÀ¨´íÎóµÄÇé¿ö¡£Ê¹ÓÃÕâÑùµÄ¼¼Êõ£¬½çÃæ²¿·Ö¼¸ºõ¿ÉÒԵõ½100%µÄÑéÖ¤£¬ÔÚ¼¯³É½×¶ÎÓöµ½´íÎóµÄ´ó´ó¼õÉÙ¡£
¶Ô¹Ì¼þ¶øÑÔ£¬ÒòΪ´¦ÓÚϵͳµÄÖм䣬ËùÒÔÎÊÌ⸴ÔÓһЩ¡£Ò»·½Ã棬ҪÈù̼þ¿ÉÒÔͨ¹ýGUIÒÔÍâµÄ;¾¶±»µ÷Óã»ÁíÒ»·½ÃæÔòҪģÄâÓ²¼þµÄ¹¦ÄÜ¡£¶ÔÓÚµÚÒ»µã£¬ÔÚÉè¼ÆµÄʱºò£¬ÒªÈýӿںÍʵÏÖ·ÖÀë¡£½Ó¿Ú¿ÉÒÔËæÒâµÄ¸ü»»£¬±ÈÈçºÍGUIµÄ½Ó¿ÚÒ²ÐíÊÇJSON£¬Í¬Ê±»¹¿ÉÒÔÌṩtelnetµÄTL1½Ó¿Ú£¬µ«ÊÇʵÏÖÊÇÍêȫһÑùµÄ¡£ÕâÑù£¬ÔÚºÍGUI¼¯³É֮ǰ£¬¾Í¿ÉÒÔͨ¹ýTL1½øÐÐÍêÈ«µÄ²âÊԹ̼þ¡£¶ÔÓÚµÚ¶þµã£¬ÔòÓ¦¸ÃÔÚÉè¼ÆµÄʱºòÌáÈ¡³öÓ²¼þ³éÏó²ã£¬Èù̼þµÄÖ÷ҪʵÏֺͼĴæÆ÷£¬ÄÚ´æµØÖ·µÈÒòËØ¸ôÀ뿪À´¡£ÔÚûÓÐÓ²¼þ»òÕßÓ²¼þÉè¼ÆÎ´¶¨µÄʱºòʵÏÖÒ»¸öÓ²¼þÄ£Äâ²ã£¬À´±£Ö¤¹Ì¼þ¿ÉÒÔÍêÕûÔËÐв¢²âÊÔ¡£
6.5. µ¥Ôª²âÊÔ
µ¥Ôª²âÊÔÊÇÈí¼þ²âÊÔµÄ×î»ù±¾µ¥Î»£¬ÊÇÓÉ¿ª·¢ÈËÔ±Ö´ÐÐÒÔ±£Ö¤ÆäËù¿ª·¢´úÂëÕýÈ·µÄ¹ý³Ì¡£¿ª·¢ÈËÔ±Ó¦¸ÃÌá½»¾¹ý²âÊԵĴúÂ롣δ¾µ¥Ôª²âÊԵĴúÂëÔÚ½øÈëÈí¼þºó£¬²»½ö·¢ÏÖÎÊÌâºóºÜÄѶ¨Î»£¬¶øÇÒͨ¹ýϵͳ²âÊÔÊǺÜÄÑ×öµ½¶Ô´úÂë·ÖÖ§µÄÍêÈ«¸²¸ÇµÄ¡£TDD¾ÍÊÇ»ùÓÚÕâ¸ö²ã´ÎµÄ¿ª·¢Ä£Ê½¡£
µ¥Ôª²âÊÔµÄÁ£¶ÈÒ»°ãÊǺ¯Êý»òÕßÀ࣬ÀýÈçÏÂÃæÕâ¸ö³£Óú¯Êý£º
int atoi(const char *nptr);
ÕâÊÇÒ»¸ö¹¦Äܷdz£µ¥Ò»µÄº¯Êý£¬ËùÒÔµ¥Ôª²âÊÔ¶ÔËü·Ç³£ÓÐЧ¡£¿ÉÒÔͨ¹ýµ¥Ôª²âÊÔÑéÖ¤ÏÂÁÐÇé¿ö£º
1. Ò»°ãÕý³£µ÷ÓÃ,È硱9¡±,¡±1000¡±,¡±-1¡±µÈ
51. ¿ÕµÄnptrÖ¸Õë
52. ·ÇÊý×Ö×Ö·û´®,¡±abc¡±,¡±@#!123¡±,¡±123abc¡±
53. ´øÐ¡ÊýµãµÄ×Ö·û´®, ¡°1.1¡±,¡±0.111¡±,¡±.123¡±
54. ³¬³¤×Ö·û´®
55. ³¬´óÊý×Ö£¬¡±999999999999999999999999999¡±
56. ³¬¹ýÒ»¸öµÄ-ºÅºÍλÖôíÎóµÄ-ºÅ,¡±¡ª1¡±,¡±-1-¡°,¡±-1-2¡±
Èç¹ûatoiͨ¹ýÁËÒÔÉϲâÊÔ£¬ÎÒÃǾͿÉÒÔ·ÅÐĵĽ«Ëü¼¯³Éµ½Èí¼þÖÐÈ¥ÁË¡£ÓÉËüÔÙÒý·¢ÎÊÌâµÄ¸ÅÂʾͺÜСÁË(²»ÊÇÍêȫûÓУ¬ÒòΪÎÒÃDz»ÄܱéÀúËùÓпÉÄÜ£¬Ö»ÊÇÌôÑ¡Óдú±íÐÔµÄÒì³£Çé¿ö½øÐвâÊÔ)¡£
ÒÔÉϵÄÀý×Ó¿ÉÒÔ˵Êǵ¥Ôª²âÊԵĵ䷶£¬µ«Êµ¼ÊÖÐÈ´³£³£²»ÊÇÕâô»ØÊ¡£ÎÒÃdz£³£·¢ÏÖдºÃµÄº¯ÊýºÜÄÑ×öµ¥Ôª²âÊÔ£¬²»½ö¹¤×÷Á¿ºÜ´ó£¬Ð§¹ûÒ²²»¼ûµÃºÃ¡£Æä¸ù±¾µÄÔÒòÊÇ£¬º¯ÊýûÓÐ×ñѺÃһЩÔÔò£º
1. µ¥Ò»¹¦ÄÜ
57. µÍñîºÏ
·´¹ÛatoiµÄÀý×Ó£¬¹¦Äܵ¥Ò»Ã÷È·£¬ºÍÆäËûº¯Êý¼¸ºõûÓÐÈκÎñîºÏ£¨ÎÒÉÏÃæ²¢Ã»ÓÐдatoiµÄ´úÂëʵÏÖ£¬´ó¼Ò¿ÉÒÔ×Ô¼ºÊµÏÖ£¬Ï£ÍûÊÇ0ñîºÏ£©¡£
ÏÂÃæÎÒ¾ÙÒ»¸öʵ¼ÊÖеÄÀý×Ó¡£
ÕâÊÇÒ»¸ö¼òµ¥µÄTL1ÃüÁî·¢ËͺͽâÎöÈí¼þ£¬¹¦ÄÜÐèÇóÃèÊöÈçÏ£º
¨¹ ͨ¹ýtelnetÓëTL1·þÎñÆ÷ͨѶ
¨¹ ·¢ËÍTL1ÃüÁî¸øTL1·þÎñÆ÷
¨¹ ½âÎöTL1·þÎñÆ÷µÄÏìÓ¦
TL1ÊÇͨѶÐÐÒµ¹ã·ºÊ¹ÓõÄÒ»ÖÖÐÒ飬ΪÁ˸ø²»ÊìϤTL1µÄÅóÓѼò»¯ÎÊÌ⣬ÎÒ¶¨ÒåÁËÒ»¸ö¼ò»¯µÄ¸ñʽ£º
CMD:CTAG:PAYLOAD;
CMD - ÃüÁîµÄÃû×Ö£¬¿ÉÒÔÊÇÈÎÒâ×Öĸ¿ªÍ·£¬ÓÉ×ÖĸºÍÏ»®Ïß×é³ÉµÄ×Ö·û´®
CTAG - Ò»¸öÊý×Ö£¬ÓÃÓÚ±êÖ¾ÃüÁîµÄÐòºÅ
PAYLOAD - ¿ÉÒÔÊÇÈÎÒâ¸ñʽµÄÄÚÈÝ
; - ½áÊø·û
ÏàÓ¦µÄ£¬TL1·þÎñÆ÷µÄ»ØÓ¦Ò²Óиñʽ£º
DATE
CTAG COMPLD
PAYLOAD
;
DATE ¨C ÈÕÆÚºÍʱ¼ä
CTAG ¨C Ò»¸öÊý×Ö£¬ºÍTL1 ÃüÁîËùЯ´øµÄCTAGÒ»Ñù
COMPLD ¨C ±íÃ÷ÃüÁîÖ´Ðгɹ¦
PAYLOAD - ·µ»ØµÄ½á¹û£¬¿ÉÒÔÊÇÈκθñʽµÄÄÚÈÝ
; - ½áÊø·û
¾ÙÀý£º
ÃüÁGET-IP-CONFIG:1:;
½á¹û£º
2008-7-19 11:00:00
1 COMPLD
ip address: 192.168.1.200
gate way: 192.168.1.1
dns: 192.168.1.3
; |
ÃüÁSET-IP-CONFIG:2:172.31.2.100,172.31.2.1,172.31.2.3;
½á¹û£º
2008-7-19 11:00:05
2 COMPLD
; |
Èí¼þµÄ×îÉϲã¿ÉÄÜÊÇÕâÑùµÄ£º
Dict* ipconf
= GET_IP_CONFIG();
ipconf->set(¡°ipaddr¡±,¡±172.31.2.100)
ipconf->set(¡°gateway¡±,¡±172.3.2.1¡±)
ipconf->set(¡°dns¡±,¡±172.31.2.1¡±)
SET_IP_CONFIG(ipconf); |
ÒÔGET_IP_CONFIGΪÀý£¬Õâ¸öº¯ÊýÓ¦¸ÃÍê³ÉµÄ¹¦ÄܰüÀ¨£º
¨¹ ½¨Á¢telnetÁ¬½Ó£¬Èç¹ûÁ¬½ÓÉÐ佨Á¢
¨¹ ¹¹ÔìTL1ÃüÁî×Ö·û´®
¨¹ ·¢ËÍ
¨¹ ½ÓÊÕ·´À¡
¨¹ ½âÎö·´À¡£¬²¢¸øIP_CONF½á¹¹¸´ÖÆ
¨¹ ·µ»Ø
ÎÒÃǵ±È»²»Ï£Íûÿ¸öÕâÑùµÄº¯Êý¶¼Öظ´ÊµÏÖÕâЩ¹¦ÄÜ£¬ËùÒÔÎÒÃǶ¨ÒåÁ˼¸¸öÄ£¿é£º
1. Telnet Á¬½Ó¹ÜÀí
58. TL1ÃüÁî¹¹Ôì
59. TL1 ½á¹û½âÎö
ÕâÀïÎÒÃÇÀ´·ÖÎöTL1½á¹û½âÎö£¬¼ÙÉèÉè¼ÆÎªÒ»¸öº¯Êý£¬º¯ÊýµÄÔÐÍÈçÏ£º
Dict* TL1Parse(const
char* tl1response) |
Õâ¸öº¯ÊýµÄ¹¦ÄÜÊǽÓÊÜÒ»¸ö×Ö·û´®£¬Èç¹ûËüÊÇÒ»¸öºÏ·¨ÇÒÒÑÖªµÄTL1»ØÓ¦£¬Ôò½«ÆäÖеĽá¹ûÌáÈ¡³öÀ´£¬·ÅÈëÒ»¸ö×Öµä¶ÔÏóÖС£
Õâ±¾À´»áÊÇÒ»¸öºÜ±ãÓÚ½øÐе¥Ôª²âÊÔµÄÀý×Ó£ºÊäÈë¸÷ÖÖ×Ö·û´®£¬¼ì²é·µ»Ø½á¹ûÊÇ·ñÕýÈ·¼´¿É¡£µ«ÊÇÔÚÕâ¸öÈí¼þÖУ¬ÓÐÒ»¸öºÜÌØÊâµÄÎÊÌ⣺
TL1ParseÔÚ½âÎöÒ»¸ö×Ö·û´®Ê±£¬Ëü±ØÐëÒªÖªµÀµ±Ç°Òª´¦ÀíµÄÊÇÄÄÌõÃüÁîµÄ»ØÓ¦¡£µ«ÊÇÇë×¢Ò⣬ÔÚTL1µÄ»ØÓ¦ÖУ¬ÊDz»°üÀ¨ÃüÁîµÄÃû×ֵġ£Î¨Ò»µÄ°ì·¨ÊÇʹÓÃCTAG£¬Õâ¸öÃüÁîºÍ»ØÓ¦Ò»Ò»¶ÔÓ¦µÄÊý×Ö¡£Tl1ParseÊ×ÏÈÌáÈ¡³öCTAGÀ´£¬È»ºó²éÕÒʹÓÃÕâ¸öCTAGµÄÊÇʲôÃüÁî¡£ÕâÀï²úÉúÁËÒ»¸ö¶ÔÍâµ÷Óã¬Ò²¾ÍÊÇñîºÏ¡£
ÓÐÒ»¸ö¶ÔÏóά»¤ÁËÒ»¸öCTAGºÍÃüÁîÃû×Ö¶ÔÓ¦¹ØÏµµÄ±í£¬Í¨¹ýCTAG£¬¿ÉÒÔ²éѯµ½¶ÔÓ¦µÄÃüÁîÃû£¬´Ó¶øÖªµÀÈçºÎ½âÎöÕâ¸öTL1
response.
Èç´ËÒ»À´£¬TL1Parse¾ÍÎÞ·¨½øÐе¥Ôª²âÊÔÁË£¬ÖÁÉÙ²»ÄÜÇáÒ׵ĽøÐС£Í¨³£µÄ×®º¯ÊýµÄ°ì·¨¶¼²»ºÃÓÃÁË¡£
Ôõô°ì£¿
ÖØÐÂÉè¼Æ£¬Ïû³ýñîºÏ¡£
½«TL1Parse²ð·ÖΪÁ½¸öº¯Êý£º
Tl1_header TL1_get_header(const
char* tl1response)
Dict* TL1_parse_payload(const char* tl1name ,const
char* tl1payload) |
ÕâÁ½¸öº¯Êý¶¼¿ÉÒÔµ¥¶À½øÐÐÍêÕûµÄµ¥Ôª²âÊÔ¡£¶øÕâÁ½¸öº¯ÊýµÄ´úÂë»ù±¾¾ÍÊÇTL1ParseÇзÖÁËһϣ¬µ«ÊÇÆä¿É²âÊÔÐԵõ½Á˺ܴóµÄÌá¸ß£¬µÃµ½Ò»¸ö¿É¿¿µÄ½âÎöÆ÷µÄ¿ÉÄÜÐÔ×ÔȻҲ´ó´óÌáÉýÁË¡£
Õâ¸öÀý×ÓÑÝʾÁËÈçºÎͨ¹ýÉè¼ÆÀ´Ìá¸ß´úÂëµÄ¿É²âÊÔÐÔ¡ªÕâÀïÊǵ¥Ôª²âÊÔ¡£Ò»¸öËæÒâÉè¼Æ£¬ËæÒâʵÏÖµÄÈí¼þÒª½øÐе¥Ôª²âÊÔ½«»áÊÇÒ»³¡Ø¬ÃΣ¬Ö»ÓÐÔÚÉè¼ÆµÄʱºò¾Í¿¼Âǵ½µ¥Ôª²âÊÔµÄÐèÒª£¬²ÅÄÜÕæÕýµÄ½øÐе¥Ôª²âÊÔ¡£
6.5.1. Ȧ¸´ÔӶȲâÁ¿
Ä£¿éµÄ¸´ÔÓ¶ÈÖ±½ÓÓ°ÏìÁ˵¥Ôª²âÊԵĸ²¸ÇÂÊ¡£×îÖøÃûµÄ¶ÈÁ¿´úÂ븴ÔӶȵķ½·¨ÊÇȦ¸´ÔӶȲâÁ¿¡£
¼ÆË㹫ʽ£ºV(F)=e-n+2¡£ÆäÖÐeÊÇÁ÷³ÌͼÖеıߵÄÊýÁ¿£¬nÊǽڵãÊýÁ¿¡£¼òµ¥µÄËã·¨ÊÇͳ¼ÆÈç if¡¢while¡¢doºÍswitch
ÖÐµÄ case Óï¾äÊý¼Ó1¡£ÊʺÏÓÚµ¥Ôª²âÊԵĴúÂëµÄ¸´ÔÓ¶ÈÒ»°ãÈÏΪ²»Ó¦¸Ã³¬¹ý10¡£
6.5.2. ÉÈÈëÉȳö²âÁ¿
ÉÈÈëÊÇÖ¸Ò»¸öÄ£¿é±»ÆäËûÄ£¿éËùÒýÓá£ÉȳöÊÇÖ¸Ò»¸öÄ£¿éÒýÓÃÆäËûÄ£¿é¡£ÎÒÃǶ¼ÖªµÀºÃµÄÉè¼ÆÓ¦¸ÃÊǸßÄÚ¾ÛµÍñîºÏµÄ£¬Ò²¾ÍÊǸßÉÈÈëµÍÉȳö¡£Ò»¸öÉȳö³¬¹ý7µÄÄ£¿éÒ»°ãÈÏΪÊÇÉè¼ÆÇ·¼ÑµÄ¡£Éȳö¹ý´óµÄÄ£¿é½øÐе¥Ôª²âÊÔ²»ÂÛ´Ó×®ÉèÖû¹ÊǸ²¸ÇÂÊÉ϶¼ÊÇÀ§Äѵġ£½«ÏµÍ³µÄ´«³öñîºÏºÍ´«ÈëñîºÏµÄÊýÁ¿½áºÏÆðÀ´£¬ÐγÉÁíÒ»¸ö¶ÈÁ¿£º²»Îȶ¨ÐÔ¡£
²»Îȶ¨ÐÔ = Éȳö / (ÉÈÈë + Éȳö)
Õâ¸öÖµµÄ·¶Î§´Ó0µ½1¡£ÖµÔ½½Ó½ü1£¬Ëü¾ÍÔ½²»Îȶ¨¡£ÔÚÉè¼ÆºÍʵÏּܹ¹Ê±£¬Ó¦µ±¾¡Á¿ÒÀÀµÎȶ¨µÄ°ü£¬ÒòΪÕâЩ°ü²»Ì«¿ÉÄܸü¸Ä¡£Ïà·´µÄ£¬ÒÀÀµÒ»¸ö²»Îȶ¨µÄ°ü£¬·¢Éú¸ü¸Äʱ¼ä½ÓÊܵ½É˺¦µÄ¿ÉÄÜÐԾ͸ü´ó¡£
6.5.3. ¿ò¼Ü¶Ôµ¥Ôª²âÊÔµÄÒâÒå
¿ò¼ÜµÄÓ¦ÓÃÔںܴó³Ì¶ÈÉÏ¿ÉÒÔ°ïÖú½øÐе¥Ôª²âÊÔ¡£ÒòΪ¶þ´Î¿ª·¢Õß±»ÏÞ¶¨ÊµÏÖÌØ¶¨µÄ½Ó¿Ú£¬¶øÕâЩ½Ó¿ÚÊÆ±Ø¶¼Êǹ¦ÄÜÃ÷È·£¬¼òµ¥£¬µÍñîºÏµÄ¡£Ö®Ç°µÄ¿ò¼ÜʾÀý´úÂëÒ²ÑÝʾÁËÕâÒ»µã¡£ÕâÔÙ´Î˵Ã÷ÁË£¬ÓɸßˮƽµÄ¹¤³ÌʦÉè¼Æ³öµÄ¿ò¼Ü£¬¿ÉÒÔÇ¿ÖÆ³õ¼¶¹¤³Ìʦ²úÉú¸ßÖÊÁ¿µÄ´úÂë¡£
7. ά»¤¼Ü¹¹µÄÒ»ÖÂÐÔ
ÔÚʵ¼ÊµÄ¿ª·¢ÖУ¬´úÂëÆ«À뾫ÐÄÉè¼ÆµÄ¼Ü¹¹ÊǺܳ£¼ûµÄÊÂÇ飬±ÈÈçÏÂͼʾÀýÁËÒ»¸öǶÈëʽÉ豸ÖÐÉè¼ÆµÄMVCģʽ£º
ViewÒÀÀµÓÚControllerºÍModel, ControllerÒÀÀµÓÚModel£¬Model×÷Ϊµ×²ã·þÎñÌṩÕߣ¬²»ÒÀÀµView»òÕßController.
ÕâÊÇÒ»¸öÊÊÓõļܹ¹£¬¿ÉÒÔÔÚÏ൱³Ì¶ÈÉÏ·ÖÀëÒµÎñ£¬Êý¾ÝºÍ½çÃæ¡£µ«ÊÇ£¬Ä³¸ö³ÌÐòÔ±ÔÚʵÏÖʱ£¬Ê¹ÓÃÁËÒ»¸ö´ÓModelµ½ViewµÄµ÷Óã¬ÆÆ»µÁ˼ܹ¹¡£
ÕâÖÖÏÖÏóͨ³£·¢ÉúÔÚ²úÆ·µÄά»¤½×¶Î£¬ÓÐʱҲ·¢ÉúÔڼܹ¹µÄʵÏֽ׶Ρ£ÎªÁËÔö¼ÓÒ»¸ö¹¦ÄÜ»òÕßÐÞÕýÒ»¸ö´íÎ󣬳ÌÐòÔ±ÓÉÓÚ²»Àí½âÔÓмܹ¹µÄ˼·£¬»òÕßÖ»Êǵ¥´¿µÄ͵ÀÁ£¬×ßÁË¡°½Ý¾¶¡±¡£Èç¹ûÕâÑùµÄʵÏÖ²»Äܼ°Ê±·¢ÏÖ²¢¾ÀÕý£¬Éè¼ÆÁ¼ºÃµÄ¼Ü¹¹¾Í»á±»½¥½¥ÆÆ»µ£¬Ò²¾ÍÊÇÎÒÃdz£ËµµÄ¡°¼Ü¹¹¡±¸¯ÀÃÁË¡£Í¨³£Ò»¸öÓÐÒ»¶¨ÄêÁäµÄÈí¼þ²úÆ·µÄ¼Ü¹¹¶¼ÓÐÕâ¸öÎÊÌâ¡£ÈçºÎ¼àÊÓ²¢·ÀÖ¹ÕâÖÖÎÊÌ⣬Óм¼ÊõÉϵĺ͹ÜÀíÉϵÄÊֶΡ£
¼¼ÊõÉÏ£¬½èÖú¹¤¾ß£¬¿ÉÒÔ¶Ôϵͳ×é¼þµÄÒÀÀµ½øÐзÖÎö£¬¼Ü¹¹µÄÍâÔÚ±íÏÖ×îÖØÒªµÄ¾ÍÊǸ÷¸ö²¿·ÖµÄñîºÏ¹ØÏµ¡£ÓÐһЩ¹¤¾ß¿ÉÒÔͳ¼ÆÈí¼þ×é¼þµÄÉÈÈëºÍÉȳö¡£¿ÉÒÔÓÃÕâÖÖ¹¤¾ß±àд²âÊÔ´úÂ룬¶Ô×é¼þµÄÉȳö½øÐмì²â£¬Ò»µ©·¢ÏÖ²âÊÔʧ°Ü£¬¾Í˵Ã÷¼Ü¹¹Ôâµ½ÁËÆÆ»µ¡£ÕâÖÖ¼ì²é¿ÉÒÔ¼¯³ÉÔÚһЩIDEÖУ¬
ÔÚ±àÒëʱͬ²½½øÐУ¬»òÕßÔÚcheck inµÄʱºò½øÐС£¸ü¸ß¼¶µÄ¹¤¾ß¿ÉÒÔ¶Ô´úÂë½øÐз´Ïò¹¤³ÌÉú³ÉUML£¬¿ÉÒÔÌṩ¸ü½øÒ»²½µÄÐÅÏ¢¡£µ«Í¨³£¶ÔÉÈÈëÉȳö×ö¼ì²é¾Í¿ÉÒÔÁË¡£
ͨ¹ýÉèÖôúÂë¼ìÊӵĿª·¢Á÷³Ì£¬¶Ô³ÌÐòÔ±check inµÄ´úÂë½øÐÐÆÀÉó£¬Ò²¿ÉÒÔ·ÀÖ¹´ËÀàÎÊÌâ¡£´úÂë¼ìÊÓÊÇ¿ª·¢Öзdz£ÖØÒªµÄÒ»»·£¬ËüÊôÓÚ¿ª·¢ºóÆÚ½×¶ÎÓÃÀ´·ÀÖ¹»µµÄ´úÂë½øÈëϵͳµÄÖØÒªÊֶΡ£´úÂë¼ìÊÓͨ³£Òª¹Ø×¢ÒÔÏÂÎÊÌ⣺
1. ÊÇ·ñÕýÈ·ÍêÕûµÄÍê³ÉÁËÐèÇó
60. ÊÇ·ñ×ñÑÁËϵͳµÄ¼Ü¹¹
61. ´úÂëµÄ¿É²âÊÔÐÔ
62. ´íÎó´¦ÀíÊÇ·ñÍ걸
63. ´úÂë¹æ·¶
´úÂë¼ìÊÓͨ³£ÒÔ»áÒéµÄÐÎʽ½øÐУ¬Ê±¼äµãÉèÖÃÔÚÏîÄ¿½×¶ÎÐÔÍê³É£¬ÐèÒªcheck in´úÂëʱ¡£¶ÔÓÚµü´úʽ¿ª·¢£¬Ôò¿ÉÒÔÔÚÒ»¸öµü´úÖÜÆÚ½áÊøÇ°×éÖ¯¡£²ÎÓëÈËÔ±°üÀ¨¼Ü¹¹Ê¦£¬ÏîÄ¿¾Àí£¬ÏîÄ¿³ÉÔ±£¬ÆäËûÏîÄ¿µÄ×ÊÉ³ÌʦµÈ¡£Ò»°ãʱ¼ä²»ÒªÌ«³¤£¬ÒÔ²»³¬¹ý2¸öСʱΪÒË¡£»áÒéǰ2Ìì×óÓÒ·¢³ö»áÒé֪ͨºÍÏà¹ØÎĵµ´úÂ룬Óë»áÕß±ØÐëÏÈÁ˽â»áÒéÄÚÈÝ£¬½øÐÐ×¼±¸¡£»áÒéÖУ¬ÓÉ´úÂëµÄ×÷ÕßÊ×ÏȽ²½â´úÂëÐèҪʵÏֵŦÄÜ£¬×Ô¼ºµÄʵÏÖ˼·¡£È»ºóչʾ´úÂë¡£Óë»áÕ߸ù¾Ý×Ô¼ºµÄ¾ÑéÌá³ö¸÷ÖÖÎÊÌâºÍ¸Ä½øÒâ¼û¡£ÕâÖÖ»áÒé×î¼É»äµÄÊÇÈÃ×÷Õ߸е½±»Ö¸Ôð»òÕßÇáÊÓ£¬ËùÒÔ£¬»áÒé×éÖ¯ÕßÒªÊ×Ïȶ¨Òå»áÒéµÄ»ùµ÷£º»áÒé³É¹¦Óë·ñµÄ±ê×¼²»ÊÇ×÷ÕߵĴúÂëÖÊÁ¿ÈçºÎ£¬¶øÊÇÓë»áÕßÊÇ·ñÌṩÁËÓÐÒæµÄ½¨Òé¡£»áºóÓÉ×÷Õ߸øÓë»áÕß´ò·Ö£¬¶ø²»ÊÇ·´Ö®¡£
8. Ò»¸öʵ¼ÊǶÈëʽϵͳ¼Ü¹¹µÄÑÝ»¯
ÉÏÊÀ¼Í¾ÅÊ®Äê´ú£¬»¥ÁªÍøµÄ¼«ËÙ·¢Õ¹ÈÃͨѶ²âÊÔÉ豸ҲµÃµ½Á˼«´óµÄ·¢Õ¹¡£ÄǸöÄê´ú£¬Äܹ»ÊµÏÖijÖÖ²âÁ¿µÄÓ²¼þÊǾºÕùµÄºËÐÄ£¬Èí¼þµÄÄ¿µÄ½ö½öÊÇÇý¶¯Ó²¼þÔËÐÐÆðÀ´£¬ÔÙÌṩһ¸ö¼òµ¥µÄ½çÃæ¡£ËùÒÔ£¬×î³õµÄ²úÆ·µÄÈí¼þ½á¹¹·Ç³£¼òµ¥£¬ÀàËÆÇ°ÃæµÄ³ÇÌúÃŽûϵͳ¡£
Óŵ㣺³ÌÐò¼òµ¥Ã÷Á˵ÄʵÏÖÁËÓû§µÄÐèÇó£¬Ò»¸ö³ÌÐòÔ±¾Í¿ÉÒÔÈ«²¿¸ã¶¨¡£
ȱµã£ºÍêȫûÓл®·ÖÄ£¿é£¬µ×²ãÉϲãñîºÏÑÏÖØ¡£
8.1. Êý¾Ý´¦Àí
Óû§ÒªÇóÄܽ«²âÁ¿½á¹û±£´æÏÂÀ´£¬²¢¿ÉÒÔÖØÐ´ò¿ª¡£Êý¾Ý´æ´¢Ä£¿éºÍ½çÃæ±»¶ÀÁ¢³öÀ´¡£
ÒÀÈ»±£³ÖÉÏÃæµÄÖ÷Âß¼£¬µ«ÊǽçÃæ²¿·Ö²»½ö¿ÉÒÔÏÔʾʵʱµÄÊý¾Ý£¬Ò²¿ÉÒÔ´ÓResultManagerÖжÁÈ¡Êý¾ÝÀ´ÏÔʾ¡£
Óŵ㣺Êý¾ÝºÍ½çÃæ·ÖÀëµÄ³ûÐγõ²½ÏÔÏÖ
ȱµã£ºResultManagerÖ»ÊÇ×÷Ϊһ¸ö¹¤¾ß´æÔÚ£¬¸ºÔð±£´æºÍ×°ÔØÀúÊ·Êý¾Ý¡£½çÃæºÍÊý¾ÝµÄÀ´Ô´ÒÀÈ»ñîºÏµÄºÜ½ô¡£²»Í¬µÄ½çÃæÐèÒªµÄ²»Í¬Êý¾Ý¶¼ÊÇͨ¹ýÓ²±àÂëÅжϵġ£
8.2. ´°¿Ú¹ÜÀí
Ëæ×Ź¦Äܲ»¶Ï¸´ÔÓ£¬½çÃæ´°¿ÚÔ½À´Ô½¶à£¬ÔÀ´¿¿Ò»¸öÀàÀ´»æÖƸ÷ÖÖ½çÃæµÄ·½Ê½ÒѾ²»ÄܳÐÊÜ¡£ÓÚÊÇ´°¿ÚµÄ¸ÅÄî±»ÒýÈ롣ÿ¸ö½çÃæ¶¼±»ÊÓΪһ¸ö´°¿Ú£¬´°¿ÚÖеÄÔªËØÎª¿Ø¼þ¡£´°¿ÚµÄ´ò¿ª£¬¹Ø±Õ£¬Òþ²ØÔòÓÉ´°¿Ú¹ÜÀíÆ÷¸ºÔð¡£
Óŵ㣺½çÃæ¹¦ÄÜÒÔ´°¿ÚµÄµ¥Î»·ÖÀ룬²»ÔÙÊÇÒ»¸ö³¬´óµÄ¼¯ºÏ¡£
ȱµã£ºËäÈ»ÓÐÁË´°¿Ú¹ÜÀíÆ÷£¬µ«ÊǽçÃæÒÀÈ»ÊÇÖ±½ÓºÍµ×²ãñîºÏµÄ£¬ÒÀÈ»ÊÇ´óÑ»·½á¹¹¡£
8.3. MVCģʽ
Ëæ×ŹæÄ£½øÒ»²½À©´ó£¬×î³õµÄ´óÑ»·½á¹¹ÖÕÓÚÎÞ·¨Âú×ãÈÕÒæ¸´ÔÓµÄÐèÇóÁË¡£±ê×¼µÄMVCģʽ±»ÒýÈ룬¾ÀúÁËÒ»´Î´óµÄÖØ¹¹¡£
Êý¾ÝÖÐÐÄ×÷ΪModel±»¶ÀÁ¢³öÀ´£¬±£´æ×ŵ±Ç°×îеÄÊý¾Ý¡£View±»·ÅÔÚÁ˶ÀÁ¢µÄÈÎÎñÖÐÖ´ÐУ¬¶¨ÆÚ´ÓDataCenterÂÖѯÊý¾Ý¡£Óû§µÄ²Ù×÷ͨ¹ýView·¢Ë͸øController£¬½øÒ»²½µ÷ÓÃÓ²¼þÇý¶¯Ö´ÐС£Ó²¼þÖ´ÐеĽá¹û´ÓÇý¶¯µ½Controller¸üе½DataCenterÖС£½çÃæ£¬Êý¾Ý£¬ÃüÁîÈýÕß»ù±¾½âñî¡£ResultManager³ÉΪDataCenterµÄÒ»¸ö×é¼þ£¬View²»ÔÙÖ±½ÓÓëÆäͨѶ¡£
MVCģʽµÄÒýÈ룬µÚÒ»´ÎÈÃÕâ¸ö²úÆ·ÁËÓÐÕæÕýÒâÒåÉÏÖ°ÔðÃ÷Îú£¬¹¦ÄܶÀÁ¢µÄ¼Ü¹¹¡£
8.4. ´óÁ¿ÀàËÆÄ£¿é£¬µÍЧµÄ¸´ÓÃ
µ½ÉÏÒ»²½£¬×÷Ϊһ¸öµ¥¶ÀµÄǶÈëʽÉ豸£¬Æä¼Ü¹¹»ù±¾¿ÉÒÔÂú×ãÐèÇó¡£µ«ÊÇËæ×ÅÊг¡µÄÀ©Õ¹£¬Ô½À´Ô½¶àµÄÉ豸±»Éè¼Æ³öÀ´¡£ÕâЩÉ豸ËäȻִÐеľßÌå²âÁ¿ÈÎÎñ²»Í¬£¬µ«ÊÇËûÃǶ¼ÓÐ×ÅͬÑùµÄ²Ù×÷·½Ê½£¬ÀàËÆµÄ½çÃæ£¬¸üÖ÷ÒªµÄÊÇ£¬ËüÃÇÃæÁÙµÄÎÊÌâÁìÓòÊÇÏàͬµÄ¡£³¤ÆÚÒÔÀ´£¬¸´ÖƺÍÕ³ÌùÊÇΨһµÄ¸´Ó÷½Ê½£¬ÉõÖÁÀàÃû±äÁ¿Ãû¶¼À´²»¼°¸Ä¡£Ò»¸ö´íÎóÔÚÒ»¸öÉ豸Éϱ»ÐÞÕý£¬Í¬ÑùÒ»¶Î´úÂëµÄ´íÎóÔÚÆäËûÉ豸ÉÏÈ´À´²»¼°Ð޸ġ£¶øËæ×ÅÍŶӹæÄ£µÄÀ©´ó£¬ÉõÖÁMVCµÄ»ù±¾¼Ü¹¹ÔÚһЩÐÂÉ豸É϶¼Ã»ÄÜ×ñÊØ¡£
×îÖÕ¿ò¼Ü±»ÒýÈëÁËÕâ¸öϵÁеIJúÆ·¡£¿ò¼ÜÈ·¶¨ÁËÈçÏÂÄÚÈÝ£º
1. MVCģʽµÄ»ù±¾¼Ü¹¹
64. ´°¿Ú¹ÜÀíÆ÷ºÍ×é¼þ²¼¾ÖËã·¨
65. ¶à¹úÓïÑÔ·½°¸£¨×Ö·û´®¹ÜÀíÆ÷£©
66. ÈÕ־ϵͳ
67. ÄÚ´æ·ÖÅäÆ÷ºÍÄÚ´æÐ¹Â¶¼ì²â
8.5. Ô¶³Ì¿ØÖÆ
¿Í»§Ï£Íû½«É豸¹Ì¶¨°²·ÅÔÚÍøÂçµÄij¸öλÖã¬×÷Ϊ¡°Ì½Õ롱ʹÓã¬Ôڰ칫ÊÒͨ¹ýÔ¶³Ì¿ØÖÆÀ´·ÃÎÊÕâ¸öÉ豸¡£Õâ¶ÔÓÚÔ±¾ÊÇ×÷Ϊ´¿ÊÖ³ÖÉ豸Éè¼ÆµÄϵͳÓÖÊÇÒ»¸öÌôÕ½¡£ÐÒÔ˵ÄÊÇ£¬MVC¼Ü¹¹¾ßÓÐÏ൱µÄµ¯ÐÔ£¬ÔçÆÚµÄͶÈë»ñµÃÁ˻ر¨¡£
TL1 Server ¶ÔÍâÌṩ»ùÓÚTelnetµÄÔ¶³Ì¿ØÖƽӿڡ£ÔÚϵͳÄÚ²¿£¬ËüµÄλÖÃÏ൱ÓÚView£¬Ö»ºÍÔÓеÄControllerºÍDataCenterͨѶ¡£
8.6. ×Ô¶¯»¯µÄTL1½âÊÍÆ÷
ÓÉÓÚTL1ÃüÁîÏ൱¶à£¬¶øTL1ÓÖÍùÍù²»Êǿͻ§µÄµÚÒ»ÐèÇ󣬺ܶàÉ豸µÄTL1ÃüÁʼ²»ÍêÕû¡£¾¿ÆäÔÒò£¬»¹ÊÇÊÖдTL1ÃüÁîµÄ½âÊÍÆ÷Ì«ÀÛ¡£ºóÀ´Í¨¹ýÒýÈëBisonºÍFlex£¬Õâ¸öÎÊÌâÓÐËù¸ÄÉÆ£¬µ«»¹ÊDz»×ã¡£×Ô¶¯»¯´úÂëÉú³ÉÔÚÕâ¸ö½×¶Î±»ÒýÈ롣ͨ¹ýÒÔÈçϵĸñʽ¶¨ÒåTL1£¬¹¤¾ß¿ÉÒÔ×Ô¶¯Éú³ÉTL1µÄ±àÂëºÍ½âÂëÆ÷´úÂë¡£
CMD_NAME
{
cmd = ¡°SET-TIME-CONFIG::<ctag>::<year>,<month>,<day>,<hour>,<minute>,[<second>]¡±
year = 1970..2100
month = 1..12
day = 1..31
hour = 0..23
minute = 0..59
second = 0..59
} |
8.7. ²âÊÔµÄÄÑÌâ
¾¹ýÊýÊ®ÄêµÄ»ýÀÛ£¬²úÆ·ÒѾ³ÉΪһ¸öϵÁУ¬¼¸Ê®ÖÖÉ豸¡£´ó²¿·ÖÉ豸½øÈëÁËά»¤ÆÚ£¬¾³£Óпͻ§ÌáһЩСµÄ¸Ä½ø£¬»òÕßÒªÇóÐÞÕýÒ»ÏÂȱÏÝ¡£·±ÖصÄÊÖ¹¤»Ø¹é²âÊÔ³ÉΪÁËØ¬ÃΡ£
»ùÓÚTL1µÄ×Ô¶¯»¯²âÊÔ¼«´óµÄ½â·ÅÁ˲âÊÔÈËÔ±¡£Í¨¹ýÔÚPCÉÏÔËÐеIJâÊԽű¾£¬»Ø¹é²âÊÔ±äµÃ¼òµ¥¶ø¿É¿¿¡£Î¨Ò»²»×ãµÄÊǽçÃæ²¿·ÖÎÞ·¨ÑéÖ¤¡£
»ùÓÚTest QuestµÄ×Ô¶¯»¯¹¤¾ßÐèÒªÔÚÉ豸ÔËÐеÄpSOSϵͳÉÏ¿ª·¢Ò»¸öÀàËÆÔ¶³Ì×ÀÃæµÄÈí¼þ£¬¶øÕâÔÚpSOSÉϲ¢·ÇÒ×Ê¡£²»¹ýºÃÏûÏ¢ÊÇ£¬ÓÉÓÚ¿ò¼Ü¹Ì¶¨Á˽çÃæµÄ·ç¸ñºÍ²¼¾ÖËã·¨£¬»ùÓÚTest
QuestµÄ×Ô¶¯»¯¹¤¾ß»áÓкܸߵÄʶ±ðЧÂÊ¡£
8.8. С½á
´ÓÕâ¸öʵ¼ÊµÄǶÈëʽ²úÆ·ÖØ¹¹µÄÀú³Ì¿ÉÒÔ¿´³ö£¬µÚÈý²½ÒýÈëMVCģʽºÍµÚËIJ½µÄ¿ò¼Ü»¯ÊǷdz£¹Ø¼üµÄ¡£³ÉÊìµÄMVCģʽ±£Ö¤Á˺óÐøÒ»ÏµÁеĿÉÀ©³äÐÔ£¬¶ø¿ò¼ÜÔò±£Ö¤ÁËÕâ¸ö¼Ü¹¹µÄÔÚËùÓвúÆ·ÖеÄ×¼È·ÖØÓá£
9. ×ܽá
±¾ÎÄÊÇÕë¶ÔǶÈëʽÈí¼þ¿ª·¢µÄÌØµã£¬ÌÖÂۼܹ¹Éè¼ÆµÄ˼·ºÍ·½·¨¡£ÊÔͼ¸ø´ó¼ÒÌṩһÖÖ˼Ï룬Æô·¢´ó¼ÒµÄ˼ά¡£¿ò¼Ü£¬×Ô¶¯»¯´úÂëÉú³ÉºÍ²âÊÔÇý¶¯µÄ¼Ü¹¹ÊǺËÐÄÄÚÈÝ£¬ÆäÖпò¼ÜÓÖÊǹᴩʼÖÕµÄÒªËØ¡£ÓÐÈËÎÊÎÒ£¬Ê²Ã´ÊǼܹ¹Ê¦£¬ÔõôÑù²ÅÄܳÉΪ¼Ü¹¹Ê¦£¿Îһشð˵£º±àÂ룬±àÂ룬ÔÙ±àÂ룻¸Ä´í£¬¸Ä´í£¬ÔÙ¸Ä´í¡£µ±Äã¾õµÃÑá·³µÄʱºò£¬Í£ÏÂÀ´ÏëÏ룬Ôõô²ÅÄܸü¿ì¸üºÃµÄÍê³ÉÕâЩ¹¤×÷£¿¼Ü¹¹Ê¦¾ÍÊÇÔÚʵ¼ùÖвúÉúµÄ£¬¼Ü¹¹Ê¦À´×ÔÓÚÄÇЩÇÚÓÚ˼¿¼£¬ÀÁÓÚÖØ¸´µÄÈË¡£ |