²©¿ÍÊ×Ò³ ×¢²á ½¨ÒéÓë½»Á÷ ÅÅÐаñ ¼ÓÈëÓÑÇéÁ´½Ó
ÍÆ¼ö ͶËß ËÑË÷£º °ïÖú

zz

  weiliming.cublog.cn

¹ØÓÚ×÷Õß
ÐÕÃû£º
Ö°Òµ£º
ÄêÁ䣺
λÖãº
¸öÐÔ½éÉÜ£º
|| << >> ||
ÎҵķÖÀà


Visual C++±àÒëÆ÷³£ÓÃÑ¡ÏîÉèÖà zz

±àÒë²ÎÊýµÄÉèÖá£Ö÷Ҫͨ¹ýIDEµÄ²Ëµ¥ÏîProject->Settings->C/C++Ò³À´Íê³É¡£ÎÒÃÇ¿ÉÒÔ¿´µ½ÕâÒ»Ò³µÄ×îÏÂÃæProject OptionsÖеÄÄÚÈÝ£¬Ò»°ãÈçÏ£º

 

¡¡¡¡/nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "_M

¡¡¡¡BCS" /Fp"Debug/WritingDlgTest.pch" /Yu"stdafx.h" /Fo"Debug/" /Fd"Debug/" /FD /GZ /c

¡¡¡¡¸÷¸ö²ÎÊý´ú±íµÄÒâÒ壬¿ÉÒԲο¼Msdn¡£±ÈÈç/nologo±íʾ±àÒëʱ²»ÔÚÊä³ö´°¿ÚÏÔʾÕâЩÉèÖÃ(ÎÒÃÇ¿ÉÒÔ°ÑÕâ¸ö²ÎÊýÈ¥µôÀ´¿´¿´Ð§¹û)µÈµÈ¡£Ò»°ãÎÒÃDz»»áÖ±½ÓÐÞ¸ÄÕâЩÉèÖ㬶øÊÇͨ¹ýÕâÒ»Ò³×îÉÏÃæµÄCategoryÖеĸ÷ÏîÀ´Íê³É¡£

¡¡¡¡1) General£ºÒ»Ð©×ÜÌåÉèÖá£Warning levelÓÃÀ´¿ØÖƾ¯¸æÐÅÏ¢£¬ÆäÖÐLevel 1ÊÇ×îÑÏÖØµÄ¼¶±ð;Warnings as errors½«¾¯¸æÐÅÏ¢µ±×÷´íÎó´¦Àí;OptimizationsÊÇ´úÂëÓÅ»¯£¬¿ÉÒÔÔÚCategoryµÄOptimizationsÏîÖнøÐиüϸµÄÉèÖÃ;Generate browse infoÓÃÒÔÉú³É.sbrÎļþ£¬¼Ç¼Àà¡¢±äÁ¿µÈ·ûºÅÐÅÏ¢£¬¿ÉÒÔÔÚCategoryµÄListing FilesÏîÖнøÐиü¶àµÄÉèÖá£Debug info£¬Éú³Éµ÷ÊÔÐÅÏ¢£ºNone£¬²»²úÉúÈκε÷ÊÔÐÅÏ¢(±àÒë±È½Ï¿ì);Line Numbers Only£¬½öÉú³ÉÈ«¾ÖµÄºÍÍⲿ·ûºÅµÄµ÷ÊÔÐÅÏ¢µ½.OBJÎļþ»ò.EXEÎļþ£¬¼õСĿ±êÎļþµÄ³ß´ç;C 7.0- Compatible£¬¼Ç¼µ÷ÊÔÆ÷Óõ½µÄËùÓзûºÅÐÅÏ¢µ½.OBJÎļþºÍ.EXEÎļþ;Program Database£¬´´½¨.PDBÎļþ¼Ç¼ËùÓе÷ÊÔÐÅÏ¢;Program Database for "Edit & Continue"£¬´´½¨.PDBÎļþ¼Ç¼ËùÓе÷ÊÔÐÅÏ¢£¬²¢ÇÒÖ§³Öµ÷ÊÔʱ±à¼­¡£

