梯子游戏网址丨梯子游戏技巧

µ¥»úÓÎÏ·ÏÂÔØµ¥»úÓÎÏ·ÏÂÔØ»ùµØ
×îÐÂÓÎÏ·|ÈÈÃÅÓÎÏ·|ÓÎÏ·´óÈ«|ÓÎϷרÌâ
ѹËõ½âѹ¹âÅ̹¤¾ßÎÄ×ÖÊäÈëɱ¶¾Èí¼þÎļþ´¦Àíת»»·­Òë¹ÉƱ֤ȯ°ì¹«Ñ§Ï°±à³ÌÈí¼þÐéÄâ¹âÇý
µ±Ç°Î»ÖãºÊ×Ò³ ¡ú Ó¦ÓÃÈí¼þ ¡ú ±à³ÌÈí¼þ ¡ú Source Insight v3.5 ÖÐÎÄ×¢²á°æ

Source Insight v3.5 ÖÐÎÄ×¢²á°æ

  • Source Insight½ØÍ¼0
< >
Source InsightÏÂÔØ
ºÃÍæ ºÃÍæ 0
¿Óµù ¿Óµù 0
  • Ó¦ÓÃÓïÑÔ£ºÖÐÎÄ
  • Ó¦ÓôóС£º4.8M
  • ¸üÐÂʱ¼ä£º2015-07-24 16:59
  • ·¢ÐÐʱ¼ä£º
  • Ó¦ÓÃÀàÐÍ£ºÆÕͨ
  • Ó¦ÓñêÇ©£º ±à³Ì
Source Insight£¬Ò»¸öÎÞ±ÈÇ¿´óµÄ¹¤¾ß¡£Ò»¸öºÜºÃµÄ²é¿´´úÂëµÄ¹¤¾ß¡£µ½ËüµÄ¹ÙÍøÉÏÈ¥¿´Ò»Ï£¬¾ÍÖªµÀ¡¢£¬ÊÀ½çÉÏ»ù±¾ÉÏËùÓеĴóµÄÈí¼þ¹«Ë¾£¬¶¼ÔÚÓÃÕâ¸ö¹¤¾ß¡£Ï°¹ßÁËÕâ¸ö¹¤¾ßÒÔºó£¬Äã»áÎÞ·¨ÈÌÊÜÆäËüµÄ´úÂë±à¼­ºÍ²é¿´¹¤¾ß¡£ÎªÊ²Ã´ÒªÓÃSource InsightÄØ£¿Ã²ËÆÊÇÒòΪ±ÈÍêÕû[¸ü¶à]
Ó¦ÓýéÉÜ

Source Insight£¬Ò»¸öÎÞ±ÈÇ¿´óµÄ¹¤¾ß¡£Ò»¸öºÜºÃµÄ²é¿´´úÂëµÄ¹¤¾ß¡£µ½ËüµÄ¹ÙÍøÉÏÈ¥¿´Ò»Ï£¬¾ÍÖªµÀ£¬ÊÀ½çÉÏ»ù±¾ÉÏËùÓеĴóµÄÈí¼þ¹«Ë¾£¬¶¼ÔÚÓÃÕâ¸ö¹¤¾ß¡£
ϰ¹ßÁËÕâ¸ö¹¤¾ßÒÔºó£¬Äã»áÎÞ·¨ÈÌÊÜÆäËüµÄ´úÂë±à¼­ºÍ²é¿´¹¤¾ß¡£

ΪʲôҪÓÃSource InsightÄØ£¿Ã²ËÆÊÇÒòΪ±ÈÍêÕûµÄIDEÒª¸ü¿ìһЩ£¬±È½ÏÀûÓڲ鿴´óÁ¿µÄ´úÂë¡£

Èí¼þµÄ°²×°ºÜ¼òµ¥£¬ÉèÖúð²×°Ä¿Â¼¡£

ÅäÖúÃÎĵµÂ·¾¶£¬µ±È»Õâ¸öÒ²¿ÉÒÔÔÚOptionsÀïÃæ¸Ä£¬Ñ¡Options->Preferences¡­ÀïÃæµÄFolders±êÇ©¾ÍÐС£

SourceInsightʹÓü¼ÇÉ

1¡¢Ëõ½øÓëtab

£¨1£©Options²Ëµ¥¨¤Preferences¨¤Typing¿¨£¬¹´µôÏÂÃæÁ½Ïî¡Ã

Typing tab indents line£¬regardless of selection£¬¿ÕÐа´tabÎÞ·¨Ç°½ø

Typing tab replaces current selection£¬Ñ¡¶¨²¿·ÖÄÚÈÝ¡¢ÔÙ°´tabʱ»áÇå³ýËùÑ¡

£¨2£©Options²Ëµ¥¨¤Document Options£¨Õë¶Ô²»Í¬ÎļþÀàÐÍ£¬·Ö±ð½øÐÐÉèÖ㩨¤ÏÂÀ­×óÉÏÎļþÀàÐÍ¿ò¡¢Ñ¡ÔñºÏÊÊÀàÐÍ£¨cÔ´Îļþ£©¨¤Editing Options¿òÖУ¬tab width=2¨¤ Editing Options¿òÖУ¬¹´Ñ¡Expand tabs£¨ÕâÑù£¬°´tab¼ü¡¢µÈ¼ÛÓÚÊäÈë2¸ö¿Õ¸ñ£©

£¨3£©Options²Ëµ¥¨¤Document Options¨¤Ñ¡ÔñºÏÊʵÄÎļþÀàÐͨ¤µã»÷ÓÒ±ßÖмäµÄAuto IndentÅ¥¨¤ÔÚµ¯³öµÄ¿òÖУ¬×ó±ßÒ»¶¨ÒªµãSmart£¬ÓÒ±ßÓÐÁ½¸ö¸´Ñ¡¿òIndent Open BraceºÍIndent Close Brace£¬¾ßÌåЧ¹û¿ÉÒÔ¿´SISµÄHELP¡£°´ÕÕ²¿ÃÅÀïµÄ±à³Ì·ç¸ñÒªÇó£¬×î·½±ãµÄ¾ÍÊǰÑÁ½¸ö¸´Ñ¡¿ò¶¼È¡Ïûµô£¬È»ºóµãOK¡£

¹´Ñ¡Auto IndentÖ®SMARTµÄЧ¹û¡ÃÔÚC³ÌÐòÀï, Èç¹ûÓöµ½ÐÐĩûÓзֺŵÄÓï¾ä,ÈçIF, WHILE, SWITCHµÈ, Ð´µ½¸ÃÐÐÄ©°´»Ø³µ£¬ÔòÐÂÐÐ×Ô¶¯Ïà¶ÔÉÏÒ»ÐÐËõ½øÁ½ÁС£

