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

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