¡¡¡¡2) C++ Language£ºpointer_to_member representationÓÃÀ´ÉèÖÃÀඨÒå/ÒýÓõÄÏȺó¹ØÏµ£¬Ò»°ãΪBest-Case Always±íʾÔÚÒýÓÃÀà֮ǰ¸ÃÀà¿Ï¶¨ÒѾ­¶¨ÒåÁË;Enable Exception Handling£¬½øÐÐͬ²½µÄÒì³£´¦Àí;Enable Run-Time Type InformationÆÈʹ±àÒëÆ÷Ôö¼Ó´úÂëÔÚÔËÐÐʱ½øÐжÔÏóÀàÐͼì²é;Disable Construction Displacements£¬ÉèÖÃÀ๹Ôì/Îö¹¹º¯Êýµ÷ÓÃÐ麯ÊýÎÊÌâ¡£

¡¡¡¡3) Code Generation£ºProcessor±íʾ´úÂëÖ¸ÁîÓÅ»¯£¬¿ÉÒÔΪ80386¡¢80486¡¢Pentium¡¢Pentium Pro£¬»òÕßBlend±íʾ»ìºÏÒÔÉϸ÷ÖÖÓÅ»¯¡£Use run-time libraryÓÃÒÔÖ¸¶¨³ÌÐòÔËÐÐʱʹÓõÄÔËÐÐʱ¿â(µ¥Ï̻߳ò¶àỊ̈߳¬Debug°æ±¾»òRelease°æ±¾)£¬ÓÐÒ»¸öÔ­Ôò¾ÍÊÇ£¬Ò»¸ö½ø³Ì²»ÒªÍ¬Ê±Ê¹Óü¸¸ö°æ±¾µÄÔËÐÐʱ¿â¡£Single-Threaded£¬¾²Ì¬Á¬½ÓLIBC.LIB¿â;Debug Single-Threaded£¬¾²Ì¬Á¬½ÓLIBCD.LIB¿â;Multithreaded£¬¾²Ì¬Á¬½ÓLIBCMT.LIB¿â;Debug Multithreaded£¬¾²Ì¬Á¬½ÓLIBCMTD.LIB¿â;Multithreaded DLL£¬¶¯Ì¬Á¬½ÓMSVCRT.DLL¿â;Debug Multithreaded DLL£¬¶¯Ì¬Á¬½ÓMSVCRTD.DLL¿â¡£Á¬½ÓÁ˵¥Ï߳̿â¾Í²»Ö§³Ö¶àÏ̵߳÷Óã¬Á¬½ÓÁ˶àÏ߳̿â¾ÍÒªÇó´´½¨¶àÏ̵߳ÄÓ¦ÓóÌÐò¡£

¡¡¡¡Calling convention¿ÉÒÔÓÃÀ´É趨µ÷ÓÃÔ¼¶¨£¬ÓÐÈýÖÖ£º__cdecl¡¢__fastcallºÍ__stdcall¡£¸÷ÖÖµ÷ÓÃÔ¼¶¨µÄÖ÷񻂿±ðÔÚÓÚ£¬º¯Êýµ÷ÓÃʱ£¬º¯ÊýµÄ²ÎÊýÊÇ´Ó×óµ½ÓÒѹÈë¶ÑÕ»»¹ÊÇ´ÓÓÒµ½×óѹÈë¶ÑÕ»;ÔÚº¯Êý·µ»ØÊ±£¬Óɺ¯ÊýµÄµ÷ÓÃÕßÀ´ÇåÀíѹÈë¶ÑÕ»µÄ²ÎÊý»¹ÊÇÓɺ¯Êý±¾ÉíÀ´ÇåÀí;ÒÔ¼°ÔÚ±àÒëʱ¶Ôº¯ÊýÃû½øÐеÄÃüÃûÐÞÊÎ(¿ÉÒÔͨ¹ýListing Files¿´µ½¸÷ÖÖÃüÃûÐÞÊη½Ê½)¡£Struct member alignmentÓÃÒÔÖ¸¶¨Êý¾Ý½á¹¹ÖеijÉÔ±±äÁ¿ÔÚÄÚ´æÖÐÊǰ´¼¸×Ö½Ú¶ÔÆëµÄ£¬¸ù¾Ý¼ÆËã»úÊý¾Ý×ÜÏßµÄλÊý£¬²»Í¬µÄ¶ÔÆë·½Ê½´æÈ¡Êý¾ÝµÄËٶȲ»Ò»Ñù¡£Õâ¸ö²ÎÊý¶ÔÊý¾Ý°üÍøÂç´«ÊäµÈÓ¦ÓÃÓÈÎªÖØÒª£¬²»ÊÇ´æÈ¡ËÙ¶ÈÎÊÌ⣬¶øÊÇÊý¾ÝλµÄ¾«È·¶¨ÒåÎÊÌ⣬һ°ãÔÚ³ÌÐòÖÐʹÓÃ#pragma packÀ´Ö¸¶¨¡£