¹´µôIndent Open BraceºÍIndent Close BraceµÄЧ¹û¡Ã¼ÌÉÏÒ»¶Î£¬ÔÚÏà¶ÔËõ½øÐÐÀï, Èç¹ûÊäÈë"}", Ôò×Ô¶¯ºÍÉÏÒ»ÐÐÁÐ¶ÔÆë£¨ºÃÏñ¹´²»¹´¶¼»áÓÐÕâ¸ö¹¦ÄÜ£©£»¶øÊäÈë"{"ʱ£¬²»»áÓëÏÂÃæµÄÐÐ¶ÔÆë£¨ÕâÊǹ´ÉÏIndent Open BraceʱµÄЧ¹û£©¡£

2¡¢ÏòÏîÄ¿ÖÐÌí¼ÓÎļþʱ£¬Ö»Ìí¼ÓÌØ¶¨ÀàÐ͵ÄÎļþ£¨ÎļþÀàÐ͹ýÂËÆ÷£©

ÓиöͬʱȽÏÉúÃÍ£¬µÃÕû»ã±à´úÂ룬µ«ÔÚSISÀィÁ¢PROJECT²¢ADD TREEµÄʱºò£¬¸ù¾ÝĬÈÏÉèÖò¢²»»á°Ñ¸ÃTREEÀïÃæËùÓлã±àÎļþ¶¼°üº¬½øÀ´£¬Ö»¼ÓÁË.incºÍ.asmºó׺µÄ£¬.sºó׺µÄûÓС£¶øÇÒÓÃSIS´ò¿ª.sµÄÎļþ£¬Ò»Æ¬ºÚ°×ûÓÐÉ«²Ê£¬¸Ð¾õ»Øµ½DOSµÄEDITʱ´úÁË¡­¡­ ½â¾ö·½·¨ÊÇÔÚOptions->Document OptionsÀïÃæ£¬µã×óÉϵÄDocument TypeÏÂÀ­²Ëµ¥£¬Ñ¡Ôñx86 Asm Source File£¬È»ºóÔÚÓұߵÄFile filterÀï*.asm£»*.inc£»µÄºóÃæ¼ÓÉÏ*.s£»½Ó×ÅCLOSE¾Í¿ÉÒÔÁË¡£ÉÏÃæÁ½¸öÎÊÌâ½â¾öÁË£¬µ«×¢Òâ¼ÓÈë*.sºó»¹ÐèÒªÖØÐÂADD TREEÒ»±é²ÅÄܰÑÕâЩ»ã±à¼Óµ½PROJECTÀïÃæ¡£

3¡¢È¥µô¹¦ÄÜÇ¿´óµ«ÊÇÎÞÓõÄ×Ô¶¯Íê³É¹¦ÄÜ

Options²Ëµ¥¨¤Preferences ¨¤Typing¿¨¨¤Auto Completion¿ò£¬¹´µôUse automatic symbol completion window£¨ÕâÀïÊÇSISµÄÈ«¾ÖÉèÖã©

Options²Ëµ¥¨¤Document Options¨¤Editing Options¿òÖУ¬¹´µôAllow auto-complete£¨¾Ö²¿ÉèÖã©

ÉÏÃæÁ½Ïî±ØÐëÈ«²¿¹´Ñ¡£¬²ÅÄÜÆôÓÃAuto Completion¹¦ÄÜ

4¡¢»Ö¸´Ð¡¼üÅ̵Ä"+£¬-£¬*£¬/"¹¦ÄÜ

Options²Ëµ¥¨¤Key assignments£¬Í¨¹ý¹Ø¼ü´ÊScroll ÕÒµ½Scroll Half Page Up£¬È¡ÏûС¼üÅÌ/£»Í¨¹ý¹Ø¼ü´ÊScroll ÕÒµ½Scroll Half Page DownÈ¡ÏûС¼üÅÌ*£»Í¨¹ý¹Ø¼ü´ÊFunctionÕÒµ½Function Up£¬È¡ÏûС¼üÅÌ-£¬Í¨¹ý¹Ø¼ü´ÊFunctionÕÒµ½Function down¡¢£¬È¡ÏûС¼üÅÌ+¡¢¡£

5¡¢»Ö¸´ctrl+aµÄȫѡ¹¦ÄÜ

ͨ¹ý¹Ø¼ü´Êsave ÕÒµ½save all¡¢£¬¸ü¸ÄΪctrl+shift+a£¬Í¨¹ý¹Ø¼ü´ÊselectÕÒµ½select all¡¢£¬ ¸ü¸ÄΪctrl +a

6¡¢¡¢½â¾ö×Ö·ûµÈ¿í¶ÔÆëÎÊÌâ¡£

SISĬÈÏ×ÖÌåÊÇVERDANA¡¢£¬ºÜƯÁÁ¡¢¡£ÕâÍøÒ³ÉÏÓ¦¸ÃÒ²ÊÇÓõÄVERDANA×ÖÌå¡£µ«ÓÉÓÚÃÀ¹ÛµÄÔµ¹Ê¡¢£¬VERDANA×ÖÌåÊDz»µÈ¿íµÄ¡¢¡£±ÈÈçÏÂÃæÁ½ÐÐ

llllllllll

MMMMMMMMMM

ͬÑù10¸ö×Ö·û£¬³¤¶È²î¶àÁË.ÓÃVERDANAÀ´¿´³ÌÐò¡¢£¬ÓÐЩ±¾Ó¦¸Ã¶ÔÆëµÄ¾ÍÍáÁË¡¢¡£½â·Å·½·¨ÊÇʹÓõȿíµÄ×ÖÌ壬µ«¿Ï¶¨±È½Ï³ó¡¢¡¡¢£¿ÉÒÔÓÃDOS×ÖÌå¡¢£¬Ò²¾ÍÊǼÇʱ¾ÀïµÄĬÈÏ×ÖÌåsysfixed ºÜ³ó£¬ÒªÓÐÐÄÀí×¼±¸¡¢¡£±È½ÏÍÆ¼öµÄÊÇÓÃCourier New¡¢¡£

SourceInsightÌṩµÄ¹¦ÄÜ

1¡¢½âÎöÈÕÖ¾ÐÅϢʱ·Ç³£ÓÐÓõÄSource Link

