以ä¸ä¸ºé¨åæå½ï¼å
¨æ请æ¥ç
http://www.glive.org/guet/read-htm-tid-160-fpage-2.htmlæ æ°æ¬¡å¬å°âæè¦å¼å§å¦ä¹ C++!âçååï¼æ æ°æ¬¡å¬å°âC++太å¤æäºï¼æççå¦ä¸ä¼âçæ å¥ãStan Lippmanå
çæ¾å¨ãC++ Primerãä¸ä¹¦ä¸æåºâC++æ¯æ为é¾å¦çé«çº§ç¨åºè®¾è®¡è¯è¨ä¹ä¸âï¼äººä»¬å¸¸å°âä¹ä¸âå»æ以表达èªå·±å¯¹C++çæ¬çãè¯ç¶ï¼C++ç¨åºè®¾è®¡è¯è¨å¯¹äºå¦ä¹ è
çç¡®æå¾å¤é¾ä»¥é¾è¶ç鸿æ²ï¼ä½ç³»ç»æçåºå¤§ï¼åºæ¥ä¸æ并ä¸ææ©å
çç¹æ§â¦â¦é¤æ¤ä¹å¤ï¼åèèµæä¹å¤ä¸åæ使å®çå¦ä¹ è
æèå´æ¥ï¼æ¬²æ±æ·±å
¥è
è¦ä¸å ªè¨ãå¸æè¿ä¸ä»½ä¸å®å
¨å¯¼å¼è½å¤æ为æ¨C++å¦ä¹ ä¹è·¯ä¸çå¼è·¯ç¯ã
æ°åæ¬æçå衷并ä¸æç®å¸¦é¢å¤§å®¶ä½éªå¤èçC++åå²ï¼å¦æä½ æ³äºè§£C++çåå²ä¸å
¶åæåå±ä¸è¯¸å¤ææ¯çæ¼åï¼ä½ åºå½å»åèBjarneçãThe Design and Evolution of C++ããå½ç¶ä¹ä¸æç®ç»å¤§å®¶ä¸ä¸ªæ æä¸å
çå®å
¸ï¼å¹¶éä¸æ³ï¼å
¶ä¸æ¯å æ°´å¹³æéï¼å
¶äºæ å¥C++ä¹å大精深ï¼ï¼æç»åºçä»
ä»
æ¯ä¸äºæ们认为对äºæ³å¦ä¹ C++ç广大读è
æ¥è¯´æéè¦å¹¶ä¸è§¦æå¯åçå¼åä¸å¦ä¹ èµæºã
æ¬æä»ç»å¹¶åæäºä¸äºç¼è¯å¨ï¼å¼åç¯å¢ï¼åºï¼å°éç书ç±ä»¥ååèç½ç«ï¼å¹¶ä¸å°½å¯è½å°è¯çç»åºä¸ä¸ªå©ç¨è¿äºèµæºç导å¼ï¼æ对å¦åæ们ä¸æ ·çåå¦è
è½å¤ææ裨çã
ç¼è¯å¨
å¨ C++ä¹å¤çä»»ä½è¯è¨ä¸ï¼ç¼è¯å¨é½ä»æ¥æ²¡æåå°è¿å¦æ¤ä¹éè§ãå 为C++æ¯ä¸é¨ç¸å½å¤æçè¯è¨ï¼æ以ç¼è¯å¨ä¹é¾äºæ建ãç´å°æè¿æ们æå¼å§è½å¤ä½¿ç¨ä¸å®å
¨ç¬¦åC++æ åçç¼è¯å¨ï¼å¦ï¼ä½ å¯è½ä¼è´£æªé£äºç¼è¯å¨ååä¸è½å°½æ©çæä¾ç¬¦åæ åçç¼è¯å¨ï¼è¿åªè½æªä»ä»¬åèªç»´ç³»çèªèº«çä¸å¥å«äººä¸æ¿æ¥åçæ åï¼ãä»ä¹ï¼ä½ 说è¿æ å
³ç´§è¦ï¼å¦ï¼ä¸ï¼ä½ æéè¦çæ¯åæ ååC++é«åº¦å
¼å®¹çç¼è¯ç¯å¢ãé¿è¿æ¥çï¼åªæè¿æ ·çç¼è¯å¨å¯¹C++å¼å人åæ¥è¯´ææ¯æææä¹çå·¥å
·ï¼å°¤å
¶æ¯å¯¹äºç¨åºè®¾è®¡è¯è¨çå¦ä¹ è
ãä¸è³æ§è®©ä»£ç å
·å¤å¯ç§»æ¤æ§ï¼å¹¶è®©ä¸é¨è¯è¨åå
¶åºçåºç¨æ´ä¸ºå¹¿æ³ãå¯ï¼æ¯çï¼æ们è¿éåªæç®ä»ç»ä¸äºå
¬è®¤çä¼ç§ç¼è¯å¨ã
Borland C++
è¿ä¸ªæ¯Borland C++ BuilderåBorland C++ Builder Xè¿ä¸¤ç§å¼åç¯å¢çåå°ç¼è¯å¨ãï¼å¦ï¼æä¹æ以å°ä¹å为两ç§å¼åç¯å¢ä½ åºå½è½æç½ä¸ºä»ä¹ï¼æ£å¦Delphi7å°Delphi8ç转åï¼æ¯é©å½æ§ç两代ãï¼Borland C++ç±èçå¼åå·¥å
·ååBorlandå¾åæé ã该å
¬å¸çç¼è¯å¨ç´ 以é度快ï¼ç©ºé´æçé«è称ï¼Borland C++ ç³»åç¼è¯å¨ç§æ¿äºè¿ä¸ªä¼ ç»ï¼å±äºé常ä¼è´¨çç¼è¯å¨ãæ ååæ¹é¢æ©å¨5.5çæ¬çç¼è¯å¨ä¸å¯¹æ ååC++çå
¼å®¹å°±è¾¾å°äº92.73%ãç®åææ°çæ¬æ¯ Borland C++ Builder Xä¸ç6.0çæ¬ï¼å®æ¹ç§°100%符åANSI/ISOçC++æ å以åC99æ åãå¯â¦è¿æ£æ¯æåé¢ææçâå®å
¨ç¬¦åC++æ åçç¼è¯å¨âã
Visual C++
è¿ä¸ªæ£æ¯æ们çç¥çVisual Studio å Visual Studio.net 2002, 2003以å2005 Whidbeyä¸å¸¦çC++ç¼è¯å¨ãç±Microsoftå
¬å¸ç å¶ãå¨Visual Studio 6.0ä¸ï¼å 为ç¼è¯å¨æ太å¤å°æ¹ä¸è½ä¸åæ¥åºç°çC++æ åç¸å»åè饱åæ¹è¯ï¼æ³æ³ä½ å¨ä½¿ç¨STLçæ¶åç¼è¯æ¶æ¥åºçé£äºä»¤äººåæ¶çerrorå warningå§ï¼ãVC++6.0对æ ååC++çå
¼å®¹åªæ83.43%ãä½æ¯éçC++ç¼è¯å¨è®¾è®¡å¤§å¸Stanley Lippman以å诸å¤C++社群达人çå çï¼å¨Visual Studio.NET 2003ä¸ï¼Visual C++ç¼è¯å¨å·²ç»æ为ä¸ä¸ªé常æçå¯é çC++ç¼è¯å¨äºãDr.Dobb's Journalçè¯æµæ¾ç¤ºVisual C++7.1对æ åC++çå
¼å®¹æ§é«è¾¾98.22%ï¼ä¸åº¦æ为CBXä¹åå
¼å®¹æ§æ好çç¼è¯å¨ãç»å强大çVisual Studio.NETå¼åç¯å¢ï¼æ¯ä¸ä¸ªé常ä¸éçéæ©ãè³äºWhidbeyæ¶ä»£çVisual C++,ä¼¼ä¹å¾®è½¯ææå
³æ³¨çæ¯C++/CLIâ¦â¦æ们ä¸æ³è¯è®ºå¾®è½¯ä¸ä¸ä»£çC++ç¼è¯å¨å¯¹æ ååå
¼å®¹å¦ä½ï¼ä½ä»ç¡®å®è¶æ¥è¶éå.NET (å
¶å®ä½ åæçæè§å¯è½æ¯ä¸æ ·çï¼å¾®è½¯ä¸åºå½ææ åC++è¿åè¥è丢ç»Borland,ç¶è微软å¯è½å¹¶ä¸è¿æ ·è®¤ä¸º)ã
GNU C++
èåçå¼æºC++ç¼è¯å¨ãæ¯ç±»Unixæä½ç³»ç»ä¸ç¼åC++ç¨åºçé¦éãç¹ç¹æ¯æé常好ç移æ¤æ§ï¼ä½ å¯ä»¥å¨é常广æ³çå¹³å°ä¸ä½¿ç¨å®ï¼åæ¶ä¹æ¯ç¼å跨平å°ï¼åµå
¥å¼ç¨åºå¾å¥½çéæ©ãå¦å¤å¨ç¬¦åæ åè¿ä¸ªæ¹é¢ä¸ç´é½é常好ï¼GCC3.3大æ¦è½å¤è¾¾å°96.15%ãä½æ¯ç±äºå
¶è·¨å¹³å°çç¹æ§ï¼å¨ä»£ç 尺寸é度çä¼åä¸ç¥å¾®å·®ä¸ç¹ã
åºäºGNU C++çç¼è¯å¨æå¾å¤ï¼æ¯å¦ï¼
l Mingwï¼
http://www.mingw.org/GCCçä¸ä¸ªWindowsç移æ¤çæ¬ï¼Dev-C++çåå°ï¼
l Cygwinï¼
http://sources.redhat.com/cygwin/GCCçå¦å¤ä¸ä¸ªWindows移æ¤çæ¬æ¯Cygwinçä¸é¨åï¼Cygwinæ¯Windowsä¸çä¸ä¸ªUnix仿çç¯å¢ãä¸¥æ ¼ç说æ¯æ¨¡æGNUçç¯å¢ï¼è¿ä¹å°±æ¯"Gnu's Not Unix"è¦è¡¨è¾¾çææï¼å¢ï¼æ¯è¿äºï¼è¿å¹¶ä¸æ¯æ们å¨è¿éå
³å¿çå®è´¨å
容ã
l Djgppï¼
http://www.delorie.com/djgpp/è¿æ¯GCCçDOS移æ¤çæ¬ã
l RSXNTï¼
http://www.mathematik.uni-bielefeld.de/~rainer/è¿æ¯GCCçDOSåWindows移æ¤çæ¬ã
Intel C++
èåCPUå¶é ååIntelåºåçç¼è¯å¨ï¼Special Design for Intel x86ï¼å¯¹äºIntel x86ç»æçCPUç»è¿ç¹å«çä¼åãå¨æäºåºç¨æ
åµä¸ï¼ç¹å«æ¯æ°å¼è®¡ç®çé«æ§è½åºç¨ï¼ä»
ä»
éç¨Intelçç¼è¯å¨ç¼è¯å°±è½å¤§å¹
度çæé«æ§è½ã
Digital Mars C++
ç½ç»ä¸æä¾å
è´¹ä¸è½½ï¼Zortech/Symantec C++ç继æ¿è
ï¼å
¶å身å¨å½å¹´æ¨ççC++åå½æä¸ä¹æ¯ä¸»è§ä¹ä¸ã
å¼åç¯å¢
å¼åç¯å¢å¯¹äºç¨åºåçä½ç¨ä¸è¨èå»ãéæ©èªå·±æå¤ç¸å¤çç¯å¢ä¹ä¸æ¯å®¹æçäºæ
ï¼ç¹å«æ¯å¨IDEå¦æ¤ä¸°å¯çæ
åµä¸ãä¸é¢å°±æ¯æ们æ¨èçä¸äºå¸¸è§çC++å¼åç¯å¢ï¼å¹¶æ²¡æå
æ¬ä¸äºå°åçï¼ç½è§çIDEãå
¶ä¸ä»»ä½ä¸æ¬¾é½æ¯åè½ä¸°å¯ï¼å¯ä»¥ç¨ä½æ¥å¸¸å¼å使ç¨çã对äºä¸åå±é¢çå¼åè
ï¼è¯·åè§å
æå
³äºéç¨å¯¹è±¡çæè¿°ã
Visual Studio 6.0
è¿ä¸ªè½ç¶æ¯Microsoftå
¬å¸çèçæ¬çå¼åç¯å¢ï¼ä½æ¯é´äºå
¶å继çæ¬Visual Studio.NETçåºå¤§èº«èº¯ï¼ä»¥ååå¦è
并ä¸é£ä¹é«çåè½è¦æ±ï¼æ以æ¨èè¿ä¸ªå¼åç¯å¢ç»C++çåå¦è
ï¼ä¾å
¶å¦ä¹ C++çæåºæ¬çé¨åï¼æ¯å¦Cçé£é¨ååéï¼å½ç¶ä½ å«ææä»è½å¤æ¯æææ°çC99æ åãå¨æ¥å¸¸çå¼åä¸ï¼ä»ç¶æå¾å¤å
¬å¸ä½¿ç¨è¿ä¸ªç»å
¸ç¨³å®çç¯å¢ï¼æ¯å¦ç¬è
å°±çæ¾äº²è§æäºå
¬å¸å°å
¶ç¼è¯å¨æ¿æ¢ä¸º GCCåææºå¼åä¹ç¨ã
Visual Studio.NET 2003
ä½ä¸ºMicrosoftå
¬å¸å®æ¹æ£å¼åå¸çææ°çæ¬å¼åç¯å¢ï¼å
¶ä¸æ太å¤æ¿å¨äººå¿çåè½ãç»åå
¶ææ°çC++ç¼è¯å¨ã对äºæºå¨é
ç½®æ¯è¾å¥½çå¼å人åæ¥è¯´ï¼ä½¿ç¨è¿ä¸ªå¼åç¯å¢å°è½æ»¡è¶³å
¶å¤§é¨åçè¦æ±ãè¿éä¸æç®åç¬è¯´Visual Studio Whidbey,è½ç¶Visual Studio .NET 2005 - Whidbey社åºé¢è§çå·²ç»æ¨åºï¼ä½æä¸æ¯å¾ç¨³å®ï¼è¯»è
å¯ä»¥äº²èº«å»ä½éªã
Borland C++ Builder 6
è¿ä¸ªå¹¶ä¸æ¯BorlandçC++å¼åç¯å¢çææ°çæ¬ãéæ©å®çåå æ¯å®ä¸æ¯ç¨JavaåçIDEï¼é度æ¯è¾å¿«ãå®æä¸ä¸ªå¾å®åçGUIçªä½è®¾è®¡å¨ï¼å Delphiå
±ç¨ä¸ä¸ªVCLãç±äºè¿äºç¹ç¹ï¼æ¯è¾éååå¦è
ä¸æãä½æ¯ç±äºå
¶GUIçä¸å¿ä½ç½®ï¼å¯è½ä¸å©äºå¯¹äºC++è¯è¨çå¦ä¹ ãèä¸å
¶ä¸ºäºæ¯æVCLè¿ä¸ªObject Pascalåçåºä¹å¯¹C++è¿è¡äºä¸äºç§æçæ©å
ã使å¾äººä»¬æä¸ä¸ªä¸å¾ä¸æ¥åçäºå®ï¼âBorland C++ Builder 6çé«æå ä¹é½æ¯Delphié«æâã
Borland C++ Builder X
æ£å¦åææè¿°ï¼è½ç¶çæ¬å·ä¸ååé¢é£ä¸ªIDEé常ç¸è±¡ï¼ä½æ¯å
¶å®å®ä»¬æ¯å®å
¨ä¸åç两个éæå¼åç¯å¢ãC++Builderæ´å¤çæ¯ä¸ä¸ªåDelphiåæ¥çC++çæ¬çå¼åç¯å¢ï¼C++BuilderXåæ¯å®å
¨ä»C++çè§åº¦æèå¾åºçä¸ä¸ªåè½ä¸°å¯çIDEãå
¶æ大çç¹ç¹æ¯è·¨å¹³å°ï¼è·¨ç¼è¯å¨ï¼å¤ç§Frameworkçéæï¼å¹¶ä¸æä¸ä¸ªWxWindows为åºç¡çGUI设计å¨ãå°¤å
¶æ¯éç¨äºçº¯C++æ¥éåäºæ´ä¸ªFramework,æå¼äºä»¥å令人æ å¥ççæ¬ã对äºC++çå¼åæ¥è¯´ï¼ä»ç¼è¯å¨ï¼å°åºï¼å°åè½éæé½æ¯é常çæ³çãå¯ä»¥é¢è§ï¼Borland C++ Builder X 2.0å¾å¼å¾C++ç±å¥½è
æå¾
ãå¯ä¸ä»¤äººé¾å ªä¹å¤æ¯ä½ä¸ºä¸ä¸ªC++çå¼åå·¥å
·ï¼å
¶IDEæ¯ç¨Javaåçï¼å¨é
ç½®ä¸å¤çæ³çæºå¨ä¸è¯·æ
éèèåå®è£
ã
Emacs + GCC
åé¢è®²ç大é¨åæ¯Windowsç¯å¢ä¸çéæå¼åç¯å¢ãLinuxä¸çå¼åè
æ´å¾åäºä½¿ç¨Emacsæ¥ç¼è¾C++çæ件ï¼ç¨Makefileæ¥å½ä»¤GCCåç¼è¯ãè½ç¶çä¸å»æ¯è¾æ¾æ£ï¼ä½æ¯è¿äºä¸è¥¿ç»¼åèµ·æ¥è¿æ¯ä¸ä¸ªå¼0åç¯å¢ãå¦æä½ è½å¤å¨´çç使ç¨è¿æ ·çç¯å¢åç¨åºï¼ä½ çæ°´å¹³åºè¯¥è¶³å¤æ导æ们æ¥åè¿ç¯éæäºã
Dev C++
GCC æ¯ä¸ä¸ªå¾å¥½çç¼è¯å¨ãå¨Windowsä¸çC++ç¼è¯å¨ä¸ç´åæ åæçä¸æ®µè·ç¦»çæ¶åï¼GCCå°±æ¯ä¸ä¸ªè®©Windowsä¸å¼åè
æµå£æ°´çç¼è¯å¨ãDev- C++å°±æ¯è½å¤è®©GCCè·å¨Windowsä¸çå·¥å
·ï¼ä½ä¸ºéæå¼åç¯å¢ï¼è¿æä¾äºåä¸ä¸IDEç¸åª²ç¾çè¯æ³é«äº®ï¼ä»£ç æ示ï¼è°è¯çåè½ãç±äºä½¿ç¨ Delphiå¼åï¼å ç¨å
åå°ï¼é度å¾å¿«ï¼æ¯è¾éåè½»é级çå¦ä¹ å使ç¨ã
Eclipse + CDT
Eclipse å¯æ¯è¿æ¥å¤§åé¼é¼çå¼åå·¥å
·ãææ°ä¸æçJolt大å¥å°±é¢ç»äºè¿ä¸ªæ°åºçç¥ç©ã说å
¶ç¥å¥æ¯å 为ï¼å®æ¬èº«æ¯ç¨Javaåçï¼ä½æ¯æ¥ææ¯ä¸è¬Javaåçç¨åºå¿«å¾å¤çé度ãèä¸å 为å
¶åºäºæ件ç»è£
ä¸åçååï¼ä½¿å¾è½å¤æCDTè¿æ ·çæ件æEclipseåæä¸ä¸ªC/C++çå¼åç¯å¢ãå¦æä½ ä¸ç´ç¨ EclipseåJavaçç¨åºï¼ä¸å¦¨ç¨å®ä½éªä¸ä¸C++å¼åçä¹è¶£ã
åèèµæï¼http://www.glive.org/guet/