¡¡¡¡4) Customize£ºDisable Language Extensions£¬±íʾ²»Ê¹ÓÃ΢ÈíΪ±ê×¼C×öµÄÓïÑÔÀ©Õ¹;Eliminate Duplicate Strings£¬Ö÷ÒªÓÃÓÚ×Ö·û´®ÓÅ»¯(½«×Ö·û´®·Åµ½»º³ä³ØÀïÒÔ½ÚÊ¡¿Õ¼ä)£¬Ê¹ÓÃÕâ¸ö²ÎÊý£¬Ê¹µÃ

¡¡¡¡char *sBuffer = "This is a character buffer";

¡¡¡¡char *tBuffer = "This is a character buffer";

sBufferºÍtBufferÖ¸ÏòµÄÊÇͬһ¿éÄÚ´æ¿Õ¼ä;Enable Function-Level Linking £¬¸æËß±àÒëÆ÷½«¸÷¸öº¯Êý°´´ò°ü¸ñʽ±àÒë;Enables minimal rebuild£¬Í¨¹ý±£´æ¹ØÁªÐÅÏ¢µ½.IDBÎļþ£¬Ê¹±àÒëÆ÷Ö»¶Ô×îÐÂÀඨÒå¸Ä¶¯¹ýµÄÔ´Îļþ½øÐÐÖØ±àÒ룬Ìá¸ß±àÒëËÙ¶È;Enable Incremental Compilation£¬Í¬Ñùͨ¹ý.IDBÎļþ±£´æµÄÐÅÏ¢£¬Ö»ÖرàÒë×îÐ¸Ķ¯¹ýµÄº¯Êý;Suppress Startup Banner and Information Messages£¬ÓÃÒÔ¿ØÖƲÎÊýÊÇ·ñÔÚoutput´°¿ÚÊä³ö¡£

¡¡¡¡5) Listing Files£ºGenerate browse infoµÄ¹¦ÄÜÉÏÃæÒѾ­Ìáµ½¹ý¡£ÕâÀï¿ÉÒÔ½øÐиü¶àµÄÉèÖá£Exclude Local Variables from Browse Info±íʾÊÇ·ñ½«¾Ö²¿±äÁ¿µÄÐÅÏ¢·Åµ½.SBRÎļþÖС£Listing file type¿ÉÒÔÉèÖÃÉú³ÉµÄÁбíÐÅÏ¢ÎļþµÄÄÚÈÝ£ºAssembly-Only Listing½öÉú³É»ã±à´úÂëÎļþ(.ASMÀ©Õ¹Ãû);Assembly With Machine CodeÉú³É»úÆ÷´úÂëºÍ»ã±à´úÂëÎļþ(.CODÀ©Õ¹Ãû);Assembly With Source CodeÉú³ÉÔ´´úÂëºÍ»ã±à´úÂëÎļþ(.ASMÀ©Õ¹Ãû);Assembly, Machine Code,and SourceÉú³É»úÆ÷Âë¡¢Ô´´úÂëºÍ»ã±à´úÂëÎļþ(.CODÀ©Õ¹Ãû)¡£Listing file nameΪÉú³ÉµÄÐÅÏ¢ÎļþµÄ·¾¶£¬Ò»°ãΪDebug»òReleaseĿ¼Ï£¬Éú³ÉµÄÎļþÃû×Ô¶¯È¡Ô´ÎļþµÄÎļþÃû¡£