×ܵØËµÀ´¡¢£¬SourceLink¸ù¾ÝÌØ¶¨µÄËÑË÷ģʽ¡¢£¬°Ñµ±Ç°ÎļþÖÐÂú×ãģʽµÄÐС¢Á´½Óµ½ÓɸÃÐÐÖ¸¶¨µÄÆäËûÔ´ÎļþÖС¢¡£

ËùÎ½ÌØ¶¨µÄËÑË÷ģʽ¡¢£¬¹²ÓÐÁ½ÖÖ"File, then line"ºÍ"Line, then file"£¬ÆäÖÐǰºóÁ½²¿·ÖÒÀ¿¿ÕýÔò±í´ïʽµÄ×éµÄ¸ÅÄîÀ´ÓèÒԷָ¡£Èç¹ûµ±Ç°Îļþ¾ßÓÐÆ¥ÅäÐЩ§£¬±ÈÈç"Error d:tcsrcq5.c 18: Lvalue required in function jsSort"£¬ÄÇôSourceInsightÔÚ¸ÃÐд´½¨SourceLink©§¡¢°Ñ¸ÃÐÐÁ´½Óµ½ÓɸÃÐÐÖ¸¶¨µÄÎļþÖУ¨¼´d:tcsrcq5.c©§£¬µÚ18ÐУ©¡£

1.1 ´´½¨SourceLink

ÔËÐÐSearch²Ëµ¥µÄParse Source Links¡­ÃüÁî©§£¬ÔÚµ¯³öµÄ¿òÖЩ§¡¢Ñ¡ÔñËÑË÷ģʽ¡¢²¢ÌîÈëÏàÓ¦µÄÕýÔò±í´ïʽ´®©§£¬µãOK©§£¬SIS¾Í»á½âÎöµ±Ç°Îļþ£¬Èç¹ûÓÐÆ¥Åä©§£¬¾Í´´½¨SourceLink©§¡£

1.2 ÔÚ½âÎöÈÕÖ¾ÐÅϢʱ£¬Ê¹ÓÃSourceLink

¿ÉÒÔ´ò¿ªÈÕÖ¾ÐÅÏ¢©§£¬ÔËÐÐParse Source LinksÃüÁî©§£¬ÈÕÖ¾ÖÐÄܹ»Æ¥ÅäģʽµÄÿһÐУ¨Í¨³£ÊǺ¬ÓдíÎóÐÅÏ¢µÄÐУ©¡¢¾Í»á±»ÉèÖÃÉÏÒ»¸öSourceLink

1.3ÔÚ½âÎö×Ô¶¨ÒåÃüÁîÊä³öʱ©§£¬Ê¹ÓÃSourceLink

Ê×Ïȹ´Ñ¡Custom Command ÖеÄ"Parse Links in Output"©§£¬È»ºóÑ¡ÔñÌØ¶¨µÄËÑË÷ģʽ£¬×îºóÌîÈëºÏÊʵÄÕýÔò±í´ïʽ©§¡£ÕâÑù©§£¬Source Insight°ÑÊä³öÐÅÏ¢×÷Ϊµ±Ç°ËÑË÷ÓÃÎļþ£»²¢ÇÒ©§£¬Èç¹ûÓÐÆ¥ÅäÐУ¨Í¨³£¼´±àÒë´íÎóÐÅÏ¢ÐУ©©§£¬SISΪ ¸ÃÐд´½¨SourceLink¡¢²¢°Ñÿһ¸ö´íÎóÐÅÏ¢Öиø¶¨µÄÎļþ£¨ºÍÐкţ©×÷ΪlinkÄ¿µÄµØ|£¬Õâ¶ÔÓÚÎÒÃÇÐÞ¸ÄÔ´´úÂë´íÎó·Ç³£ÓаïÖú|¡£

2|¡¢Ìæ»»£¨Replace£© VS ÉÏÏÂÎÄÃô¸ÐµÄÖÇÄÜÖØÃüÃû£¨Context-Sensitive Smart Rename£©

2.1 Ìæ»»£¨Replace£©

ĿǰÀ´Ëµ£¬ÆÕͨµÄÌæ»»ÃüÁî|¡¢¿ì½Ý¼üΪctrl+H|£¬×ãÒÔÒÑÂú×㹤×÷ÒªÇó¡£

ÔÚµ¯³öµÄÌæ»»´°¿ÚÖÐ|£¬ÔÚSearch¿òÖй´Ñ¡SelectionÀ´Ö»ÔÚËùÑ¡Îı¾ÇøÓòÖÐÌæ»»£¨µ±È»ÕâʱÄãÒªÏÈÑ¡¶¨ÇøÓòÈ»ºóÔÙ°´ctrl+H£©|¡¢¹´Ñ¡WholeFileÀ´ÔÚÕû¸öµ±Ç°ÎļþÄÚÌæ»»¡¢Á½Õß¶¼²»¹´Ñ¡À´´Óµ±Ç°¹â±ê´¦Ìæ»»ÖÁÎļþĩβ|£»µãÓұߵÄFiles¡­°´Å¥|£¬¿ÉÑ¡ÔñÌæ»»¶à¸öÎļþµÄÄÚÈÝ¡£

2.2ÉÏÏÂÎÄÃô¸ÐµÄÖÇÄÜÖØÃüÃû£¨Context-Sensitive Smart Rename£©

Smart RenameÃüÁî|¡¢¿ì½Ý¼üÊÇCtrl+'|£¬ÊÇÉÏÏÂÎÄÃô¸ÐµÄÈ«¾ÖËÑË÷Ìæ»»¡£Ëü¿ÉÒÔÖÇÄܵØÖØÃüÃûÈ«²¿ÏîÄ¿ÎļþÖеÄÒ»¸ö±êʾ·û|¡£SourceInsightµÄËÑË÷Ë÷Òý£¨search index£©Ê¹µÃËÑË÷¹ý³Ì½øÐеطdz|£¿ì¡£¶øÇÒ|£¬Ê¹ÓÃSmart RenameËù×öµÄÌæ»»»á±»¼Ç¼ÔÚSearch Results´°¿ÚÖÐ|£¬Ã¿Ò»ÌõÌæ»»¼Ç¼ÅÔÓÐÒ»¸öSourceLinkÁ´½Óµ½Ìæ»»·¢ÉúµØÎļþ¡£

