ÔÚlinuxÉÏд³ÌÐò¡¢×öÍø¹ÜµÄÈË£¬»ò¶à»òÉÙ¶¼»á¼¸Öֽű¾¡£½Å±¾ÓïÑÔÁé»îµÄ±äÁ¿ÀàÐÍ¡¢Ç¿´óµÄÕýÔò±í´ïʽ´¦ÀíÄÜÁ¦£¬ÔÙ¼ÓÉÏlinuxϵͳ±¾ÉíµÄ¹ÜµÀ¡¢Öض¨ÏòÒÔ¼°·á¸»µÄÃüÁîÐй¤¾ß£¬ÈÃÄã±à³ÌÆðÀ´ÓÎÈÐÓÐÓà¡£
¡¡¡¡¶øCÓïÑÔ¹ÌÈ»ÓÐÖÖÖÖÓÅÊÆ£¬µ«²»¿É·ñÈÏ£¬ºÜ¶à³¡ºÏÏ£¬Óýű¾ÓïÑÔ¸üΪ·½±ã£¬±ÈÈçÎÒÃǽ«¾ÙÀý˵Ã÷µÄ¶ÔÅäÖÃÎļþµÄ´¦Àí¡£
¡¡¡¡ÏÈ¿´¿´ÎÒÃÇʾÀý³ÌÐòµÄÈÎÎñ£º
¡¡¡¡¼ÙÉèÎÒÃÇÓÐÒ»¸öÓÃcдµÄ³ÌÐò£¬ËüÓÐÒ»¸öÅäÖÃÎļþ user.conf£¬±£´æÁËһЩÓû§ÐÅÏ¢£¬user.conf¶¨ÒåÈçÏ£º
¡¡¡¡1£©¡¢ÒÔ # ¿ªÍ·µÄÐÐΪעÊÍÐУ¬²»×ö´¦Àí
¡¡¡¡2£©¡¢ÔÊÐí¿ÕÐÐ
¡¡¡¡3£©¡¢Èç¹û²»ÊÇ1ºÍ2£¬ÄÇô¾ÍÊÇÓÐЧµÄÊý¾Ý£¬¸ñʽÈçÏÂ
¡¡¡¡# user.conf: configure file for user
¡¡¡¡# username age *** country
¡¡¡¡tom 20 male us
¡¡¡¡chen 22 female cn
¡¡¡¡Ã¿Ò»ÁзÖΪ4¸ö×ֶΣ¬×Ö¶ÎÖ®¼äÓÃÒ»¸ö»ò¶à¸ö¿Õ°××Ö·û£¨¿Õ¸ñ»òÕßÖÆ±í·û£©¸ô¿ª£¬×Ö¶ÎÒÀ´ÎÊÇ ÐÕÃû¡¢ÄêÁä¡¢ÐԱ𡢹ú¼Ò
¡¡¡¡ÎÒÃǵÄc³ÌÐòÒªÍê³É¶Ô user.confµÄÌí¼Ó¡¢É¾³ý¡¢±à¼¡¢²éѯ
¡¡¡¡ÕâÑùÒ»¸ö¼òµ¥µÄÈÎÎñ£¬ÓÃc´¦ÀíÆðÀ´²»Ë㸴ÔÓ£¬²»¹ýÒ²ÊÇÒª»¨µã¹¦·òµÄ£¬¶øÈç¹ûÓýű¾ÓïÑÔÀ´×ö£¬È´ºÜ¼òµ¥£¬Äܲ»ÄÜÔÚcÖе÷Óýű¾À´Íê³ÉÈÎÎñÁË£¿
¡¡¡¡AwkÊÇlinuxÉÏÒ»Öֽű¾ÓïÑÔ£¬ËüµÄ³¤´ ......
½ñÌìÔÚVS2005µ÷ÊÔÒ»¸öC# C/S³ÌÐò£¬µ±Í¨¹ýRFCÓëSAPÁ¬½Óʱ¼ä¹ý³¤Ê±£¬³öÏÖ´Ë´íÎó£¬ÔÚÍøÉÏÕÒµ½½â¾ö°ì·¨¡£
VS2008ÉϵÄÒ»¸ö³ÌÐò£¬Í¨¹ýOracle.DataAccess.dllÖ´ÐÐdrop user
cascade²Ù×÷£¬ÎÒÔÚsqlplusÖ´Ðд˲Ù×÷´óÔ¼ÐèÒªÒ»·ÖÖÓ×óÓÒʱ¼ä£¬µ±ÎÒÔÚVS2008ÖÐdebugÆô¶¯´Ë³ÌÐòʱ£¬Ò»Ö±½ÓÊÕµ½
“ContextSwitchDeadlock is detected”ÏûÏ¢£¬²Ù×÷ÎÞ·¨½øÐÐÏÂÈ¥¡£
MSDNµÄ½âÊÍÒ»Èç¼´ÍùµØ×¨Òµ²¢ÇÒÁîÈ˷ѽ⣺
“Èç¹ûÔÚÊÔͼ½øÐÐCOMÉÏÏÂÎÄת»»ÆÚ¼ä¼ì²âµ½Ò»¸öËÀËø£¬Ôò½«¼¤»îContextSwitchDeadlockÍйܵ÷ÊÔÖúÊÖ (MDA)¡£ ”
“ÔÒòºÜ¿ÉÄÜÊǵ¥Ï̵߳¥Ôª(STA)Ï̲߳»·¢ËÍÏûÏ¢¡£STAÏ̻߳òÕߵȴý¶øÇÒ²»·¢ËÍÏûÏ¢£¬»òÕßÖ´ÐÐÒ»¸ö³¤Ê±¼äµÄ²Ù×÷¶øÇÒ²»ÔÊÐí·¢ËÍÏûÏ¢¶ÓÁС£”
ÎÒû¿´³öÕâ³ÌÐò¸úCOMÓÐʲô¹ØÏµ¡£¿´Á˰ëÌ죬ֻ¿´µ½“³¤Ê±¼äµÄ²Ù×÷”Ã²ËÆ»¹Õ´µã±ß£¬½â¾öµÄ·½·¨µ¹ÊǼò
µ¥£¬Debug->Exceptions->Managed Debugging
Assistants->ContextSwitchDeadlock,¹³³ý“Thrown”ÏîµÄ¸´Ñ¡¿ò¡£
BTW£¬
1£©COM£¬Component Object Model£¬Ëüʵ¼ÊÊÇÒ»ÀàÈí¼þ¿ª·¢·½Ê½¡£¶øCOM×é¼þ¹ËÃû˼ÒåÊǰ´ÕâÖÖ·½Ê½¿ª·¢³öÀ´µÄÈí¼þ/Ä£¿é£¬¿´¿´Project->References->Add ......
½ñÌìÔÚVS2005µ÷ÊÔÒ»¸öC# C/S³ÌÐò£¬µ±Í¨¹ýRFCÓëSAPÁ¬½Óʱ¼ä¹ý³¤Ê±£¬³öÏÖ´Ë´íÎó£¬ÔÚÍøÉÏÕÒµ½½â¾ö°ì·¨¡£
VS2008ÉϵÄÒ»¸ö³ÌÐò£¬Í¨¹ýOracle.DataAccess.dllÖ´ÐÐdrop user
cascade²Ù×÷£¬ÎÒÔÚsqlplusÖ´Ðд˲Ù×÷´óÔ¼ÐèÒªÒ»·ÖÖÓ×óÓÒʱ¼ä£¬µ±ÎÒÔÚVS2008ÖÐdebugÆô¶¯´Ë³ÌÐòʱ£¬Ò»Ö±½ÓÊÕµ½
“ContextSwitchDeadlock is detected”ÏûÏ¢£¬²Ù×÷ÎÞ·¨½øÐÐÏÂÈ¥¡£
MSDNµÄ½âÊÍÒ»Èç¼´ÍùµØ×¨Òµ²¢ÇÒÁîÈ˷ѽ⣺
“Èç¹ûÔÚÊÔͼ½øÐÐCOMÉÏÏÂÎÄת»»ÆÚ¼ä¼ì²âµ½Ò»¸öËÀËø£¬Ôò½«¼¤»îContextSwitchDeadlockÍйܵ÷ÊÔÖúÊÖ (MDA)¡£ ”
“ÔÒòºÜ¿ÉÄÜÊǵ¥Ï̵߳¥Ôª(STA)Ï̲߳»·¢ËÍÏûÏ¢¡£STAÏ̻߳òÕߵȴý¶øÇÒ²»·¢ËÍÏûÏ¢£¬»òÕßÖ´ÐÐÒ»¸ö³¤Ê±¼äµÄ²Ù×÷¶øÇÒ²»ÔÊÐí·¢ËÍÏûÏ¢¶ÓÁС£”
ÎÒû¿´³öÕâ³ÌÐò¸úCOMÓÐʲô¹ØÏµ¡£¿´Á˰ëÌ죬ֻ¿´µ½“³¤Ê±¼äµÄ²Ù×÷”Ã²ËÆ»¹Õ´µã±ß£¬½â¾öµÄ·½·¨µ¹ÊǼò
µ¥£¬Debug->Exceptions->Managed Debugging
Assistants->ContextSwitchDeadlock,¹³³ý“Thrown”ÏîµÄ¸´Ñ¡¿ò¡£
BTW£¬
1£©COM£¬Component Object Model£¬Ëüʵ¼ÊÊÇÒ»ÀàÈí¼þ¿ª·¢·½Ê½¡£¶øCOM×é¼þ¹ËÃû˼ÒåÊǰ´ÕâÖÖ·½Ê½¿ª·¢³öÀ´µÄÈí¼þ/Ä£¿é£¬¿´¿´Project->References->Add ......
http://demonstyle.blog.163.com/blog/static/13143429020091010112159/
C/C++ ºêÏê½â
ic/c++ 2009-11-10 01:12:15 ÔĶÁ18 ÆÀÂÛ0 ×ֺţº´óÖÐС
ÖÚ¶àC++Êé¼®¶¼ÖÒ¸æÎÒÃÇCÓïÑÔºêÊÇÍò¶ñÖ®Ê×£¬µ«ÊÂÇé×ܲ»ÈçÎÒÃÇÏëÏóµÄÄÇô»µ£¬¾ÍÈçͬgotoÒ»Ñù¡£ºêÓÐ
Ò»¸öºÜ´óµÄ×÷Ó㬾ÍÊÇ×Ô¶¯ÎªÎÒÃDzúÉú´úÂë¡£Èç¹û˵ģ°å¿ÉÒÔΪÎÒÃDzúÉú¸÷ÖÖÐͱðµÄ´úÂë(ÐͱðÌæ»»)£¬
ÄÇôºêÆäʵ¿ÉÒÔΪÎÒÃÇÔÚ·ûºÅÉϲúÉúеĴúÂë(¼´·ûºÅÌæ»»¡¢Ôö¼Ó)¡£
¹ØÓÚºêµÄһЩÓï·¨ÎÊÌ⣬¿ÉÒÔÔÚgoogleÉÏÕÒµ½¡£ÏàÐÅÎÒ£¬Äã¶ÔÓÚºêµÄÁË½â¾ø¶ÔûÄãÏëÏóµÄÄÇô¶à¡£Èç¹ûÄã
»¹²»ÖªµÀ#ºÍ##£¬Ò²²»ÖªµÀprescan£¬ÄÇôÄã¿Ï¶¨¶ÔºêµÄÁ˽ⲻ¹»¡£
ÎÒÉÔ΢½²½âϺêµÄһЩÓï·¨ÎÊÌâ(˵Óï·¨ÎÊÌâËÆºõ²»Í×£¬macroÖ»ÓëpreprocessorÓйأ¬¸úÓïÒå·ÖÎöÓÖÎÞ¹Ø)£º
1. ºê¿ÉÒÔÏñº¯ÊýÒ»Ñù±»¶¨Ò壬ÀýÈ磺
#define min(x,y) (x
µ«ÊÇÔÚʵ¼ÊʹÓÃʱ£¬Ö»Óе±Ð´ÉÏmin()£¬±ØÐë¼ÓÀ¨ºÅ£¬min²Å»á±»×÷ΪºêÕ¹¿ª£¬·ñÔò²»×öÈκδ¦Àí¡£
2. Èç¹ûºêÐèÒª²ÎÊý£¬Äã¿ÉÒÔ²»´«£¬±àÒëÆ÷»á¸øÄ㾯¸æ(ºê²ÎÊý²»¹»)£¬µ«ÊÇÕâ»áµ¼Ö´íÎó¡£ÈçC++Êé¼®ÖÐËùÃè
ÊöµÄ£¬±àÒëÆ÷(Ô¤´¦ÀíÆ÷)¶ÔºêµÄÓï·¨¼ì²é²»¹»£¬ËùÒÔ¸ü¶àµÄ¼ì²éÐÔ¹¤×÷µÃÄã×Ô¼ºÀ´×ö¡£
3. ºÜ¶à³ÌÐòÔ±²»ÖªµÀµÄ#ºÍ##
#·ûºÅ°ÑÒ»¸ö·ûºÅÖ±½Ó ......
http://demonstyle.blog.163.com/blog/static/13143429020091010112159/
C/C++ ºêÏê½â
ic/c++ 2009-11-10 01:12:15 ÔĶÁ18 ÆÀÂÛ0 ×ֺţº´óÖÐС
ÖÚ¶àC++Êé¼®¶¼ÖÒ¸æÎÒÃÇCÓïÑÔºêÊÇÍò¶ñÖ®Ê×£¬µ«ÊÂÇé×ܲ»ÈçÎÒÃÇÏëÏóµÄÄÇô»µ£¬¾ÍÈçͬgotoÒ»Ñù¡£ºêÓÐ
Ò»¸öºÜ´óµÄ×÷Ó㬾ÍÊÇ×Ô¶¯ÎªÎÒÃDzúÉú´úÂë¡£Èç¹û˵ģ°å¿ÉÒÔΪÎÒÃDzúÉú¸÷ÖÖÐͱðµÄ´úÂë(ÐͱðÌæ»»)£¬
ÄÇôºêÆäʵ¿ÉÒÔΪÎÒÃÇÔÚ·ûºÅÉϲúÉúеĴúÂë(¼´·ûºÅÌæ»»¡¢Ôö¼Ó)¡£
¹ØÓÚºêµÄһЩÓï·¨ÎÊÌ⣬¿ÉÒÔÔÚgoogleÉÏÕÒµ½¡£ÏàÐÅÎÒ£¬Äã¶ÔÓÚºêµÄÁË½â¾ø¶ÔûÄãÏëÏóµÄÄÇô¶à¡£Èç¹ûÄã
»¹²»ÖªµÀ#ºÍ##£¬Ò²²»ÖªµÀprescan£¬ÄÇôÄã¿Ï¶¨¶ÔºêµÄÁ˽ⲻ¹»¡£
ÎÒÉÔ΢½²½âϺêµÄһЩÓï·¨ÎÊÌâ(˵Óï·¨ÎÊÌâËÆºõ²»Í×£¬macroÖ»ÓëpreprocessorÓйأ¬¸úÓïÒå·ÖÎöÓÖÎÞ¹Ø)£º
1. ºê¿ÉÒÔÏñº¯ÊýÒ»Ñù±»¶¨Ò壬ÀýÈ磺
#define min(x,y) (x
µ«ÊÇÔÚʵ¼ÊʹÓÃʱ£¬Ö»Óе±Ð´ÉÏmin()£¬±ØÐë¼ÓÀ¨ºÅ£¬min²Å»á±»×÷ΪºêÕ¹¿ª£¬·ñÔò²»×öÈκδ¦Àí¡£
2. Èç¹ûºêÐèÒª²ÎÊý£¬Äã¿ÉÒÔ²»´«£¬±àÒëÆ÷»á¸øÄ㾯¸æ(ºê²ÎÊý²»¹»)£¬µ«ÊÇÕâ»áµ¼Ö´íÎó¡£ÈçC++Êé¼®ÖÐËùÃè
ÊöµÄ£¬±àÒëÆ÷(Ô¤´¦ÀíÆ÷)¶ÔºêµÄÓï·¨¼ì²é²»¹»£¬ËùÒÔ¸ü¶àµÄ¼ì²éÐÔ¹¤×÷µÃÄã×Ô¼ºÀ´×ö¡£
3. ºÜ¶à³ÌÐòÔ±²»ÖªµÀµÄ#ºÍ##
#·ûºÅ°ÑÒ»¸ö·ûºÅÖ±½Ó ......
http://www.diybl.com/course/3_program/c++/cppjs/20090403/163906.html
CºÍC++»ìºÏ±à³Ì(__cplusplus Óë external "c" µÄʹÓÃ)
www.diybl.com¡¡Ê±¼ä£º2009-04-03¡¡×÷Õß:ÄäÃû ±à¼:sky µã»÷£º¡¡124 [ÆÀÂÛ]
µÚÒ»ÖÖÀí½â
±ÈÈç˵ÄãÓÃC++¿ª·¢ÁËÒ»¸öDLL¿â£¬ÎªÁËÄܹ»ÈÃCÓïÑÔÒ²Äܹ»µ÷ÓÃÄãµÄDLLÊä³ö(Export)µÄº¯Êý£¬ÄãÐèÒªÓÃextern "C"À´Ç¿ÖƱàÒëÆ÷²»ÒªÐÞ¸ÄÄãµÄ
º¯ÊýÃû¡£
ͨ³££¬ÔÚCÓïÑÔµÄÍ·ÎļþÖо³£¿ÉÒÔ¿´µ½ÀàËÆÏÂÃæÕâÖÖÐÎʽµÄ´úÂ룺
#ifdef __cplusplus
extern "C" {
#endif
/**** some declaration or so *****/
#ifdef __cplusplus
}
#endif /* end of __cplusplus */
ÄÇô£¬ÕâÖÖд·¨Ê²Ã´ÓÃÄØ£¿Êµ¼ÊÉÏ£¬ÕâÊÇΪÁËÈÃCPPÄܹ»ÓëC½Ó¿Ú¶ø²ÉÓõÄÒ»ÖÖÓï·¨ÐÎʽ¡£Ö®ËùÒÔ²ÉÓÃÕâÖÖ·½Ê½£¬ÊÇÒòΪÁ½ÖÖÓïÑÔÖ®¼äµÄһЩ²î
ÒìËùµ¼Öµġ£ÓÉÓÚCPPÖ§³Ö¶à̬ÐÔ£¬Ò²¾ÍÊǾßÓÐÏàͬº¯ÊýÃûµÄº¯Êý¿ÉÒÔÍê³É²»Í¬µÄ¹¦ÄÜ£¬CPPͨ³£ÊÇͨ¹ý²ÎÊýÇø·Ö¾ßÌåµ÷ÓõÄÊÇÄÄÒ»¸öº¯Êý¡£ÔÚ
±àÒëµÄʱºò£¬CPP±àÒëÆ÷»á½«²ÎÊýÀàÐͺͺ¯ÊýÃûÁ¬½ÓÔÚÒ»Æð£¬ÓÚÊÇÔÚ³ÌÐò±àÒë³ÉΪĿ±êÎļþÒÔºó£¬CPP±àÒëÆ÷¿ÉÒÔÖ±½Ó¸ù¾ÝÄ¿±êÎļþÖеķûºÅÃû
½«¶à¸öÄ¿±êÎļþÁ¬½Ó³ÉÒ»¸öÄ¿±êÎļþ»òÕß¿ÉÖ´ÐÐÎļþ¡£µ«ÊÇÔÚCÓïÑÔÖУ¬ÓÉÓÚÍê ......
http://www.diybl.com/course/3_program/c++/cppjs/20090403/163906.html
CºÍC++»ìºÏ±à³Ì(__cplusplus Óë external "c" µÄʹÓÃ)
www.diybl.com¡¡Ê±¼ä£º2009-04-03¡¡×÷Õß:ÄäÃû ±à¼:sky µã»÷£º¡¡124 [ÆÀÂÛ]
µÚÒ»ÖÖÀí½â
±ÈÈç˵ÄãÓÃC++¿ª·¢ÁËÒ»¸öDLL¿â£¬ÎªÁËÄܹ»ÈÃCÓïÑÔÒ²Äܹ»µ÷ÓÃÄãµÄDLLÊä³ö(Export)µÄº¯Êý£¬ÄãÐèÒªÓÃextern "C"À´Ç¿ÖƱàÒëÆ÷²»ÒªÐÞ¸ÄÄãµÄ
º¯ÊýÃû¡£
ͨ³££¬ÔÚCÓïÑÔµÄÍ·ÎļþÖо³£¿ÉÒÔ¿´µ½ÀàËÆÏÂÃæÕâÖÖÐÎʽµÄ´úÂ룺
#ifdef __cplusplus
extern "C" {
#endif
/**** some declaration or so *****/
#ifdef __cplusplus
}
#endif /* end of __cplusplus */
ÄÇô£¬ÕâÖÖд·¨Ê²Ã´ÓÃÄØ£¿Êµ¼ÊÉÏ£¬ÕâÊÇΪÁËÈÃCPPÄܹ»ÓëC½Ó¿Ú¶ø²ÉÓõÄÒ»ÖÖÓï·¨ÐÎʽ¡£Ö®ËùÒÔ²ÉÓÃÕâÖÖ·½Ê½£¬ÊÇÒòΪÁ½ÖÖÓïÑÔÖ®¼äµÄһЩ²î
ÒìËùµ¼Öµġ£ÓÉÓÚCPPÖ§³Ö¶à̬ÐÔ£¬Ò²¾ÍÊǾßÓÐÏàͬº¯ÊýÃûµÄº¯Êý¿ÉÒÔÍê³É²»Í¬µÄ¹¦ÄÜ£¬CPPͨ³£ÊÇͨ¹ý²ÎÊýÇø·Ö¾ßÌåµ÷ÓõÄÊÇÄÄÒ»¸öº¯Êý¡£ÔÚ
±àÒëµÄʱºò£¬CPP±àÒëÆ÷»á½«²ÎÊýÀàÐͺͺ¯ÊýÃûÁ¬½ÓÔÚÒ»Æð£¬ÓÚÊÇÔÚ³ÌÐò±àÒë³ÉΪĿ±êÎļþÒÔºó£¬CPP±àÒëÆ÷¿ÉÒÔÖ±½Ó¸ù¾ÝÄ¿±êÎļþÖеķûºÅÃû
½«¶à¸öÄ¿±êÎļþÁ¬½Ó³ÉÒ»¸öÄ¿±êÎļþ»òÕß¿ÉÖ´ÐÐÎļþ¡£µ«ÊÇÔÚCÓïÑÔÖУ¬ÓÉÓÚÍê ......
ÓÃvc6н¨ÁËÒ»¸öwin32µÄ¿ØÖÆÌ¨³ÌÐò£¬µ÷ÊÔÒ»¸öÖ±½Ó²åÈëÅÅÐòµÄС³ÌÐò£¬Îļþ¶¨ÒåΪ.cÎļþ£¬¶ø²»ÊÇÒ»°ãʹÓõÄ.cppÎļþ£¬´úÂë¶ÎÈçÏ£º
#include <stdio.h>
void inst(int* x,int n)
{
int i,j,t;
for(i=1; i<n; i++) /* i±íʾ²åÈë´ÎÊý£¬¹²½øÐÐn-1´Î²åÈë*/
{
t = x[i];
for(j=i-1; j>=0; j--) /* ѰÕÒÒª²åÈëtµÄλÖÃ*/
if(t < x[j]) /* ºóÒÆ£¬¿Õ³öλÖÃ*/
x[j+1] = x[j];
else
break; /* ÕÒµ½Î»ÖÃʱ£¬Í˳öÑ»·*/
x[j+1] = t; /* Ö±½Ó²åÈë*/
}
return;
}
void main()
{
int a[10]={5,6,4,3,0,7,2,1,9,8};
inst(a,10);
for (int i=0;i<10;i++)
{
printf("a[%d]=%d \n",i,a[i]);
}
}
±àÒ벻ͨ¹ý£¬µ«Êǽ«Îļþºó׺Ãû¸Ä³É.cpp¾ÍÄÜÔËÐÐͨ¹ý¡£
×îºó·¢ÏÖ½«×îºóforº¯ÊýÌåÖеÄiµÄ±äÁ¿µÄ¶¨ÒåÒÆÖÁinst(a,10)Óï¾ä֮ǰ¾ÍÄÜÕý³£±àÒ룬¿´À´c³ÌÐòµÄ±äÁ¿¶¨Ò屨ÐëÔÚËùÓк¯Êý֮ǰ£¿£¡ ......
PCÖ®¸¸C. ThackerÈÙ»ñ2009ÄêͼÁé½±
2010-03-10 01:21 | 3110´ÎÔĶÁ | ¡¾ÒÑÓÐ16ÌõÆÀÂÛ¡¿·¢±íÆÀÂÛ
¹Ø¼ü´Ê£ºÐÂÎÅ×ÊѶ | ¸ÐлliujiangCEµÄÌṩ | ÊÕ²ØÕâÆª×ÊѶ
¸ù¾ÝACM¹Ù·½ÍøÕ¾3ÔÂ9ÈÕ·¢²¼µÄÏûÏ¢£¬2009ÄêͼÁé½±ÊÚÓèÁËÏÖ´úPCÖ®¸¸Charles Thacker£¬ÒÔ±íÕÃËû¶ÔµÚһ̨ÏÖ´ú¸öÈ˼ÆËã»úXerox PARC AltoµÄÏÈÇýÐÔÉè¼ÆÓëʵÏÖ£¬»¹ÓÐÔÚ¾ÖÓòÍø£¨°üÀ¨ÒÔÌ«Íø£©¡¢¶à´¦ÀíÆ÷¹¤×÷Õ¾¡¢¿ú̽¸ßËÙ»º´æÒ»ÖÂÐÔÐÒéºÍƽ°åPCµÈ·½ÃæµÄÖØ´ó·¢Ã÷ºÍ¹±Ï×£¨For the pioneering design andРrealization of the first modern personal computɥrthe Alto at Xerox PARC and seminal inventionɳ and contributions to local area networks (including the Ethernet), multiprocessor workstations, snooping cache coherence protocols, and tablet personal computers£©¡£
ACMÖ÷ϯDame Wendy Hall˵£¬Charles ThackerÊǼÆËã»úϵͳÁìÓò×î½Ü³öµÄ¹¤³Ìʦ֮һ¡£ËûµÄÒ»¸öÓÖÒ»¸ö³É¾Í¶ÔÏÖ´ú¼ÆËã»ú¼¼Êõ²úÉúÁËÉîÔ¶Ó°Ïì¡£
¶øIntel¹«Ë¾µÄÑо¿ÖÐÐĸ±×ܲÃAndrew ChienÔò±íʾ£¬Charles ThackerµÄAltoÉè¼ÆÒѾ¾ß±¸Á˽ñÌì¸öÈ˵çÄԵĸ÷ÖֹؼüÒªËØ£¬ÎªPCÕâ¸öÊÀ½ç×î¾ß´´ÔìÐÔ¶øÇһݼ°È«ÇòµÄ ......