¡¡¡¡6) Optimizations£º´úÂëÓÅ»¯ÉèÖ᣿ÉÒÔÑ¡ÔñMaximize SpeedÉú³É×î¿ìËٵĴúÂ룬»òMinimize SizeÉú³É×îС³ß´çµÄ³ÌÐò£¬»òÕßCustomize¶¨ÖÆÓÅ»¯¡£¶¨ÖƵÄÄÚÈݰüÀ¨£º

¡¡¡¡Assume No Aliasing£¬²»Ê¹ÓñðÃû(Ìá¸ßËÙ¶È);

¡¡¡¡Assume Aliasing Across Function Calls£¬½öº¯ÊýÄÚ²¿²»Ê¹ÓñðÃû;

¡¡¡¡Global Optimizations£¬È«¾ÖÓÅ»¯£¬±ÈÈç¾­³£Óõ½µÄ±äÁ¿Ê¹ÓüĴæÆ÷±£´æ£¬»òÕßÑ­»·ÄڵļÆËãÓÅ»¯£¬Èç

¡¡¡¡i = -100;

¡¡¡¡while( i < 0 ){ i += x + y;}

¡¡¡¡»á±»ÓÅ»¯Îª

¡¡¡¡i = -100;

¡¡¡¡t = x + y;

¡¡¡¡while( i < 0 ){i += t;}

¡¡¡¡Generate Intrinsic Functions£¬Ê¹ÓÃÄÚ²¿º¯ÊýÌæ»»Ò»Ð©º¯Êýµ÷ÓÃ(Ìá¸ßËÙ¶È);

¡¡¡¡Improve Float Consistency£¬¸¡µãÔËËã·½ÃæµÄÓÅ»¯;

¡¡¡¡Favor Small Code£¬³ÌÐò(exe»òdll)³ß´çÓÅ»¯ÓÅÏÈÓÚ´úÂëËÙ¶ÈÓÅ»¯;

¡¡¡¡Favor Fast Code£¬³ÌÐò(exe»òdll)´úÂëËÙ¶ÈÓÅ»¯ÓÅÏÈÓڳߴçÓÅ»¯;

¡¡¡¡Frame-Pointer Omission£¬²»Ê¹ÓÃÖ¡Ö¸Õ룬ÒÔÌá¸ßº¯Êýµ÷ÓÃËÙ¶È;

¡¡¡¡Full Optimization£¬×éºÏÁ˼¸ÖÖ²ÎÊý£¬ÒÔÉú³É×î¿ìµÄ³ÌÐò´úÂë¡£

¡¡¡¡Inline function expansion£¬ÄÚÁªº¯ÊýÀ©Õ¹µÄÈýÖÖÓÅ»¯(ʹÓÃÄÚÁª¿ÉÒÔ½ÚÊ¡º¯Êýµ÷ÓõĿªÏú£¬¼Ó¿ì³ÌÐòËÙ¶È)£ºDisable²»Ê¹ÓÃÄÚÁª;Only __inline£¬½öº¯Êý¶¨ÒåǰÓÐinline»ò__inline±ê¼ÇʹÓÃÄÚÁª;Any Suitable£¬³ýÁËinline»ò__inline±ê¼ÇµÄº¯ÊýÍ⣬±àÒëÆ÷¡°¾õµÃ¡±Ó¦¸ÃʹÓÃÄÚÁªµÄº¯Êý£¬¶¼Ê¹ÓÃÄÚÁª¡£

¡¡¡¡7) Precompiled Headers£ºÔ¤±àÒëÍ·ÎļþµÄÉèÖá£Ê¹ÓÃÔ¤±àÒë¿ÉÒÔÌá¸ßÖØ¸´±àÒëµÄËÙ¶È¡£IDEÒ»°ã½«Ò»Ð©¹«¹²µÄ¡¢²»´ó±ä¶¯µÄÍ·Îļþ(±ÈÈçafxwin.hµÈ)¼¯Öзŵ½stdafx.hÖУ¬ÕâÒ»²¿·Ö´úÂë¾Í²»±ØÃ¿´Î¶¼ÖØÐ±àÒë(³ý·ÇÊÇRebuild All)¡£