Smart Rename¿ÉÒÔÓÃÀ´ÖØÃüÃû±ê¼Ç£¨symbol£©|¡£Èç¹û¹´Ñ¡ÁËSmart Reference MatchingÑ¡Ïî|£¬Smart Rename¾ÍÖ»ÔÚÕýÈ·µÄÉÏÏÂÎÄ·¶Î§ÄÚ½øÐÐÖØÃüÃû¡£Ëü¿ÉÒÔÖÇÄܵØÖØÃüÃûÈ«²¿ÏîÄ¿ÎļþÖеÄÒ»¸ö±êʾ·û|£»Ëü¿ÉÒÔÖØÃüÃûº¯Êý±¾µØ±äÁ¿|£¬Àà»ò½á¹¹Ìå³ÉÔ±¡¢º¯Êý|¡£

ÔÚµ¯³öµÄSmart Rename´°¿ÚÖÐÓÐÏÂÃæ¼¸Ïî¡Ã

Old Name Ìî¾ÉÃû³Æ¡¬¡£¹â±êϵĴʻᱻ×Ô¶¯¼ÓÔØ£»¹â±êµÄλÖ÷dz£ÖØÒª¡¬£¬ÕâÊÇÒòΪSource Insight»á¸ù¾Ý±¾µØÉÏÏÂÎı³¾°¡¢×¼È·µØÈ·¶¨ÄãÏëÒªÖØÃüÃûÄÄÒ»¸ö±ê¼Ç¡¬¡£

ÍÆ¼öÖ»Ìîµ¥¸ö´Ê¡¬¡¢¶ø²»ÊÇ×Ö·û´®¡£

Èç¹ûÄãÔÚÃüÃû³ÉÔ±±äÁ¿¡¬¡¢»ò±¾µØ±äÁ¿£¨£©¡¬£¬Old Name¿òÖлáÏÔʾÍêÈ«±ê¼ÇÃû¡¢¼´ÉϲãÈÝÆ÷Ãû+±ê¼ÇÃû¡¬¡£ÀýÈ硬£¬¿òÖеÄ"DocDraw.paintStruc"´ú±íDocDrawÊǺ¯ÊýÃû¡¬£¬paintStrucÊǺ¯ÊýµÄ±¾µØ³ÉÔ±±äÁ¿¡£

New Name ÌîÐÂÃû³Æ¡¬¡£Ö»Ìî±ê¼ÇÃû¡¬£¬²»ÌîÉϲãÈÝÆ÷Ãû¡£

Output Search Results Èç¹û¹´Ñ¡¡¬£¬ËÑË÷Ìæ»»½á¹ûÈÕÖ¾»á±»Êä³öµ½Search Results´°¿ÚÖС¬¡£¿ÉÒÔͨ¹ýWindows²Ëµ¥À´Çл»¡¬£¬»òctrl+tabÇл»²ì¿´¡¬¡£²¢ÇÒÿһÌõ¼Ç¼ÅÔ»áÓÐSourceLinkÁ´½Óµ½Ìæ»»·¢ÉúµØÎļþ¡£

Confirm Each Replacement Ã¿´ÎÌæ»»Ñ¯ÎÊ¡¬¡£

Skip Comments ²»ÖØÃû×¢ÊͲ¿·Ö¡¬¡£

¡¾Ê¹ÓÃÐĵÃÁÐ±í¡¿

£¨£±£©ÈçºÎÓÃSmart RenameÖØÃüÃûÊý×éµÄÊý×éÃû£¿Èç¹ûֻѡȡÊý×éÃû¡¬£¬»á±¨´í¡¬£¡

£¨£²£©Èç¹û¹´µôSmart Reference Matching£¬»áËÑË÷È«²¿ÏîÄ¿Îļþ¡þ£¬²¢ÇÒOld Name¿òÖв»ÏÔʾÍêÈ«ÏÞ¶¨Ãû¡þ£»Èç¹û¹´Ñ¡Smart Reference Matching£¬ÎÞ·¨ÖØÃüÃûÊý×éÃû¡þ£¬¶øÇÒÊó±êλÖò»Õýȷʱ»á±¨´í¡þ¡£Ó¦¸ÃÈçºÎÓ¦¶Ô£¿

3¡þ¡¢ÔÚSourceInsightÖÐÌṩµÄÕýÔò±í´ïʽ

3.1ÔÚSourceInsightÖÐÌṩµÄÕýÔò±í´ïʽ

ÕýÔò±í´ïʽ¡þ£¬ÊÇÓÃÀ´Æ¥Å临ÔÓģʽµÄÌØÊâËÑË÷ÓÃ×Ö·û´®¡£ÕýÔò±í´ïʽ´®ÖСþ£¬Ðí¶à×Ö·û¾ßÓÐÌØÊâµÄº¬Òå¡þ¡£ÀýÈ磬ÓиöÌØÊâµÄ×Ö·û´ú±í "ÐÐÊ×"¡þ¡£

ÏÂÃæÊÇSourceInsightÌṩµÄËùÓпÉÓÃÌØÊâ×Ö·û¡Ã 

Table 4.3: Regular Expression Characters

Character

Matches

^ (at the beginning)

beginning of line¡þ¡£Èç^Hello£¬Æ¥ÅäHelloÔÚ¾äÊסþ¡£

.

any single character

[abc]

any single character that belongs to the set abc

[^abc]

any single character that does not belong to the set abc

*

   zero or more occurrences of the preceding character

+

a tab character

s

a space character

w

white space (a tab or a space character)

$

the end of the line¡þ¡£ÈçTRUE$£¬Æ¥ÅäTRUEÔÚ¾äβ¡þ¡£

      \    

תÒå×Ö·û¡þ¡£Èç¹ûÔÚËüºóÃæÓÐÔª×Ö·û£¬È¡ÏûÆäÌØÊ⺬Òå¡£

¿ÉÀûÓà"("ºÍ ")"¡þ¡¢°ÑÕýÔò±í´ïʽ·Ö¸î³É²»Í¬µÄ×é¡þ£»Ä£Ê½ÖеÄÿ¸ö×é×Ô×óÏòÓÒÖ¸¶¨Îª Group #n£¬n=1,2,¡­¡þ£»×éµÄ¸ÅÄîÔÚÌæ»»Ê±ºÜÓÐÓáþ¡£

ÀýÈç¡Ã

abc(xyz)¿ÉÆ¥Åäabcxyz£¬ÆäÖÐxyz±»ÈÏΪÊÇgroup#1£¬

ÀûÓÃ21À´Ìæ»»(abc)(xyz)£¬Ìæ»»½á¹ûΪxyzabc¡£

3.2 ÕýÔò±í´ïʽÔÚÅäÖÃtc±àÒëÆ÷ÖеÄÓ¦ÓáÃ

