Visual Studio 2013 ¨C dektop Visual C++
¿ÉÒÔÔÚ΢Èí¹Ù·½Õ¾µãÖ±½ÓÏÂÔØ×îеÄexpress°æ±¾£¬×¢²á²¢ÇÒÃâ·ÑʹÓÃ
Ç¿´ó¶øÁé»îµÄ Visual C++ ÓïÑԺ͹¤¾ßÔÚ Visual Studio ÔÊÐíÔÚ .NET framework ÉÏÔËÐб¾»ú Windows Ó¦ÓÃÉ̵ê apps¡¢±¾»ú×ÀÃæ apps ºÍÍÐ¹Ü apps µÄ¿ª·¢¡£ Visual C++ °üº¬ÒÔÏÂÔªËØ£º
Visual Studio ¿ª·¢»·¾³
¿ª·¢»·¾³Í¨¹ý±àд´úÂëÒÔÖ§³ÖÕû¸ö¿ª·¢¹¤×÷Á÷£¬´Ó´´½¨ºÍ¹ÜÀíµÄÏîÄ¿£¬µ÷ÊÔ£¬½øÐзÖÎö²¢²¿Êðµ½×îÖÕÓû§¡£ ¿ÉÊÓ»¯¹¤¾ß C++compiler
±àÒëÆ÷Ö§³Ö±¾»ú´úÂëÒÔ .NET ¹«¹²ÓïÑÔÔËÐÐʱ (CLR) µÄ¿ª·¢ºÍ¿ª·¢¡£ Visual C++ Ö±½ÓÖ§³Ö x86 ¼ÆËã»úµÄÉú³É£¬²¢°üÀ¨ÃæÏò x64 ºÍ ARM µÄ±àÒëÆ÷¡£ ËüÓÅ»¯ËùÓÐÆ½Ì¨µÄÐÔÄÜ¡£ ¿â
C ÔËÐпâ (crt)
°üÀ¨°²È«ÔöǿѡÔñÒªÁ˽âËùÔì³É°²È«ÎÊÌâµÄº¯Êý¡£ ±ê×¼ C++ ¿â
°üº¬ (mfc) ¿âºÍ±ê׼ģ°å¿â (STL)¡£ »î¶¯Ä£°å¿â (ATL)
´«µÝ¸ø COM ×é¼þºÍ apps µÄ´´½¨¡£
Microsoft »ù´¡Àà (MFC) ¿âÑ¡¼þ
¶ÔµÄ×ÀÃæ apps ´´½¨¾ßÓд«Í³»ò Office ÑùʽµÄÓû§½çÃæ¡£ ²¢ÐÐģʽ¿â (PPL)
¶Ô CPU Ö´ÐеÄÒì²½ºÍ²¢ÐÐËã·¨¡£ C++ AMP (C++ ¼ÓËٵĴóÁ¿²¢ÐÐ) ¶ÔÓÚ´óÁ¿ÔÚ GPU Ö´ÐеIJ¢ÐÐËã·¨¡£
Windows ÔËÐÐʱ C++ Ä£°å¿â (WRL),
Ϊ Windows Ó¦ÓÃÉ̵ê apps ºÍÔªËØµÄ COM ÑùʽµÄ¿ª·¢¡£
.NET framework Ñ¡¼þÀà¿â (ͨ¹ýʹÓà C++/CLI)£¬STL/CLR ºÍ C++ Ö§³Ö¿â ¶ÔÍÐ¹Ü apps µÄ¿ª·¢¡£
´ËÍ⣬ÔÚÖУ¬µ±Ê¹Óà Visual C++ ʱҲ¿ÉÒÔ·ÃÎÊ Windows Ó¦ÓÃÉ̵ê apps ºÍ×ÀÃæ apps µÄ windows API¡£ ±êÍ·ÎļþºÍ .winmd ÎļþÕâЩ API µÄ°üº¬ÔÚ Visual Studio ÖУ¬ÔÚ Windows Èí¼þ¿ª·¢°ü (SDK)Windows 8µÄ¡£ Visual Studio 2012 - Visual C++ Win32×ÀÃæÓ¦ÓóÌÐò(Visual C++)
¿ÉÒÔ´´½¨ Win32 app£¬Èç¹ûÒªÔÚ´Ó Windows 95 µÄ windows °æ±¾Ê¹ÓûùÓÚ windows µÄÓû§½çÃæ£¬²¢ÇÒ¿ÉÒÔÔËÐе½ Windows 8µÄ±¾»ú×ÀÃæÓ¦ÓóÌÐòʱ¡£ ¿ÉÒÔʹÓà Visual
Studio Express 2012 for Windows Desktop »òÈκγý Visual Studio Express 2012 for Windows 8µÄ Visual Studio °æ±¾¡£
Win32 Ó¦ÓóÌÐò ÊÇʹÓÃÏûϢѻ·´¦Àí windows ÏûÏ¢Ö±½Ó¶ø²»ÊÇʹÓÃÒ»ÖÖ»úÖÆ (Èç
Microsoft »ù´¡Àà (MFC)£¬»î¶¯Ä£°å¿â (ATL) »ò .NET framework app µÄÔ¼¶¨ÊõÓï¡£ ËäÈ»Õâ¸öÊõÓïÊÇ¡°Win32¡±£¬Ëü¿ÉÒÔÒýÓà 32 λ»ò 64 λӦÓóÌÐò¡£ ÔÚ C++ µÄ Win32 Ó¦ÓóÌÐò¿ÉÒÔʹÓà C ÔËÐÐʱ (crt) ºÍ±ê׼ģ°å¿â (STL) Ñ¡¼þÀàºÍº¯Êý£¬COM ¶ÔÏóºÍÈκι«¹²º¯Êý£¬¹«¹²³ÆÎª windows API¡£ ÓÐ¹Ø Win32 apps ½éÉÜÔÚ C++ ÖУ¬Çë²Î¼û Á˽⵽´°¿ÚµÄ³ÌÐòÔÚ C++¡£
Win32 Ó¦ÓóÌÐòÊÇÒ»ÖÖ´´½¨´°¿ÚµÄ±¾»ú×ÀÃæÓ¦ÓóÌÐò£»ÁíÒ»ÖÖ·½·¨ÊÇ MFC Ó¦ÓóÌÐò¡£ MFC ÊÇÆóÒµÀàÐ͵İ¢ÆÕË¹ÌØÊâµÄĬÈÏֵѡÔñ°¢ÆÕ˹¾ßÓÐÐí¶àÓû§½çÃæ¿Ø¼þ»ò×Ô¶¨ÒåÓû§¿Ø¼þ¡£ MFC ÓÃÓÚÐòÁл¯¡¢Îı¾´¦Àí¡¢´òÓ¡ºÍµ±½ñÓû§½çÃæÔªËØÌṩ·½±ãµÄ°ïÖúÆ÷ÀàÑ¡¼þÀýÈ繦ÄÜÇøÉÏ¡£ ÕâЩѡ¼þÀà¶Ô Win32 Ó¦ÓóÌÐò²»¿ÉÓᣠÈôÒª´´½¨ MFC »ò ATL ³ÌÐòÐèÒª Microsoft Visual Studio Professional 2012 »ò¸ü¸ß°æ±¾¡£ Visual Studio Express 2012 for Windows Desktop ²»°üÀ¨ MFC »ò ATL Ö§³Ö¡£ ´´½¨±ê×¼C++³ÌÐò
ÔÚ Visual Studio ¼¯³É¿ª·¢»·¾³ (IDE) ¿ÉÒÔʹÓà Visual C++ ´´½¨±ê×¼ C++ ³ÌÐò¡£ ͨ¹ý²ÉÓôËÑÝÁ·ÖеIJ½Ö裬Äú¿ÉÒÔ´´½¨Ò»¸öÏîÄ¿£¬Ïò¸ÃÏîÄ¿Ìí¼ÓÒ»¸öÐÂÎļþ£¬Ð޸ĸÃÎļþÒÔÌí¼Ó C++ ´úÂ룬ȻºóʹÓà Visual Studio ±àÒë²¢ÔËÐгÌÐò¡£
Äú¿ÉÒÔ¼üÈë×Ô¼ºµÄ C++ ³ÌÐò£¬»òÕßʹÓÃʾÀý³ÌÐòÖ®Ò»¡£ ´ËÑÝÁ·ÖеÄʾÀý³ÌÐòÊÇÒ»¸ö¿ØÖÆÌ¨Ó¦ÓóÌÐò¡£ ´ËÓ¦ÓóÌÐòʹÓñê׼ģ°å¿â (STL) ÖÐµÄ set ÈÝÆ÷¡£
Visual C++ ʹÓà 2003 C++ ±ê×¼½øÐбàÒ룬µ«ÓÐÒÔϼ¸µãÖ÷ÒªÀýÍâÖ®´¦£ºÁ½½×¶ÎÃû³Æ²éÕÒ¡¢Òì³£¹æ·¶ºÍµ¼³ö¡£ ´ËÍ⣬Visual C++ Ö§³ÖÈô¸É C++0x ¹¦ÄÜ£¬ÀýÈ磬lambda¡¢×Ô¶¯¡¢static_assert¡¢rvalue ÒýÓÃºÍ extern Ä£°å¡£ ˵Ã÷ Èç¹ûÒªÇó·ûºÏ±ê×¼£¬ÇëʹÓà /Za ±àÒëÆ÷Ñ¡ÏîÀ´½ûÓöԸñê×¼µÄ Microsoft À©Õ¹¡£ Óйظü¶àÐÅÏ¢£¬Çë²Î¼û/Za¡¢/Ze£¨½ûÓÃÓïÑÔÀ©Õ¹£©¡£ ϵͳ±Ø±¸ ÈôÒªÍê³É±¾ÑÝÁ·£¬Äú±ØÐëÁ˽â C++ ÓïÑԵĻù´¡ÖªÊ¶¡£ ´´½¨ÏîÄ¿²¢Ìí¼ÓÔ´Îļþ 1. 2. 3.
ͨ¹ýÒÔÏ·½Ê½´´½¨Ò»¸öÏîÄ¿£ºÖ¸Ïò¡°Îļþ¡±²Ëµ¥Éϵġ°Ð½¨¡±£¬È»ºóµ¥»÷¡°ÏîÄ¿¡±¡£
ÔÚ¡°Visual C++¡±ÏîÄ¿ÀàÐÍ´°¸ñÖУ¬µ¥»÷¡°Win32¡±£¬È»ºóµ¥»÷¡°Win32 ¿ØÖÆÌ¨Ó¦ÓóÌÐò¡±¡£ ¼üÈëÏîÄ¿Ãû³Æ¡£
ĬÈÏÇé¿öÏ£¬°üº¬ÏîÄ¿µÄ½â¾ö·½°¸ÓëÏîĿͬÃû£¬µ«Äú¿ÉÒÔ¼üÈëÆäËûÃû³Æ¡£ ÄúÒ²¿ÉÒÔΪÏîÄ¿¼üÈëÆäËûλÖᣠµ¥»÷¡°È·¶¨¡±´´½¨ÏîÄ¿¡£ 4. 5. 6.
ÔÚ¡°Win32 Ó¦ÓóÌÐòÏòµ¼¡±ÖУ¬µ¥»÷¡°ÏÂÒ»²½¡±£¬Ñ¡Ôñ¡°¿ÕÏîÄ¿¡±£¬È»ºóµ¥»÷¡°Íê³É¡±¡£
Èç¹ûδÏÔʾ¡°½â¾ö·½°¸×ÊÔ´¹ÜÀíÆ÷¡±£¬ÇëÔÚ¡°ÊÓͼ¡±²Ëµ¥ÉÏ£¬µ¥»÷¡°½â¾ö·½°¸×ÊÔ´¹ÜÀíÆ÷¡±¡£
½«Ò»¸öÐÂÔ´ÎļþÌí¼Óµ½ÏîÄ¿£¬ÈçÏÂËùʾ¡£ a. b.
ÔÚ¡°½â¾ö·½°¸×ÊÔ´¹ÜÀíÆ÷¡±ÖУ¬ÓÒ»÷¡°Ô´Îļþ¡±Îļþ¼Ð£¬Ö¸Ïò¡°Ìí¼Ó¡±£¬È»ºóµ¥»÷¡°Ð½¨Ï¡£
ÔÚ¡°´úÂ롱½ÚµãÖе¥»÷¡°C++ Îļþ(.cpp)¡±£¬ÎªÎļþ¼üÈëÃû³Æ£¬È»ºóµ¥»÷¡°Ìí¼Ó¡±¡£
¸Ã .cpp Îļþ¼´ÏÔʾÔÚ¡°½â¾ö·½°¸×ÊÔ´¹ÜÀíÆ÷¡±Öеġ°Ô´Îļþ¡±Îļþ¼ÐÖУ¬²¢ÇÒÎļþ½«ÔÚ Visual Studio ±à¼Æ÷Öдò¿ª¡£ 7.
ÔÚ±à¼Æ÷ÄÚµÄÎļþÖУ¬¼üÈëʹÓñê×¼ C++ ¿âµÄÓÐЧ C++ ³ÌÐò£¬»òÕ߸´ÖÆÊ¾Àý³ÌÐòÖ®Ò»²¢½«ÆäÕ³ÌùÔÚÎļþÖС£
ÀýÈ磬Äú¿ÉÒÔʹÓà set::find (STL Samples)ʾÀý³ÌÐò£¬¸Ã³ÌÐòÊǰïÖúÖи½´øµÄ±ê׼ģ°å¿âʾÀýÖ®Ò»¡£
Èç¹ûʹÓøÃʾÀý³ÌÐò£¬Çë×¢Òâ using namespace std; Ö¸Áî¡£ ´ËÖ¸Áîʹ³ÌÐòÄܹ»Ê¹Óà cout ºÍ endl£¬¶øÎÞÐèÍêÈ«ÏÞ¶¨Ãû£¨std::cout ºÍ std::endl£©¡£ 8. 9.
±£´æ¸ÃÎļþ¡£
ÔÚ¡°Éú³É¡±²Ëµ¥ÉÏ£¬µ¥»÷¡°Éú³É½â¾ö·½°¸¡±¡£
¡°Êä³ö¡±´°¿ÚÏÔʾÓйرàÒë¹ý³ÌµÄÐÅÏ¢£¬ÀýÈ磬Éú³ÉÈÕÖ¾µÄλÖã¬ÒÔ¼°Ö¸Ê¾Éú³É״̬µÄÏûÏ¢¡£
10. ÔÚ¡°µ÷ÊÔ¡±²Ëµ¥ÉÏ£¬µ¥»÷¡°¿ªÊ¼Ö´ÐÐ(²»µ÷ÊÔ)¡±¡£
Èç¹ûʹÓÃÁËʾÀý³ÌÐò£¬½«ÏÔʾһ¸öÃüÁî´°¿Ú£¬ÆäÖÐÏÔʾÊÇ·ñÔÚ¼¯ºÏÖÐÕÒµ½ÁËÌØ¶¨µÄÕûÊý¡£
ÔÚÃüÁîÐÐÉϱàÒë±¾»úC++³ÌÐò
Visual C++ °üÀ¨Ò»¸ö C++ ±àÒëÆ÷£¬¿ÉÓÃÀ´´´½¨´Ó»ù±¾ Visual C++ ³ÌÐòµ½ Windows ´°ÌåÓ¦ÓóÌÐòºÍ×é¼þµÄ¸÷ÖÖ³ÌÐò¡£
ͨ¹ý°´´ËÑÝÁ·µÄ¹ý³Ì½øÐвÙ×÷£¬Äú¿ÉÒÔͨ¹ýʹÓÃÎı¾±à¼Æ÷´´½¨»ù±¾µÄ Visual C++ ³ÌÐò£¬È»ºóÔÚÃüÁîÐÐÉÏ¶ÔÆä½øÐбàÒë¡£
Ò²¿ÉÒÔ±àÒëʹÓà Visual Studio ¼¯³É¿ª·¢»·¾³ (IDE) ´´½¨µÄ Visual C++ ³ÌÐò¡£ Óйظü¶àÐÅÏ¢£¬Çë²Î¼ûWalkthrough: Compiling a C++ Program that Targets the CLR in Visual Studio¡£
Äú¿ÉÒÔʹÓÃ×Ô¼ºµÄ Visual C++ ³ÌÐò£¬¶ø²»ÊǼüÈëÏÂÃæ²½ÖèÖÐËùʾµÄ³ÌÐò¡£ Ò²¿ÉÒÔʹÓÃÆäËû°ïÖúÖ÷ÌâÖеÄÈκΠVisual C++ ´úÂëʾÀý³ÌÐò¡£ ϵͳ±Ø±¸
ÈôÒªÍê³É±¾ÑÝÁ·£¬Äú±ØÐëÁ˽â C++ ÓïÑԵĻù´¡ÖªÊ¶¡£ ´´½¨ Visual C++ Ô´Îļþ²¢ÔÚÃüÁîÐÐÉÏ¶ÔÆä½øÐбàÒë 1.
´ò¿ª¡°Visual Studio 2010 ÃüÁîÌáʾ¡±´°¿Ú£¬·½·¨Êǵ¥»÷¡°¿ªÊ¼¡±£¬Ö¸Ïò¡°ËùÓгÌÐò¡±¡¢¡°Microsoft Visual Studio 2010¡±¡¢¡°Visual Studio ¹¤¾ß¡±£¬È»ºóµ¥»÷¡°Visual Studio 2010 ÃüÁîÌáʾ¡±¡£
¿ÉÄÜÐèÒª¹ÜÀíԱƾ¾Ý²ÅÄܳɹ¦±àÒë´ËÑÝÁ·ÖеĴúÂ룬¾ßÌåÇé¿öÊÓ¼ÆËã»úµÄ²Ù×÷ϵͳºÍÅäÖöø¶¨¡£ ÈôÒªÒÔ¹ÜÀíÔ±Éí·ÝÔËÐС°Visual Studio 2010 ÃüÁîÌáʾ¡±´°¿Ú£¬ÇëÓÒ»÷¡°Visual Studio 2010 ÃüÁîÌáʾ¡±£¬È»ºóµ¥»÷¡°ÒÔ¹ÜÀíÔ±Éí·ÝÔËÐС±¡£ 2. 3.
¸´ÖÆ´úÂë
#include
int main() {
std::cout << \ return 0; } 4. 5. 6.
ÔÚ¡°Îļþ¡±²Ëµ¥ÉÏ£¬µ¥»÷¡°±£´æ¡±¡£ ÕâÑù¾Í´´½¨ÁËÒ»¸ö Visual C++ Ô´Îļþ¡£ ¹Ø±Õ¼Çʱ¾¡£
ÔÚÃüÁîÌáʾ·ûÏ£¬¼üÈë cl /EHsc basic.cpp£¬²¢°´ Enter¡£ /EHsc ÃüÁîÐÐÑ¡Ïîָʾ±àÒëÆ÷ÆôÓà C++ Òì³£´¦Àí¡£ Óйظü¶àÐÅÏ¢£¬Çë²Î¼û/EH£¨Òì³£´¦ÀíÄ£ÐÍ£©¡£ cl.exe ±àÒëÆ÷½«Éú³ÉÒ»¸öÃûΪ basic.exe µÄ¿ÉÖ´ÐгÌÐò¡£ Äú¿ÉÒÔÔÚ±àÒëÆ÷ÏÔʾµÄ¶àÐÐÊä³öÐÅÏ¢Öп´µ½¿ÉÖ´ÐгÌÐòµÄÃû³Æ¡£ 7.
ÈôÒª²é¿´Ä¿Â¼ÖоßÓÐÃû³Æ basic ÒÔ¼°ÈκÎÎļþÀ©Õ¹ÃûµÄÎļþµÄÁÐ±í£¬Çë¼üÈë dir basic.* ²¢°´ Enter¡£
.obj ÎļþÊÇÒ»¸öÖмä¸ñʽÎļþ£¬¿ÉÒÔ°²È«µØºöÂÔËü¡£ 8.
ÈôÒªÔËÐÐ basic.exe ³ÌÐò£¬Çë¼üÈë basic ²¢°´ Enter¡£ ¸Ã³ÌÐòÏÔʾÒÔÏÂÎı¾²¢Í˳ö£º This is a native C++ program. 9.
ÈôÒª¹Ø±Õ¡°Visual Studio 2010 ÃüÁîÌáʾ¡±´°¿Ú£¬Çë¼üÈë exit ²¢°´ Enter¡£
±àÒëʹÓà .NET ÀàµÄ Visual C++ ³ÌÐò
ÏÂÃæµÄ²½ÖèÑÝʾÈçºÎ±àÒëʹÓà .NET Framework ÀàµÄ Visual C++ ³ÌÐò¡£
ÔÚÃüÁîÌáʾ·ûÏ£¬¼üÈë notepad basic.cpp£¬²¢°´ Enter¡£ ÔÚϵͳÌáʾÊÇ·ñ´´½¨Îļþʱ£¬µ¥»÷¡°ÊÇ¡±¡£ ÔÚ¼Çʱ¾ÖУ¬¼üÈëÏÂÁи÷ÐС£
Ïà¹ØÍÆ¼ö£º