¡¡¡¡8) Preprocessor£ºÔ¤±àÒë´¦Àí¡£¿ÉÒÔ¶¨Òå/½â³ý¶¨ÒåһЩ³£Á¿¡£Additional include directories£¬¿ÉÒÔÖ¸¶¨¶îÍâµÄ°üº¬Ä¿Â¼£¬Ò»°ãÊÇÏà¶ÔÓÚ±¾ÏîÄ¿µÄĿ¼£¬Èç..\Include¡£

¡¡¡¡Á¬½Ó²ÎÊýµÄÉèÖá£Ö÷Ҫͨ¹ýIDEµÄ²Ëµ¥ÏîProject->Settings->LinkÒ³À´Íê³É¡£ÎÒÃÇ¿ÉÒÔ¿´µ½ÕâÒ»Ò³µÄ×îÏÂÃæProject OptionsÖеÄÄÚÈÝ£¬Ò»°ãÈçÏ£º

¡¡¡¡/nologo /subsystem:windows /incremental:yes /pdb:"Debug/WritingDlgTest.pdb" /debug /machi

¡¡¡¡ne:I386 /out:"Debug/WritingDlgTest.exe" /pdbtype:sept

ÏÂÃæÎÒÃÇ·Ö±ðÀ´¿´Ò»ÏÂCategoryÖеĸ÷ÏîÉèÖá£

¡¡¡¡1) General£ºÒ»Ð©×ÜÌåÉèÖ᣿ÉÒÔÉèÖÃÉú³ÉµÄÎļþ·¾¶¡¢ÎļþÃû;Á¬½ÓµÄ¿âÎļþ;Generate debug info£¬Éú³ÉDebugÐÅÏ¢µ½.PDBÎļþ(¾ßÌå¸ñʽ¿ÉÒÔÔÚCategory->DebugÖÐÉèÖÃ);Ignore All Default Libraries£¬·ÅÆúËùÓÐĬÈϵĿâÁ¬½Ó;Link Incrementally£¬Í¨¹ýÉú³É. ILKÎļþʵÏÖµÝÔöʽÁ¬½ÓÒÔÌá¸ßºóÐøÁ¬½ÓËÙ¶È£¬µ«Ò»°ãÕâÖÖ·½Ê½ÏÂÉú³ÉµÄÎļþ(EXE»òDLL)½Ï´ó;Generate Mapfile£¬Éú³É.MAPÎļþ¼Ç¼ģ¿éÏà¹ØÐÅÏ¢;Enable Profiling£¬Õâ¸ö²ÎÊýͨ³£ÓëGenerate Mapfile²ÎÊýͬʱʹÓ㬶øÇÒÈç¹û²úÉúDebugÐÅÏ¢µÄ»°£¬²»ÄÜÓÃ.PDBÎļþ£¬¶øÇÒ±ØÐëÓÃMicrosoft Format¡£

¡¡¡¡2) Customize£ºÕâÀï¿ÉÒÔ½øÐÐʹÓóÌÐòÊý¾Ý¿âÎļþµÄÉèÖá£Force File Output £¬Ç¿ÖƲúÉúÊä³öÎļþ(EXE»òDLL);Print Progress Messages£¬¿ÉÒÔ½«Á¬½Ó¹ý³ÌÖеĽø¶ÈÐÅÏ¢Êä³öµ½Output´°¿Ú¡£

¡¡¡¡3) Debug£ºÉèÖÃÊÇ·ñÉú³Éµ÷ÊÔÐÅÏ¢£¬ÒÔ¼°µ÷ÊÔÐÅÏ¢µÄ¸ñʽ¡£¸ñʽ¿ÉÒÔÓÐMicrosoft Format¡¢COFF Format(Common Object File Format)ºÍBoth FormatsÈýÖÖÑ¡Ôñ;Separate Types£¬±íʾ½«Debug¸ñʽÐÅÏ¢ÒÔ¶ÀÁ¢µÄ.PDBÎļþ´æ·Å£¬»¹ÊÇÖ±½Ó·ÅÔÚ¸÷¸öÔ´ÎļþµÄ.PDBÎļþÖС£Ñ¡Öеϰ£¬±íʾ²ÉÓúóÕߵķ½Ê½£¬ÕâÖÖ·½Ê½µ÷ÊÔÆô¶¯±È½Ï¿ì¡£