ÕýÔò±í´ïʽ¸ñʽÓëÔ´´úÂëÎļþ·¾¶Ïà¶ÔÓ¦£¬ÕâÀïÎÒµÄtc°²×°Ä¿Â¼Îªd:tc£¬tcÔ´Îļþ·ÅÔÚd:tcsrcÏ£¬²¢ÃüÃûΪqn.c»òqtn.c£¨ÆäÖÐn=1,2,¡­£©¡£

¹Û²ìTc±àÒëÆ÷ijһ´ÎÊä³ö´íÎóÐÅÏ¢µÄ¸ñʽ¡Ã

Error d:tcsrcq5.c 18: Lvalue required in function jsSort

ÔòÎÒÃÇҪƥÅä"d:tcsrcq5.c 18"²¿·Ö£¬½øÒ»²½µØ£¬°´ÕÕSourceInsight²¶×½Êä³ö²¢¼ÓÒÔ½âÎöʱµÄÒªÇó£¬ÒªÒÔ×éµÄÐÎʽ¡¢·Ö±ðÆ¥Åä"d:tcsrcq5.c 18"ÖеÄÎļþ²¿·ÖºÍÐкŲ¿·Ö¡Ã

ÐкÅ([1-9][0-9]*)

¿Õ¸ñÐкÅs([1-9][0-9]*)

ÎļþÃû(d:tcsrc[qQ][tT][1-9][0-9]*.[cC])

È«²¿¼ÓÆðÀ´Îª¡Ã

(d:tcsrc[qQ][tT]*[1-9][0-9]*.[cC])s([1-9][0-9]*)

3.3 ÕýÔò±í´ïʽÔÚÅäÖÃjavac±àÒëÆ÷ÖеÄÓ¦ÓáÃ

ÎÒµÄJAVA_HOMEÊÇc:jdk£¬ÎÒµÄjavaÔ´Îļþ·ÅÓÚd:javasrcÖУ¬²¢ÃüÃûΪqn.java»òqtn.java£¨ÆäÖÐn=1,2,¡­£©¡£

¹Û²ìJDK±àÒëÆ÷ijһ´ÎÊä³ö´íÎóÐÅÏ¢µÄ¸ñʽ¡Ã

D:javasrcQ3.java:3: ';' expected

ÕýÔò±í´ïʽΪ¡Ã

([dD]:javasrc[qQ][tT]*[1-9][0-9]*.java):([1-9][0-9]*)

4¡¢×Ô¶¨ÒåÃüÁî

×Ô¶¨ÒåÃüÁîÓëÏîÄ¿Ïà¹Ø£¬ÔÚÒ»¸öÏîÄ¿Öж¨ÒåµÄËùÓÐ×Ô¶¨ÒåÃüÁîÊôÓÚ¸ÃÏîÄ¿¡¢Ö»¶Ô¸ÃÏîÄ¿ÓÐЧ£¨°üÀ¨¿ì½Ý¼üµÈ£©¡£

×Ô¶¨ÒåÃüÁîÀàËÆÓÚÃüÁîÐÐÅú´¦ÀíÎļþ¡£SISÔÊÐí×Ô¶¨ÒåÃüÁîÔÚºǫ́ÔËÐУ»²¢¿ÉÒÔ²¶×½×Ô¶¨ÒåÃüÁîµÄÊä³ö¡¢·ÅÖÃÓÚÎļþÖС¢»òÕ³ÌùÈ뵱ǰ¹â±ê²åÈëµã¡£

·Ö±ðÀûÓÃÉÏÃæSIS¶ÔÊä³öÐÅÏ¢µÄ´¦Àí·½Ê½£¬×Ô¶¨ÒåÃüÁî¶Ô¼¯³É±àÒëÆ÷Ï൱ÓÐÓ㬿ÉÒÔ²¶×½±àÒëÆ÷Êä³ö²¢´´½¨SourceLinkѰ´í£»×Ô¶¨ÒåÃüÁî¶ÔÓÚÎı¾¹ýÂËÒ²Ï൱ÓÐÓ㬿ÉÑ¡Öдý¹ýÂËÇø¿é¡¢ÔËÐÐSort×Ô¶¨ÒåÃüÁî¡¢Õ³Ìù»ØÑ¡¶¨Çø¿é¡¢¼´Íê³ÉÎı¾¹ýÂË¡£

Çë°´ÏÂÃæ²½Öè´´½¨×Ô¶¨ÒåÃüÁî¡Ã

Options²Ëµ¥¨¤Custom Command

¨¤µãÓÒ±ßAddÅ¥¡¢ÌîÈëÐÂ×Ô¶¨ÒåÃüÁîÃû³Æ£¬»òÏÂÀ­×ó±ßCommands¡¢Ñ¡ÔñÃüÁî½øÐÐÐÞ¸Ä

¨¤Run¿ò¡¢ÌîÈë´ýÖ´ÐÐÃüÁîÐУ¬¿Éº¬ÓÐÌØÊâÔª×Ö·û£¬¼ûºóÃæµÄÔª×Ö·û±í

¨¤Dir¿ò¡¢Ö´ÐÐÃüÁîÐÐʱӦ´¦µÄĿ¼£¬Èç²»ÌÒÔÔ´´úÂëÎļþËùÔÚĿ¼ΪÃüÁîÖ´ÐÐĿ¼

¨¤¹´Ñ¡Output¿òµÄCapture Output¡¢Êä³ö±»²¶×½£¬Èç¹û¹´Ñ¡Paste Output£¬Êä³ö±»Õ³Ìù

¨¤¹´Ñ¡Control Group¿òÖеÄSave Files First¡¢SIS»áÔÚÔËÐÐÃüÁîǰÏȼì²éÎļþÊÇ·ñ±£´æ

¨¤¹´Ñ¡Control Group¿òÖеÄPause When Done¡¢SIS»áÔÚÃüÁî½áÊøºóÔÝÍ£¡¢·½±ã¼ì²é

¨¤¹´Ñ¡Source Links in Output¿òÖеÄParse Source Links£¬?/p>

source insight³£Óúê

ת×Ô:http://blog.csdn.net/Jupin/archive/2005/02/04/281020.aspx

˵Ã÷:
    ¸ÃºêÎļþʵÏÖһЩ±àÂë³ÌÖÐÄܻᵽµÄ¹¦ÄÜ, ÈçÌí¼ÓÎļþÍ·¡¢º¯Êý˵Ã÷ºÍºê¶¨ÒåµÈ, ʹÓÃʱÄÜ×Ô¶¯Ìí¼ÓÎļþÃû¡¢º¯ÊýÃûºÍµ±Ç°ÈÕÆÚ.

ʹÓÃ˵Ã÷:
    1. Project->Open Project... ´ò¿ªBase¹¤³Ì(¸Ã¹¤³ÌÒ»°ãÔÚ"ÎÒµÄÎĵµ\Source Insight\Projects\Base"ÖÐ);
    2. Project->Add and Remove Project Files... ¼ÓÈëºêÎļþ(¼´Gaoke.em);
    3. Options->Menu Assignments ´ò¿ªMenu Assignments´°¿Ú, ÔÚCommandÖÐÊäÈëMacro, Ñ¡ÖÐҪʹÓõĺê, Ìí¼Óµ½ºÏÊʵIJ˵¥ÖÐ.

/*¸½ÉϺ궨ÒåÎļþ*/
/* t357.em - a small collection of useful editing macros */


/******************************************************************************
 * InsFileHeader -- insert the information of file
 *
 * modification history
 * --------------------
 * 01a, 23mar2003, added DESCRIPTION by t357
 * 01a, 05mar2003, t357 written
 * --------------------
 ******************************************************************************/
/*-------------------------------------------------------------------------
 I N S E R T   H E A D E R

 Inserts a comment header block at the top of the current function.
 This actually works font-size: 12px;"> To use this, define an environment variable "szMyName" and set it
 to your email name.  eg. set szMyName=raygr
-------------------------------------------------------------------------*/

macro InsFileHeader()
{

/*#########################################################
  #########################################################
  #######  Set szMyName variable to your name    ########
  #######  for example    szMyName = "t357"     ########
  #########################################################   
  #########################################################*/
 szMyName = ""

 // Get current time
 szTime = GetSysTime(1)
 Day = szTime.Day
 Month = szTime.Month
 Year = szTime.Year
 if (Day < 10)
  szDay = "0@Day@"
 else
  szDay = Day
 szMonth = NumToName(Month)

 hBuf = GetCurrentBuf()
 szpathName = GetBufName(hBuf)
 szfileName = GetFileName(szpathName)
 nlength = StrLen(szfileName)
 szInf = Ask("Enter the information of file:")
    szDescription = Ask("Enter the description of file:")

 hbuf = GetCurrentBuf()
 // begin assembling the title string
 InsBufLine(hbuf, 0, "/******************************************************************************")
 InsBufLine(hbuf, 1, " * @szfileName@ - @szInf@")
 InsBufLine(hbuf, 2, " * ")
 InsBufLine(hbuf, 3, " * Copyright 1998-2003 Guangzhou Gaoke Communication Technology Co.,Ltd.")
 InsBufLine(hbuf, 4, " * ")
 InsBufLine(hbuf, 5, " * DESCRIPTION: - ")
 InsBufLine(hbuf, 6, " *     @szDescription@")
 InsBufLine(hbuf, 7, " * modification history")
 InsBufLine(hbuf, 8, " * --------------------")
 InsBufLine(hbuf, 9, " * 01a, @szDay@@szMonth@@Year@, @szMyName@ written")
 InsBufLine(hbuf, 10, " * --------------------")
 InsBufLine(hbuf, 11, " ******************************************************************************/")

 // put the insertion point inside the header comment
 SetBufIns(hbuf, 1, nlength + strlen(szInf) + 8)
}

/******************************************************************************
 * InsFunHeader -- insert function's information
 *
 * modification history
 * --------------------
 * 01a, 23mar2003, added DESCRIPTION by t357
 * 01a, 05mar2003, t357 written
 * --------------------
 ******************************************************************************/
macro InsFunHeader()
{
 // Get the owner's name from the environment variable: szMyName.
 // If the variable doesn't exist, then the owner field is skipped.

/*#########################################################
  #########################################################
  #######  Set szMyName variable to your name    ########
  #######  for example    szMyName = "t357"     ########
  #########################################################   
  #########################################################*/
 szMyName = ""

 // Get a handle to the current file buffer and the name
 // and location of the current symbol where the cursor is.
 hbuf = GetCurrentBuf()
 szFunc = GetCurSymbol()
 ln = GetSymbolLine(szFunc)

 // Get current time
 szTime = GetSysTime(1)
 Day = szTime.Day
 Month = szTime.Month
 Year = szTime.Year
 if (Day < 10)
  szDay = "0@Day@"
 else
  szDay = Day
 szMonth = NumToName(Month)
 szInf = Ask("Enter the information of function:")
 szDescription = Ask("Enter the description of function:")

 // begin assembling the title string
 sz = "/******************************************************************************"
 InsBufLine(hbuf, ln, sz)
 InsBufLine(hbuf, ln + 1, " * @szFunc@ - @szInf@")
 InsBufLine(hbuf, ln + 2, " * DESCRIPTION: - ")
    InsBufLine(hbuf, ln + 3, " *    @szDescription@ ")
// remove by t357.    CutWord(szDescription)
 InsBufLine(hbuf, ln + 4, " * Input: ")
 InsBufLine(hbuf, ln + 5, " * Output: ")
 InsBufLine(hbuf, ln + 6, " * Returns: ")
 InsBufLine(hbuf, ln + 7, " * ")
 InsBufLine(hbuf, ln + 8, " * modification history")
 InsBufLine(hbuf, ln + 9, " * --------------------")
 InsBufLine(hbuf, ln + 10, " * 01a, @szDay@@szMonth@@Year@, @szMyName@ written")
 InsBufLine(hbuf, ln + 11, " * --------------------")
 InsBufLine(hbuf, ln + 12, " ******************************************************************************/")

 // put the insertion point inside the header comment
 SetBufIns(hbuf, ln + 1, strlen(szFunc) + strlen(szInf) + 8)
}


/******************************************************************************
 * NumToName -- change the month number to name
 *
 * modification history
 * --------------------
 * 01a, 05mar2003, t357 written
 * --------------------
 ******************************************************************************/
macro NumToName(Month)
{
 if (Month == 1)
  return "jan"
 if (Month == 2)
  return "feb"
 if (Month == 3)
  return "mar"
 if (Month == 4)
  return "apr"
 if (Month == 5)
  return "may"
 if (Month == 6)
  return "jun"
 if (Month == 7)
  return "jul"
 if (Month == 8)
  return "aug"
 if (Month == 9)
  return "sep"
 if (Month == 10)
  return "oct"
 if (Month == 11)
  return "nov"
 if (Month == 12)
  return "dec"
}