¡¡¡¡4) Input£ºÕâÀï¿ÉÒÔÖ¸¶¨ÒªÁ¬½ÓµÄ¿âÎļþ£¬·ÅÆúÁ¬½ÓµÄ¿âÎļþ¡£»¹¿ÉÒÔÔö¼Ó¶îÍâµÄ¿âÎļþĿ¼£¬Ò»°ãÊÇÏà¶ÔÓÚ±¾ÏîÄ¿µÄĿ¼£¬Èç..\Lib¡£Force Symbol References£¬¿ÉÒÔÖ¸¶¨Á¬½ÓÌØ¶¨·ûºÅ¶¨ÒåµÄ¿â¡£

¡¡¡¡5) Output£ºBase Address¿ÉÒԸıä³ÌÐòĬÈϵĻùµØÖ·(EXEÎļþĬÈÏΪ0x400000£¬DLLĬÈÏΪx10000000)£¬²Ù×÷ÏµÍ³×°ÔØÒ»¸ö³ÌÐòʱ×ÜÊÇÊÔ×ÅÏÈ´ÓÕâ¸ö»ùµØÖ·¿ªÊ¼¡£Entry-Point Symbol¿ÉÒÔÖ¸¶¨³ÌÐòµÄÈë¿ÚµØÖ·£¬Ò»°ãΪһ¸öº¯ÊýÃû(ÇÒ±ØÐë²ÉÓÃ__stdcallµ÷ÓÃÔ¼¶¨)¡£Ò»°ãWin32µÄ³ÌÐò£¬EXEµÄÈë¿ÚΪWinMain£¬DLLµÄÈë¿ÚΪDllEntryPoint;×îºÃÈÃÁ¬½ÓÆ÷×Ô¶¯ÉèÖóÌÐòµÄÈë¿Úµã¡£Ä¬ÈÏÇé¿öÏ£¬Í¨¹ýÒ»¸öCµÄÔËÐÐʱ¿âº¯ÊýÀ´ÊµÏÖ£º¿ØÖÆÌ¨³ÌÐò²ÉÓÃmainCRTStartup (»òwmainCRTStartup)È¥µ÷ÓóÌÐòµÄmain (»òwmain)º¯Êý;Windows³ÌÐò²ÉÓÃWinMainCRTStartup (»ò wWinMainCRTStartup)µ÷ÓóÌÐòµÄWinMain (»ò wWinMain£¬±ØÐë²ÉÓÃ__stdcallµ÷ÓÃÔ¼¶¨);DLL²ÉÓÃ_DllMainCRTStartupµ÷ÓÃDllMainº¯Êý(±ØÐë²ÉÓÃ__stdcallµ÷ÓÃÔ¼¶¨)¡£Stack allocations£¬ÓÃÒÔÉèÖóÌÐòʹÓõĶÑÕ»´óС(ÇëʹÓÃÊ®½øÖÆ)£¬Ä¬ÈÏΪ1Õ××Ö½Ú¡£Version Information¸æËßÁ¬½ÓÆ÷ÔÚEXE»òDLLÎļþµÄ¿ªÊ¼²¿·Ö·ÅÉϰ汾ºÅ¡£

¡¡¡¡ÖµµÃ×¢ÒâµÄÊÇ£¬ÉÏÃæ¸÷¸ö²ÎÊýÊÇ´óСдÃô¸ÐµÄ;ÔÚ²ÎÊýºó¼ÓÉÏ¡°-¡±±íʾ¸Ã²ÎÊýÎÞЧ;¸÷¸ö²ÎÊýֵѡÏî