/******************************************************************************
 * CutWord -- auto newline
 *
 * modification history
 * --------------------
 * 01a, 24mar2003, t357 fix some bug
 * 01a, 05mar2003, t357 written
 * --------------------
 ******************************************************************************/
macro CutWord(ncurLine, szInf)
{
 LENGTH = 63
 nlength = StrLen(szInf)
 i = 0 /* loop control */
 begin = 0 /* first character's index of current line */
 pre = 0 /* preceding word's index */
 hbuf = GetCurrentBuf()
// nline = GetBufLnCur()
 while (i < nlength)
 {
/* remove by t357
  nrow = 0
  sz = ""
  while (nrow < 80)
  {
   if (nlength < 0)
    break
   sz = Cat(sz, szInf[nrow])
   nrow = nrow + 1
   nlength = nlength - 1
  }
  InsBufLine(hbuf, nline, sz)
  szInf = szInf[nrow]
 }
*/
        c = szInf[i]
        if (" " == @c@ && (i - b < LENGTH))
        {
            pre = i
        }
        else if (" " == @c@)
        {
            szOutput = ""
            k = begin /* loop control */
            while (k < pre)
            {
                szOutput = Cat(szOutput, szInf[k])
                k = k + 1
            }
            InsBufLine(hbuf, ncurLine, sz)
            ncurLine = ncurLine + 1
            begin = pre
        }
        i = i + 1
    }
    if (h != i - 1)
    {
        szOutput = ""
        k = begin /* loop control */
        while (k < pre)
        {
            szOutput = Cat(szOutput, szInf[k])
            k = k + 1
        }
        InsBufLine(hbuf, ncurLine, sz)
        ncurLine = ncurLine + 1
    }
}

/******************************************************************************
 * GetFileName -- get the filename font-size: 12px;"> return name
}

/******************************************************************************
 * ReturnTrueOrFalse -- Inserts "Returns True or False" at the current line
 *
 * modification history
 * --------------------
 * 01a, 05mar2003, t357 written
 * --------------------
 ******************************************************************************/
macro ReturnTrueOrFalse()
{
 szReturns = "return True if successful or False if errors."
 hbuf = GetCurrentBuf()
 ln = GetBufLnCur(hbuf)
 szCurLine = GetBufLine(hbuf, ln)
 DelBufLine(hbuf, ln)
 InsBufLine(hbuf, ln, "@szCurLine@@szReturns@")
 SetBufIns(hbuf, ln, StrLen(szReturns) + StrLen(szCurLine) + 3)
}

/******************************************************************************
 * InsHeaderDef -- Inserts the header define in the headerfile
 *
 * modification history
 * --------------------
 * 01a, 05mar2003, t357 written
 * --------------------
 ******************************************************************************/
macro InsHeaderDef()
{
 hBuf = GetCurrentBuf()
 szpathName = GetBufName(hBuf)
 szfileName = GetFileName(szpathName)
 szfileName = toupper(szfileName)
 nlength = StrLen(szfileName)
 i = 0 /* loop control */
 szdefineName = ""
 while (i < nlength)
 {
  if (szfileName[i] == ".")
   szdefineName = Cat(szdefineName, "_")
  else
   szdefineName = Cat(szdefineName, szfileName[i])
  i = i + 1
 }
 szdefineName = Cat("_", szdefineName)
 IfdefineSz(szdefineName)
}

/******************************************************************************
 * PrintDate - print date mailto:0@Day">0@Day@"
 else
  szDay = Day
 szMonth = NumToName(Month)
 hbuf = GetCurrentBuf()
 ln = GetBufLnCur(hbuf)
 szCurLine = GetBufLine(hbuf, ln)
 DelBufLine(hbuf, ln)
 InsBufLine(hbuf, ln, "@szCurLine@ @szDay@@szMonth@@Year@")
 SetBufIns(hbuf, ln, StrLen(szCurLine) + 10)
}


// Ask user for ifdef condition and wrap it around current
// selection.
// 28mar2003, modified by t357.
// 26mar2003, modified by t357.
macro InsIfdef()
{
 sz = Ask("Enter ifdef condition:")
 if (sz != "")
 {
  // IfdefSz(sz);
  hwnd = GetCurrentWnd()
     sel = GetWndSel(hwnd)
  hbuf = GetWndBuf(hwnd)
  // get line the selection (insertion point) is font-size: 12px;">  InsBufLine(hbuf, sel.lnFirst, "")
     InsBufLine(hbuf, sel.lnFirst + 1, "@ich@#ifdef @sz@")
     InsBufLine(hbuf, sel.lnFirst + 2, "@ich@" # chTab)
     InsBufLine(hbuf, sel.lnFirst + 3, "@ich@#endif  /* @sz@ */")
     SetBufIns(hbuf, sel.lnFirst + 2, StrLen(ich) + StrLen(chTab))
    }
}

// Wrap ifdeinef.. endif around the current selection
macro IfdefineSz(sz)
{
 hwnd = GetCurrentWnd()
 lnFirst = GetWndSelLnFirst(hwnd)
 lnLast = GetWndSelLnLast(hwnd)

 hbuf = GetCurrentBuf()
 InsBufLine(hbuf, lnFirst, "#ifndef @sz@")
 InsBufLine(hbuf, lnFirst + 1, "#define @sz@")
 InsBufLine(hbuf, lnLast + 3,  "#endif  /* @sz@ */")
 SetBufIns(hbuf, lnFirst + 2, 0)
}


/*   A U T O   E X P A N D   */
/*-------------------------------------------------------------------------
    Automatically expands C statements like if, for, while, switch, etc..

    To use this macro,
     1. Add this file to your project or your Base project.

  2. Run the Options->Key Assignments command and assign a
  convenient keystroke to the "AutoExpand" command.

  3. After typing a keyword, press the AutoExpand keystroke to have the
  statement expanded.  The expanded statement will contain a ### string
  which represents a field where you are supposed to type more.

  The ### string is also loaded in to the search pattern so you can
  use "Search Forward" to select the next ### field.

 For example:
  1. you type "for" + AutoExpand key
  2. this is inserted:
   for (###; ###; ###)
   {
    ###
   }
  3. and the first ### field is selected.
-------------------------------------------------------------------------*/
/******************************************************************************
 * AutoExpand - Automatically expands C statements
 *
 * DESCRIPTION: - Automatically expands C statements like if, for, while,
 *    switch, etc..
 *
 * Input:
 * Output:
 * Returns:
 *
 * modification history
 * --------------------
 * 01a, 27mar2003, t357 modified
 * --------------------
 ******************************************************************************/
macro AutoExpand()
{
 // get window, sel, and buffer handles
 hwnd = GetCurrentWnd()
 if (hwnd == 0)
  stop
 sel = GetWndSel(hwnd)
 if (sel.ichFirst == 0)
  stop
 hbuf = GetWndBuf(hwnd)

 // get line the selection (insertion point) is font-size: 12px;"> // parse word just to the left of the insertion point
 wordinfo = GetWordLeftOfIch(sel.ichFirst, szLine)
 ln = sel.lnFirst;

 chTab = CharFromAscii(9)

 // prepare a new indented blank line to be inserted.
 // keep white space font-size: 12px;"> szLine = strmid(szLine, 0, ich)
 sel.lnFirst = sel.lnLast
 sel.ichFirst = wordinfo.ich
 sel.ichLim = wordinfo.ich

 // expand szWord keyword...


 if (wordinfo.szWord == "if" ||
  wordinfo.szWord == "while" ||
  wordinfo.szWord == "elseif")
  {
  SetBufSelText(hbuf, " (###)")
  InsBufLine(hbuf, ln + 1, "@szLine@" # "{");
  InsBufLine(hbuf, ln + 2, "@szLine@" # chTab);
  InsBufLine(hbuf, ln + 3, "@szLine@" # "}");
  }
 else if (wordinfo.szWord == "for")
  {
  SetBufSelText(hbuf, " (###)")
  InsBufLine(hbuf, ln + 1, "@szLine@" # "{");
  InsBufLine(hbuf, ln + 2, "@szLine@" # chTab);
  InsBufLine(hbuf, ln + 3, "@szLine@" # "}");
  }
 else if (wordinfo.szWord == "switch")
  {
  SetBufSelText(hbuf, " (###)")
  InsBufLine(hbuf, ln + 1, "@szLine@" # "{")
  InsBufLine(hbuf, ln + 2, "@szLine@" # "case ")
  InsBufLine(hbuf, ln + 3, "@szLine@" # chTab)
  InsBufLine(hbuf, ln + 4, "@szLine@" # chTab # "break;")
  InsBufLine(hbuf, ln + 5, "@szLine@" # "default:")
  InsBufLine(hbuf, ln + 6, "@szLine@" # chTab)
  InsBufLine(hbuf, ln + 7, "@szLine@" # "}")
  }
 else if (wordinfo.szWord == "do")
  {
  InsBufLine(hbuf, ln + 1, "@szLine@" # "{")
  InsBufLine(hbuf, ln + 2, "@szLine@" # chTab);
  InsBufLine(hbuf, ln + 3, "@szLine@" # "} while ();")
  }
 else if (wordinfo.szWord == "case")
  {
  SetBufSelText(hbuf, " ###")
  InsBufLine(hbuf, ln + 1, "@szLine@" # chTab)
  InsBufLine(hbuf, ln + 2, "@szLine@" # chTab # "break;")
  }
 else
  stop

 SetWndSel(hwnd, sel)
 LoadSearchPattern("###", true, false, false);
 Search_Forward
}


/*   G E T   W O R D   L E F T   O F   I C H   */
/*-------------------------------------------------------------------------
    Given an index to a character (ich) and a string (sz),
    return a "wordinfo" record variable that describes the
    text word just to the left of the ich.

    Output:
     wordinfo.szWord = the word string
     wordinfo.ich = the first ich of the word
     wordinfo.ichLim = the limit ich of the word
-------------------------------------------------------------------------*/
macro GetWordLeftOfIch(ich, sz)
{
 wordinfo = "" // create a "wordinfo" structure

 chTab = CharFromAscii(9)

 // scan backwords over white space, if any
 ich = ich - 1;
 if (ich >= 0)
  while (sz[ich] == " " || sz[ich] == chTab)
   {
   ich = ich - 1;
   if (ich < 0)
    break;
   }

 // scan backwords to start of word
 ichLim = ich + 1;
 asciiA = AsciiFromChar("A")
 asciiZ = AsciiFromChar("Z")
 while (ich >= 0)
  {
  ch = toupper(sz[ich])
  asciiCh = AsciiFromChar(ch)
  if ((asciiCh < asciiA || asciiCh > asciiZ) && !IsNumber(ch))
   break // stop at first non-identifier character
  ich = ich - 1;
  }

 ich = ich + 1
 wordinfo.szWord = strmid(sz, ich, ichLim)
 wordinfo.ich = ich
 wordinfo.ichLim = ichLim;

 return wordinfo
}

ÏÂÔØµØÖ·

Source Insight v3.5 ÖÐÎÄ×¢²á°æ

    ÆÀ·Ö
    ¡ï
    ¡ï
    ¡ï
    ¡ï
    ¡ï
    Á¦¼ö
    Ñ¡ÔñÍ·Ïñ:
    10
    999+ÈËÆÀ·Ö
    ¡ï¡ï¡ï¡ï¡ï
    ¡ï¡ï¡ï¡ï
    ¡ï¡ï¡ï
    ¡ï¡ï
    ¡ï
    Õã½­ÁªÍ¨ÍøÓÑ ¿ÍÈË
    Windows 10
    ±à¼­»Ø¸´£º
    ²é¿´¸ü¶à >

    ÅäÖÃÐèÇó

    ÍÆ¼öרÌâ

    up¶Ôսƽ̨up¶Ôսƽ̨

    ¹ØÓÚ·ÉÏè | ÁªÏµÎÒÃÇ | ´óÊÂ¼Ç | ÏÂÔØ°ïÖú(£¿) | ¹ã¸æÁªÏµ | °æÈ¨ÉùÃ÷ | ÍøÕ¾µØÍ¼ | ÓÑÇéÁ´½Ó

    Copyright 2010-2025 µ¥»úÓÎÏ·ÏÂÔØ (R) °æÈ¨ËùÓÐ ·ÉÏèÏÂÔØËùÓÐÓÎÏ·¼°Èí¼þÏÂÔØ×ÊÔ´À´Ô´»¥ÁªÍø£¬²¢ÓÉÍøÓÑÉÏ´«·ÖÏí¡£ÈçÓÐÇÖȨ£¬ÇëÀ´µçÀ´º¯¸æÖ®¡£
    ·ÉÏèÖҸ棺µÖÖÆ²»Á¼É«Çé¡¢·´¶¯¡¢±©Á¦ÓÎÏ· ºÏÀí°²ÅÅÓÎϷʱ¼ä ÏíÊܽ¡¿µÉú»î ¶õ¹«Íø°²±¸£º42011102003115ºÅ ¡¾¶õICP±¸17000818ºÅ-1¡¿