¡¡¡¡ÓС°*¡±µÄ±íʾΪ¸Ã²ÎÊýµÄĬÈÏÖµ;¿ÉÒÔʹÓÃÒ³ÓÒÉϽǵġ°Reset¡±°´Å¥À´»Ö¸´¸ÃÒ³µÄËùÓÐĬÈÏÉèÖá£

¡¡¡¡ÆäËüһЩ²ÎÊýÉèÖÃ

¡¡¡¡1) Project->Settings->General£¬¿ÉÒÔÉèÖÃÁ¬½ÓMFC¿âµÄ·½Ê½(¾²Ì¬»ò¶¯Ì¬)¡£Èç¹ûÊǶ¯Ì¬Á¬

¡¡¡¡½Ó£¬ÔÚÄãµÄÈí¼þ·¢²¼Ê±²»ÒªÍüÁË´øÉÏMFCµÄDLL¡£

¡¡¡¡2) Project->Settings->Debug£¬¿ÉÒÔÉèÖõ÷ÊÔʱÔËÐеĿÉÖ´ÐÐÎļþ£¬ÒÔ¼°ÃüÁîÐвÎÊýµÈ¡£

¡¡¡¡3) Project->Settings->Custom Build£¬¿ÉÒÔÉèÖñàÒë/Á¬½Ó³É¹¦ºó×Ô¶¯Ö´ÐÐһЩ²Ù×÷¡£±È½ÏÓÐ

¡¡¡¡ÓõÄÊÇ£¬Ð´COMʱϣÍûIDE¶Ô±àÒëͨ¹ýµÄCOMÎļþ×Ô¶¯×¢²á£¬¿ÉÒÔÈçÏÂÉèÖãº

¡¡¡¡Description: Register COM

¡¡¡¡Commands: regsvr32 /s /c $(TargetPath)

¡¡¡¡echo regsvr32 exe.time > $(TargetDir)\$(TargetName).trg

¡¡¡¡Outputs: $(TargetDir)\$(TargetName).trg

¡¡¡¡4) Tools->Options->Directories£¬ÉèÖÃϵͳµÄInclude¡¢Library·¾¶¡£

¡¡¡¡Ò»Ð©Ð¡ÇÏÃÅ(Õë¶ÔVisual C++)

¡¡¡¡1) ÓÐʱºò£¬Äã¿ÉÄÜÔÚ±àÒëµÄʱºò£¬¼ÆËã»úͻȻ·Ç·¨¹Ø»úÁË(¿ÉÄÜijÈ˲»Ð¡ÐÄÅöÁ˵çÔ´»òÄãµÄÄÚ´æ²»Îȶ¨µÈÔ­Òò)¡£µ±ÄãÖØÆô»úÆ÷ºó´ò¿ª¸Õ²ÅµÄÏîÄ¿£¬ÖØÐ½øÐбàÒ룬·¢ÏÖIDE»á±Àµô¡£Äã»òÐíÒÔΪÄãµÄ±àÒëÆ÷»µÁË£¬Æäʵ²»È»(ÄãÊÔÊÔ±àÒëÆäËüÏîÄ¿£¬»¹ÊǺõÄ!)£¬ÄãÖ»Òª½«ÏîÄ¿µÄ.ncb¡¢.opt¡¢.aps¡¢.clwÎļþÒÔ¼°Debug¡¢ReleaseĿ¼ÏµÄËùÓÐÎļþ¶¼É¾µô£¬È»ºóÖØÐ±àÒë¾ÍÐÐÁË¡£

¡¡¡¡2) Èç¹ûÄãÏëÓë±ðÈ˹²ÏíÄãµÄÔ´´úÂëÏîÄ¿£¬µ«ÊǰÑÕû¸öÏîÄ¿×ö¿½±´ÓÖÌ«´ó¡£ÄãÍêÈ«¿ÉÒÔɾµôÒÔÏÂÎļþ£º.dsw¡¢.ncb¡¢.opt¡¢.aps¡¢.clw¡¢. plgÎļþÒÔ¼°Debug¡¢ReleaseĿ¼ÏµÄËùÓÐÎļþ¡£

¡¡¡¡3) µ±ÄãµÄWorkspaceÖаüº¬¶à¸öProjectµÄʱºò£¬Äã¿