·¢ÐÅÈË: wpf (I'llTouchTheBlueSky), ÐÅÇø: BorlandDev
±ê  Ìâ: ÎҵĻØÒäºÍÓÐȤµÄ¹ÊÊÂC++
·¢ÐÅÕ¾: ¹þ¹¤´ó×϶¡Ïã (2001Äê11ÔÂ07ÈÕ20:49:10 ÐÇÆÚÈý), Õ¾ÄÚÐżþ


ÎҵĻØÒäºÍÓÐȤµÄ¹ÊÊÂ-C/C++ʥսƪ[³¤Æª]
Borland C/C++µÄ·´»÷
µ±Visual C++ 1.0ÔÚC/C++¿ª·¢¹¤¾ßÊг¡»ñµÃÁË¿Õǰ³É¹ûµÄÖ®ºó£¬Borland²Å´Ó
Borland C/C++ 3.1µÄʤÀûÃÎÖоªÐÑ£¬Ë¼¿¼ÈçºÎÃæ¶ÔVisual C++µÄÃÍÁÒ¹¦ÊÆ¡£ÊÂʵ
Éϵ±Ê±µÄBorlandÈç¹ûÄÔ´üÇåÐÑÒ»µã£¬ºÃºÃ¿´Ç嵱ʱC/C++¿ª·¢¹¤¾ßµÄÊг¡£¬ÄÇô
BorlandÓ¦¸Ã»á·¢ÏÖËäÈ»Visual C++¾­¹ý2Äê¶àµÄÕû¾ü¾­Î䣬ʵÁ¦ÒѾ­´ó²»Ç°¡£²»¹ý
Borland C/C++ 3.1ÈÔÈ»ÔÚÐí¶à·½Ãæ¿ÉÒÔºÍVisual C++Ò»Õù³¤¶ÌµÄ¡£ÀýÈçÆäʱ
Visual C++µÄ×î¼Ñ»¯±àÒëÆ÷ÈÔÈ»ÂäºóBorland C/C++ 3.1һЩ£¬µÚ2µãÊÇMFCÈÔȻû
ÓÐÍêÕûµÄ·â×°Window API£¬¶øÇÒMFCÊÇÒԽϵͽ׵ķ½Ê½·â×°Window API£¬²¢²»ÊǺÜ
¶ÔÏóµ¼Ïò£¬Ò²²»ÊǺÜÈÝÒ×ʹÓá£ÊÂʵÉÏÒÔÎҵĹ۵ãÀ´¿´£¬ÎÒÈÏΪ¾ÍÊÇÒòΪMFC²»ºÃ
Óã¬Òò´ËVisual C++²ÅÐèÒªÔÚÕûºÏ·¢Õ¹»·¾³ÖÐÌṩÒÔ¿ÉÊÓ»¯·½Ê½²úÉúMFC³ÌÐò´úÂë
µÄ¹¦ÄÜ£¬µÚ3ÊÇVisual C++µ±Ê±²¢Ã»Óкܺõķâ×°Êý¾Ý½á¹¹µÄContainer Class£¬¶ø
Borland C/C++È´Óзdz£ºÃÓõÄBIDSÀà±ð¿â¡£µÚ4£¬Ò²ÊÇ×îÖØÒªµÄ£¬Borland
C/C++ 3.1ÈÔȻӵÓоø´óµÄÊг¡£¬¶øÇÒ¼¸ºõËùÓеÄÍâΧ¹«ÓóÌÐò£¬SharewareµÈ¶¼ÊÇ
ʹÓÃBorland C/C++ 3.1¿ª·¢µÄ¡£Òò´ËÈç¹ûBorland²»Òª¼±£¬ºÃºÃµÄ¿ª·¢ÏÂÒ»´úµÄ
C/C++¿ª·¢¹¤¾ß£¬¼´Ê¹Microsoft Visual C++Äܹ»ÂÓ¶áһЩÊг¡Õ¼ÓÐÂÊ£¬µ«ÊÇÈç¹û
ÏÂÒ»´úµÄBorland C/C++Äܹ»ÏñBorland C/C++ 3.0Ò»ÑùÁ¢¿ÌÀ­¿ªºÍVisual C/C++µÄ
¾àÀ룬ÄÇôBorlandÔÚC/C++Êг¡ÈÔ½«ÓµÓÐÍõÕߵĵØÎ»¡£
¿ÉϧµÄÊÇ£¬Ò²ÐíPhilippe KahnÔÚºÍMicrosoftµÄFoxPro For WindowÒ»ÒÛÖб»Ïŵ½
ÁË£¬Òò´Ë¼±ÓÚÔÚVisual C/C++ 1.0Ö®ºóÁ¢¿ÌÍÆ³öеÄBorland C/C++ÒȯÑÕÃæ¡£
µ«ÊÇPhilippe KahnÍüÁË£¬ÔÚÕâ¶Îʱ¼äÖ®ÄÚBorlandʧȥÁËÐí¶àµÄÈ˲ģ¬Eugene
WangÒ²À뿪ÁË£¬¸üÖØÒªµÄÊÇÔÚ¹ýÈ¥½ü3ÄêµÄʱ¼äÖ®ÄÚ£¬Borland¼¸ºõûÓгÖÐøµÄ¿ª·¢
ÏÂÒ»´úµÄBorland C/C++£¬ÔÚ¶Ìʱ¼äÖ®ÄÚÈçºÎÄܹ»²Ö´ÙµÄÍÆ³ö²úÆ·ÄØ?
µ«ÊÇPhilippe Kahn¿É¹Ü²»ÁËÕâô¶àÁË£¬¼±Ã¦ÕÒÀ´ÁËCarl QuinnµÈÈ˱ãÒªÇóÁ¢¿Ì¿ª
·¢³öÏÂÒ»´úµÄBorland C/C++£¬ÓÚÊÇBorland C/C++ 4.0¾ÍÔÚÕâôѼ×Ó¸ÏÉϼÜÏ´Òæ
µÄ¿ª·¢ÁË¡£BorlandÔÚ¿ª·¢Borland C/C++ 4.0ʱ·¸ÁËÐí¶àµÄ´ó¼É¡£Ê×ÏÈÔÚÕâô¶ÌµÄ
ʱ¼äÄÚBorland¾ö¶¨È«Ð·¢Õ¹ÕûºÏ·¢Õ¹»·¾³£¬µÚ2ÊǰÑOWLÍêÈ«ÖØÐ´£¬µÚ3ÊÇ´ó·ùÐÞ¸Ä
×î¼Ñ»¯±àÒëÆ÷£¬µÚ4ÊÇÕûºÏµ±Ê±¼¬ÊÖµÄVBX£¬Borland¾ÓÈ»ÈÃ16λºÍ32λµÄ³ÌÐòÄܹ»
ͬʱʹÓÃ16룬³óªµÄVBX¡£
ÉÏÃæËù˵µÄÿһÏî¶¼ÊǴ󹤳̣¬BorlandÔçÓ¦¸ÃÔÚBorland C/C++ 3.1Ö®ºó±ã¿ªÊ¼×ö
ÕâЩ¹¤×÷£¬ÏÖÔÚÒªÔڶ̶̵ÄÒ»Äê¶àµÄʱ¼äÄÚÖØÐ¿ª·¢Ò»¸öÕâô¸´ÔÓµÄC/C++¿ª·¢¹¤
¾ß£¬¼¸ºõÊDz»¿ÉÄܵŤ×÷¡£µ«ÊÇÔÚPhilippe KahnµÄÒªÇó֮ϣ¬ÕâЩBorlandµÄ¹¤³Ì
ʦ»¹ÊÇÓ²×ÅͷƤ×öÁ˳öÀ´¡£
²»¹ýÎÒ±ØÐëºÜ³ÁÍ´µÄ˵£¬µ±Ê±ÎÒÔÚBeta²âÊÔBorland C/C++ 4.0ʱ±ãºĮ́Íå
BorlandµÄÈË˵£¬Èç¹ûBorland²Ö´ÙÍÆ³öBorland C/C++ 4.0µÄ»°£¬ÄÇô²»µ«²»»á¶Ô
Visual C++²úÉúÈκεÄÓ°Ï죬·´¶øÊÇ×ÔɱµÄÐÐΪ£¬ÒòΪ³ô³æÊµÔÚÌ«¶àÁË£¬Õû¸öÕûºÏ
·¢Õ¹»·¾³µÄ·´Ó¦Ò²ºÜ»ºÂý£¬ËüµÄ×î¼Ñ»¯±àÒëÆ÷¸üÊÇЦ»°£¬´íÎó°Ù³ö£¬ÕæÊÇÏñµ±Ê±¶ñ
ÃûÕÑÕõÄMicrosoft C 4.0Ò»Ñù¡£ÎÒ»¹¿ªÍæÐ¦µÄ˵£¬ÊDz»ÊÇÒòΪMicrosoft´Ó
BorlandÍÚÁË´óÁ¿µÄBorland C/C++È˲ţ¬Òò´ËºÃʤµÄPhilippe KahnÒ²»¹ÒÔÑÕÉ«£¬
´ÓMicrosoft·´ÍÚMicrosoft CµÄÈË£¬È´²»ÐÒµÄÍÚµ½ÁËMicrosoft C 4.0µÄÈË¡£
µ«ÊǺÜÏÔÈ»µÄBorland²¢Ã»ÓÐÌýµ½Îҵ쬻òÊÇÆäËüBeta²âÊÔÈ˵ÄÐÄÉù£¬ÔÚVisual
C++ 1.0ÍÆ³öºóµÄ1Äê¶à£¬Borland C/C++ 3.1ºóµÄ4Ä꣬BorlandÖÕÓÚÍÆ³öÁËÐÂÒ»´ú
µÄBorland C/++ 4.0£¬Õâ¸ö¼ç¸ººÍVisual C++ 1.0¶Ô¿¹µÄC/C++¿ª·¢¹¤¾ß¡£
ÔÚBorland C/C++ 4.0 µ±Ê±ËùÓÐÖØÒªµÄ¼ÆËã»úÔÓÖ¾Ö £¬ÀýÈçByte£¬PC Magazine£¬Dr. B
obµÈµÈ£¬¶¼ÓÐ4.0Õ
Ò³µÄ¹ã¸æ¡£Õâ¸ö¹ã¸æµÄÄÚÈÝÊÇÒÔÒ»¸ö¾Þ´óµÄèͷӥΪÖ÷£¬ÔÙ´îÅäÀ¶É«
µ×ɫϵµÄ
Borland C/C++ 4.0ΪÖ÷£¬Ñ¡Óþ޴óµÄèͷӥµ±È»ÊÇÒòΪOWLµÄÔ­Òò£¬Ö»¿ÉϧÎÒÏÖÔÚ
ÕÒ²»µ½ÄÇ·ù¹ã¸æÁË¡£
ʹʧ½­É½µÄBorland C/C++ 4.0
µ±Ê±BorlandʹÓÃÁËÈçÏÂµÄ¹ã¸æÓôʠ:
¡ºVisual Is Only A Facial Facade¡»
À´·í´ÌVisual C/C++Ö»ÌṩÁ˲úÉúMFC³ÌÐò´úÂëµÄ»ù±¾¾«Á飬¶øBorland³ýÁËÒ²Ìṩ
Ïà¶ÔÓ¦µÄAppExpert¾«ÁéÄܹ»ÌṩÀàËÆµÄ¹¦ÄÜÒÔ²úÉúʹÓÃÕßÑ¡ÔñµÄOWL³ÌÐò´úÂëÖ®Íâ
£¬Borland C/C++ 4.0µÄÕûºÏ·¢Õ¹»·¾³»¹ÌṩÁË¿ÉÊÓ»¯µÄ3Ãæ°æ´°¿Ú£¬Äܹ»ÈóÌÐòÔ±
ÍêÕûµÄÕÆÎÕÕû¸öÏîÄ¿µÄÇéÐΡ£
ÀýÈçÔÚÏÂͼÖбãÊǵ±³õÁîÈËÑÛ¾¦ÎªÖ®Ò»ÁÁµÄAppExpert£º
»¹¼ÇµÃBorlandÌṩµÄAppExpertÂð?
ÏÂͼÔòÊǵ±Ê±Borland C/C++µÄ×¢²áÉ̱꣬3Ãæ°æ´°¿Ú¿ª·¢»·¾³¡£¿´µ½ÏÂͼÓÖÁîÎÒÏë
Æðµ±³õʹÓÃC/C++д³ÌÐòµÄÈÕ×Ó£¬Ï·½³ÌʽÂëÃæ°æÇå³þµÄÏÔʾÁËÎÒÔÚ1995ÄêÓÚ¶¦ÐÂ
¹¤×÷ʱдµÄÖÇÄÜÐÍWindowÅųÌϵͳ£¬Ê±¼ä¹ýµÃÊÇÕæ¿ì°¡¡£
ÁîÈË»³ÄîµÄBorland C/C++ 4.0ÕûºÏ·¢Õ¹»·¾³£¬ÈýÃæ°æ´°¿Ú
µ±Ê±Borland C/C++ 4.0µÄ3Ãæ°æÕûºÏ·¢Õ¹»·¾³ÕæÊÇ¿ª´´ÁËÒ»¸öеľÖÃæ£¬ÒòΪÕâ¸ö
ÕûºÏ·¢Õ¹»·¾³ÔÊÐí³ÌÐòÔ±ÖªµÀÿһ¸öÓ¦ÓóÌÐò¶¨ÒåµÄ´°¿ÚѶϢ£¬²¢ÇÒÄܹ»Á¢¿ÌµÄÏÔ
ʾÔÚÏ·½µÄ³ÌÐò´úÂë´°¿ÚÖУ¬µÄÈ·ÊǷdz£µÄ·½±ã£¬Ò²±Èµ±Ê±Visual C/C++µÄÕûºÏ·¢
Õ¹»·¾³À´µÃÏȽø¡£ÔÙ¼ÓÈëBorland½ÏΪÏȽøµÄ±àÒëÆ÷¼¼ÊõºÍ¼Ü¹¹¸üºÃµÄC/C++
Framework-OWL£¬ÕÕÀí˵Borland C/C++ 4.0Ó¦¸Ã»á»ñµÃ¼«´óµÄʤÀû£¬ÄÇôΪʲô×î
ºó»áÒÔʧ°ÜÊÕ³¡ÄØ£¿
û´í£¬ÔÚBorland C/C++ 4.0¸ÕÍÆ³öÖ®ºó¶©µ¥µÄÈ·ÈçѩƬ°ã·ÉÀ´£¬ÏúÊÛÇéÐηdz£ºÃ
£¬ÒòΪÕâ±Ï¾¹ÊÇBorlandÔÚî¥Î¥ÁËÊýÄêÖ®ºóµÄ´ó×÷£¬Ðí¶àBorlandµÄÓû§¶¼ÆÈ²»¼°´ý
µÄÉý¼¶£¬¾ÍÏñµ±³õÎÒÒ²ÊÇÞÕÃüµÄÒªÇǫ́ÍåBorlandÒªµÚÒ»¸ö¸øÎÒBorland C/C++ 4.
0¡£µ«ÊÇÔÚBorland C/C++ 4.0ÍÆ³öÒ»¶Îʱ¼äÖ®ºó£¬Êг¡µÄ·´Ó¦¾Í¼±ËÙµÄÀäÈ´ÏÂÀ´£¬
ÒòΪ¸÷ÖÖ¸ºÃæµÄÅúÆÀ²»¶ÏÓ¿ÏÖ£¬ÕâÖ÷ÒªµÄÔ­Òòµ±È»ÊÇÒòΪBorland C/C++ 4.0µÄÆ·
ÖÊʵÔÚ²»ºÃ£¬¾ÍÏñÇ°ÃæÎÒÔÚBeta²âÊÔʱ˵µÄ£¬ÓÉÓÚBorlandÌ«¼±ÓÚÍÆ³ö4.0£¬Òò´Ë²¢
ûÓÐÔÚ×îºó½×¶ÎÐÞÕýÐí¶àµÄ´íÎó£¬ÓÖûÓо­¹ý×îºóϵͳ΢µ÷µÄ¹¤×÷£¬ÓÖÌ«´óµ¨µÄ¼Ó
ÈëÌ«¶àÏȽøµÄ¼¼Êõ£¬Ôì³ÉÁËÕû¸ö²úÆ·µÄ²»Îȶ¨£¬¶øÔì³ÉÁË´ó´í¡£ÏÂÃæ¼¸µãÓ¦¸ÃÊÇÔì
³Éµ±³õBorland C/C++ 4.0»¬Ìú¬µÄÖ÷ÒªÔ­Òò£º
*ÕûºÏ·¢Õ¹»·¾³·½Ãæ-³ô³æÌ«¶à£¬ÈÝÒ×µ±µô¶øÇÒ·´Ó¦ËÙ¶È»ºÂý
*±àÒëÆ÷·½Ãæ-×î¼Ñ»¯ÍæµÃ¹ý»ð£¬²úÉú´íÎóµÄ±àÒë³ÌÐò´úÂë
*OWL·½Ãæ-²ÉÓÃȫеĶàÖØ¼Ì³Ð¼Ü¹¹£¬ËäÈ»ÊÇÕýÈ·µÄ×ö·¨£¬È´ºÍBorland C/C++ 3.
1ÖеÄOWL²»¼æÈÝ£¬Ôì³ÉÐí¶à³ÌÐòÔ±ÎÞ·¨Éý¼¶C/C++ÏîÄ¿
*VBX·½Ãæ-´óµ¨µÄ²ÉÓÃÔÚ16/32λ¶¼ÄÜʹÓÃVBXµÄ¼¼Êõ£¬Ôì³ÉһЩVBXÎÞ·¨Ë³ÀûµÄÔÚ
Borland C/C++ 4.0ÖÐʹÓÃ
ÎÒÏëÆäÖÐ×î¿ÉϧµÄ¾ÍÊÇOWLÁË£¬ÒòΪOWL 2.0ÔÚ¸÷·½Ãæ¶¼ÓÐÒ»Á÷µÄ±íÏÖ£¬ÊµÔÚÊÇMFC
Ç¿¾¢µÄ¾ºÕù¶ÔÊÖ£¬OWL 2.0Ò²»ñµÃÁ˸÷·½Ò»ÖµĿ϶¨ºÍ³ÆÔÞ¡£ÎÞÄεÄÊÇÓÉÓÚOWL 2.
0×öÁË´Ó»ù±¾¼Ü¹¹µÄ¸Ä±ä£¬ÕâÊÇΪÁ˽â¾öµ±³õOWL 1.xʹÓÃÁ˲»±ê×¼µÄC/C++±àÒëÆ÷
¼¼ÊõµÄÎÊÌ⣬µ«ÊÇÕâÔì³ÉÁËÔ­±¾Borland C/C++³ÌÐòÔ±¼«´óµÄÀ§ÈÅ£¬ÒòΪÉý¼¶²»Ò×
¡£¶ÔÓÚеÄC/C++ʹÓÃÕßÀ´ËµÓÖÒòΪBorland C/C++ 4.0±¾Éí²»Îȶ¨µÄÒòËØ¶øÈ´²½£¬
Òò´ËÔì³ÉÁËOWL 2.0½ÐºÃ²»½Ð×ùµÄϳ¡£¬ÕæÊÇ¿ÉϧÁË OWLС×éµÄŬÁ¦¡£
ÎҼǵõ±Ê±ÎÒµÄÏîÄ¿ÓÐʹÓÃFarPointµÄSpreadSheet VBX×é¼þ£¬ÓÉÓÚÒ»Ö±ÎÞ·¨Ë³Àû
µÄÔÚBorland C/C++ 4.0ÖÐʹÓ㬲¢ÇÒ»áÔì³ÉÓ¦ÓóÌÐòµÄµ±µô£¬×îºó×·×ÙÖ´ÐгÌÐò
´úÂëÈ´·¢ÏÖÓ¦¸ÃÊÇBorland C/C++ 4.0µÄÎÊÌ⣬Òò´Ë×îºóÖ»ºÃÔÚÖäÂîÖÐ·ÅÆúʹÓÃ4.
0£¬¶ø»Øµ½Borland C/C++ 3.1¡£ÎÒµ±Ê±Ï룬¶ÔÓÚÎÒÕâ¸ö³¤ÆÚʹÓÃBorland²úÆ·µÄÈË
¶¼ÎÞ·¨ÈÌÊÜ4.0µÄÆ·ÖÊ£¬ÆäËüµÄ³ÌÐòÔ±ÓÖÔõÄÜʹÓÃÕâ¸ö²úÆ·¡£ÎÒÏëÕâ¾ÍÊÇΪʲôºó
À´4.0È«ÃæÀ£°ÜµÄÔ­Òò£¬ÒòΪBorlandÍÆ³öÁ˸ù±¾²»¿°ÓõIJúÆ·¡£
ÔÚÎÒÓÚBorland¹¤×÷µÄʱ¼ä£¬ÓÐÒ»´ÎÔÚÐÂ¼ÓÆÂºÍÏÖÔÚBorland¿ª·¢Õß¹ØÏµ²¿Ãŵĸ±×Ü
²ÃDavid Intersimone̸ÆðÕâÒ»¶ÎÍùÊ£¬DavidÒ²ºÜ¸Ð¿®ÕâÒ»¶ÎÍùÊ£¬DavidÖ±ºô¡º
We screwed it up!¡»£¬¡ºIt's a mess¡»¡£David²¢ÇÒ˵µ±Ê±Õû¸öBorland C/C++¿ª
·¢Ð¡×é¶¼ºÜ»ìÂÒ£¬ºÍÒÔÍùBorland C/C++ 3.0/3.1µÄ¿ª·¢Ð¡×é±ÈÆðÀ´ÊµÔÚÊDzîÌ«¶à
ÁË£¬³ýÁËÒòÎªÒ»Ð©ÖØÒªµÄÈËÎïÏà¼ÌÀ뿪Borland£¬¶øÇÒMicrosoftÒ²ÍÚ×ßÒ»´óƱÈËÖ®
Í⣬Philippe KahnµÄÖ±½Ó½éÈ룬Ôì³ÉÈËʲ»ºÍÒ²ÓкܴóµÄÔ­Òò¡£
David I.˵¡ºWe Screwed it up!¡» £¬¡ºIt's a mess¡»
ÔÚBorland C/C++ 4.0¿ìËÙʧÀûÖ®ºó£¬BorlandÒ²ÌåÈϵ½ÎÊÌâµÄÑÏÖØÐÔ£¬Òò´ËÁ¢¿ÌµÄ
×ÅÊÖ¿ª·¢Borland C/++ 4.0µÄPatch£¬µ±Ê±ÊdzÆÎªService Pack¡£µ«ÊÇÔÚÉÔºóµÄ4.
01°æÖв¢Ã»ÓÐÍêÈ«µÄ½â¾öÎÊÌ⣬һֱҪµ½4.02²ÅÉÔΪ½â¾öһЩÑÏÖØµÄÎÊÌ⣬ÎÞÄÎʱ
²»ÎÒÓ裬ÍϵÄʱ¼äÌ«³¤£¬Êг¡ÒѾ­ÆðÁ˾޴óµÄ±ä»¯¡£
ÔÚBorland C/C++ 4.0ʧÀûÖ®ºó£¬Á¢¿ÌÔì³ÉÁËÑÏÖØµÄºó¹û£¬Ê×ÏÈÊÇBorland C/C++µÄ
Êг¡´óÁ¿ÇÒ¿ìËÙµÄÁ÷ʧ£¬ÈÃVisual C/C++¿ìËٵijɳ¤¡£µÚ¶þµãÊǵ±³õBorland
C/C++ 3.1ÔÚ¹«ÓóÌÐòÊг¡´òϵĽ­É½Ò²¹°ÊÖÈÃÈË£¬Ô­±¾Ðí¶àÓ²¼þ³§ÉÌҲʹÓÃ
Borland C/C++ 3.0/3.1׫дÇý¶¯³ÌÐòÒ²¿ªÊ¼×ª»»µ½Visual C/C++£¬¶øÑÏÖØµÄÊÇÔÚ
Ó¦ÓóÌÐòÊг¡·½ÃæÓÉÓÚ4.0µÄÆ·ÖÊÒÔ¼°ÉÔºóOLEµÄ¹ØÏµ£¬Ò²¿ªÊ¼´óÁ¿µÄ¿ªÊ¼×ªÎªÊ¹ÓÃ
Visual C/C++À´×«Ð´Ó¦ÓóÌÐò¡£
BorlandÔÚ3¸öÖ÷ÒªµÄÓ¦ÓÃÊг¡½ÓÁ¬°ÜÍË£¬C/C++µÄ½­É½×¢¶¨½«Ò×Ö÷£¬ÆäÊÆÒѲ»¿ÉÍì
¡£
Borland C/C++£¬Visual C/C++£¬Watcom C/C++ºÍSymantec C/C++µÄ²ø¶·
×ÔBorland C/C++ 4.0Ò»ÒÛ´ó°ÜÖ®ºó£¬BorlandÔÚC/C++Êг¡ÉϽ¨ÖþµÄ¾Þ´ó±¤ÀÝËÆºõ
ÔÙÒ²²»ÊÇÀβ»¿ÉÆÆÁË¡£Visual C/C++¹ÌÈ»ÔÚ²»¶ÏµÄ½ÓÊÕBorland C/C++ʧȥµÄÊг¡
£¬´ËʱÔÚC/C++Êг¡ÉÏÒ²¼ÓÈëÁËÁíÍâÁ½¸ö¼áÇ¿µÄ¶ÔÊÖ£¬ÄǾÍÊÇSymantec C/C++ºÍ
Watcom C/C++¡£
Symantec C/C++µÄ·¢Õ¹Ê·
˵ÆðÕâÁ½¸ö¶ÔÊÖÒ²¶¼ÊǸö¸öÀ´Í·²»Ð¡£¬ÏÈ˵Symantec C/C++°É¡£ËüµÄThink C/C++
ÔÚMacintoshÉϱãÊǷdz£ÓÐÃûµÄ±àÒëÆ÷£¬Òò´ËÔçÔÚC/C++ÁìÓò±ãÓÐÉîºñµÄ»ù´¡¡£ÔÚ
Symantec²¢¹ºÁËPCÉϵÚÒ»¸öC/C++±àÒëÆ÷Zortech C/C++Ö®ºó£¬Symantec½øÈëPCµÄ¿ª
·¢¹¤¾ßÊг¡Ò²ÊǼýÔÚÏÒÉÏÁË£¬Ö»¿ÉϧµÄÊÇÆäʱSymantec»¹Î´ÕÒµ½Ò»¸öÔÚPCÉÏÓзḻ
¾­ÑéµÄ¿ª·¢¹¤¾ßÁìµ¼Õß¡£
Ò²ÐíÊÇÉÏÌì×¢¶¨ÒªÒýÆðÉÔºóµÄC/C++±àÒëÆ÷´óÕ½°É£¬´ËʱBorland C/C++ 3.1µÄÄ»ºó
Ö§ÖùEugene Wang¸ÕºÃºÍPhilippe KahnÄÖ·­£¬À뿪ÁËBorland¡£Symantec¼û´Ëʱ²»
¿Éʧ£¬Á¢¿ÌÖØ½ðÑÓÀ¿Eugene Wangµ½Symantec£¬ÎªSymantecÍÆ³öµÚÒ»¸öC/C++¿ª·¢¹¤
¾ß¡£ÔÚ1993Äê×óÓÒ°É£¬Symantec C/C++ÔÚEugene WangµÄÕÆ¶æÖ®ÏÂÍÆ³öÁ˵ÚÒ»¸ö
Symantec C/C++°æ±¾£¬Á¢¿Ì±ã»ñµÃÁËÊг¡µÄºÃÆÀ¡£×Ô´ËÖ®ºóSymantec C/C++¾üÐÄ´ó
Õñ£¬²»¶ÏµÄ¼ÌÐø¸ÄÉÆ£¬Ò²Ö𽥵ĻñµÃÁ˲»Ð¡µÄC/C++Êг¡£¬ÒþÈ»³ÉΪ¿ÉÒÔ¶Ô¿¹
Borland C/C++£¬Visual C/C++µÄÁíһɽͷ¡£µ±Ê±Symantec C/C++ÊÇÒÔ×Àö£¬ÏÈ
½øµÄÕûºÏ·¢Õ¹»·¾³»ñµÃÊг¡µÄ¸ß¶ÈÈÏͬ£¬ÔÚC/C++±àÒëÆ÷×î¼Ñ»¯·½ÃæµÄ±íÏÖÒ²²»»á
Ê䏸ÆäËüµÄ±àÒëÆ÷¡£
µ±Ê±ÎÒÔÚRUN!PCÉÏдC/C++µÄÎÄÕ£¬Òò´ËSymantec C/C++Ò²ÓкÍÎÒÁ¬Â磬²¢ÇÒË͸ø
ÎÒÒ»Ì××î¸ßµµµÄSymantec C/C++£¬Ï£ÍûÎÒ³ýÁËΪBorlandдC/C++µÄÎÄÕÂÖ®Í⣬ҲÄÜ
¹»ÎªSymantec C/C++дһЩ¶«Î÷£¬ÎÒÏëÕâ¾ÍÊÇ×öΪд¼¼ÊõÎÄÕµÄÒ»¸öºÃ´¦Ö®Ò»£¬ÄÇ
¾ÍÊÇ¿ÉÒÔÄõ½Ðí¶à×îHotµÄ¿ª·¢¹¤¾ß¡£ÎÒ»¹¼ÇµÃÔÚµ±Ê±°²×°Symantec C/C++Ö®ºó£¬
µÄÈ·±»ËüµÄÕûºÏ·¢Õ¹»·¾³ÎüÒýµÄ˵²»³ö»°À´£¬ÒòΪʵÔÚÊÇÌ«°ôÁË£¬Borland C/C++
ºÍVisual C/C++µÄÕûºÏ·¢Õ¹»·¾³ºÍSymantec C/C++µÄÕûºÏ·¢Õ¹»·¾³±È½ÏÆðÀ´£¬Á¢¿Ì
µÄ¾Í±ä³ÉË÷È»ÎÞζ£¬Æ½·²ÎÞÆæÁË£¬µ½ÏÖÔÚÎÒÈÔÈ»±ØÐëÊúÆð´óÄ´Ö¸¶ÔSymantec
C/C++µÄÕûºÏ·¢Õ¹»·¾³ËµÉù¡ºÔÞ¡»¡£ÎÒÏëEugene WangÔÚÕâô¶ÌµÄʱ¼äÄÚ°ÑSymantec
 C/C++´òÔìµÄºÃ´ËÖ®ºÃ£¬³ýÁËÖ¤Ã÷ËûµÄ²»·²¹¦Á¦Ö®Í⣬ҲÓÐÏòPhilippe Kahnʾ¾¯
µÄÒâ˼¡£Ö¤Ã÷Philippe KahnÈÃËûÀ뿪BorlandÊÇ´íÎóµÄ¾ö¶¨¡£ÎÒÖ®ËùÒÔÈç´Ë˵ÊÇÒò
ΪÆäʱSymantec C/C++×îϲ»¶µãÃûÌôÕ½µÄ¶ÔÏó±ãÊÇBorland C/C++ÁË¡£
¶ÔÎҵĸоõ¶øÑÔ£¬Symantec C/C++¾ÍÏñÊÇÒ»¸ö¼¼ÒÕ¾«Á¼£¬ÓÖ×°±¸»ªÀöµÄC/C++¾üÍÅ
¡£
Watcom C/C++µÄ·¢Õ¹Ê·
ÕæÊǷdz£ÓÐȤµÄÊÇ£¬Watcom C/C++×ߵķ×ÓºÍSymantec C/C++¼¸ºõÊÇÍêÈ«Ïà·´µÄ¡£
µ±Ê±³öÆ·Watcom C/C++±àÒëÆ÷µÄÊÇÒ»¼Ò¼ÓÄôóµÄС¹«Ë¾£¬²»¹ýÕâ¼Ò¹«Ë¾È´¶Ô×î¼Ñ»¯
±àÒëÆ÷ÓÐÉîÈëµÄÑо¿¡£µ±Ê±Watcom C/C++ÊÇÒÔÔÚDOSÏÂÄܹ»²úÉú×îºÃµÄ×î¼Ñ»¯³ÌÐò
´úÂëÎÅÃûÓÚÊÀµÄ£¬ÔÚÆäʱÓÐÐí¶àдÓÎÏ·ºÍDOS ExtenderµÄ³§É̶¼ÊÇÖ¸ÃûҪʹÓÃ
Watcom C/C++£¬ÒòΪ²»ÂÛÊÇBorland C/C++»òÊÇVisual C/C++²úÉúµÄ×î¼Ñ»¯³ÌÐò´ú
Âë¶¼±ÈWatcom C/C++µÄ×î¼Ñ»¯³ÌÐò´úÂë²îÉÏÒ»½Ø¡£ÔÙ¼ÓÈ뵱ʱ×îÓÐÃûµÄDOS
Extender³§ÉÌPharLap¹«Ë¾Ò²ÊÇʹÓÃWatcom C/C++£¬Òò´ËWatcom C/C++ÔÚרҵµÄ
C/C++³ÌÐòÔ±ÒÔ¼°ÏµÍ³³ÌÐòÔ±ÐÄÖÐÊǵÚÒ»Æ·ÅÆµÄC/C++¿ª·¢¹¤¾ß¡£
²»ÖªµÀ»¹ÓжàÈ˼ǵÃPharLapÕâ¼Ò¹«Ë¾£¬»òÊÇÓÐûÓÐÈ˼ǵÃAndrew SchulmanÕâλΰ
´óµÄÈí¼þ¼¼ÊõÈËÔ±¡£µ±Ê±Andrew SchulmanµÄUndocumented WindowsÒ»Êéºì±éÁ˰ë
±ßÌ죬ҲÈǵÃMicrosoftÒª¸æAndrew Schulman¡£¶øAndrew Schulman±ãÊÇPharLap¹«
˾µÄÊ×ϯ¹¤³Ìʦ£¬Ò²Êǵ±Ê±×îÖøÃûµÄ¡ºThe ANDREW SCHULMAN Programming
Series¡»µÄ×ܼ࣬ÀýÈ統ʱÓÉMatt Pietrek׫дµÄWindows InternalsÒ²ÊǺ䶯һ
ʱµÄ¾ÞÖø¡£¶øPharLap¹«Ë¾Êǵ±Ê±³ö°æDOS ExtenderÈí¼þ×î³É¹¦µÄÈí¼þ¹«Ë¾¡£
̸µ½Matt Pietrek£¬ÊìϤWindow ProgrammingµÄÈËÓ¦¸ÃºÜÉÙÓв»ÖªÕâλ´óʦ¼¶ÈËÎï
µÄ¡£Matt³¤ÆÚÔÚMicrosoft System Journal׫дUnder The HoodרÀ¸£¬×¨ÃÅдһЩ
ÉîÈëϵͳµÄ³ÌÐòÉè¼Æ¼¼Êõ£¬ÔÚÊýÄêǰ±ãºÍAndrew Schulman£¬David Maxey³ÉΪ
Widow System ProgrammingµÄÈý´ó¾ÞÍ·Ö®Ò»¡£MattÒ²ÊÇÖøÃûµÄWindow³ý´í¹¤¾ß
SoftIce£¬BoundsCheckerµÄÖ÷ÒªÑз¢¹¤³Ìʦ¡£Matt±¾ÉíÒ²ÊÇ´ÓBorland³öµÀµÄ£¬µ±
Matt³õÖÁBorland¹¤×÷ʱ±ãÊÇÔÚTurbo DebuggerС×éÖÐÑз¢³ý´í¹¤¾ß¡£µ±Ê±
BorlandµÄTurbo DebuggerÊÇDOSÏÂ×îÇ¿µÄ³ý´í¹¤¾ß£¬¼´Ê¹ÊÇMicrosoftÒ²ÎÞ·¨ÍƳö
Äܹ»ºÍTurbo Debugger¿¹ºâµÄ³ý´í¹¤¾ß¡£MattÔÚÕâ¸öС×éÖÐÎüÊÕÁË´óÁ¿µÄ֪ʶ£¬²¢
ÇÒ¿ìËٵijÉΪÕâ¸öÁìÓòµÄר¼Ò¡£ºóÀ´Turbo DebuggerС×éµÄ²¿·Ý³ÉÔ±±»Microsoft
ÍÚ×ߣ¬ÈÃMicrosoftÕÆÎÕÁËBorlandµÄºËÐijý´í¼¼Êõ£¬ÒÔÖºóÀ´Ò²Äܹ»ÍƳö²»´íµÄ³ý
´í¹¤¾ß¡£¶øMattÒ²³ö×ßµ½NuMega¹«Ë¾³ÉΪ¿ª·¢SoftIce£¬Bounds CheckerµÄ¹Ø¼üÈË
Îдµ½ÕâÀﻹÊDz»½ûÒªÅå·þBorland£¬ÒòΪµ±½ñÐí¶àÃûÂúÌìϵÄÖØÁ¿¼¶Èí¼þ¹¤³Ì
ʦ¶¼ÊÇÓÉBorlandÅàÑø³öÀ´µÄ¡£
ÔÚWatcom C/C++ÓÚDOSÊг¡Õ¼ÎÈÁ˽Ų½Ö®ºó£¬ÓÉÓÚWindowÒѾ­Öð½¥³ÉΪÊг¡µÄÖ÷Á÷
£¬DOSÊÆ±Ø½«±»Öð½¥ÌÔÌ­³ö¾Ö£¬Òò´ËWatcom C/C++Òª¼ÌÐøµÄÉú´æÏÂÈ¥£¬Ò²Ò»¶¨ÒªÍÆ
³öWindowƽ̨µÄC/C++¿ª·¢¹¤¾ß¡£´óÔ¼Ò²ÊÇÔÚ1993£¬1994Äê×óÓÒWatcomÖÕÓÚÍÆ³öµÚ
Ò»¸öWindowµÄ¿ª·¢¹¤¾ß¡£
²»¹ýµ±Ê±Watcom C/C++ÔÚWindowÍÆ³öµÄC/C++¿ª·¢¹¤¾ßʵÔÚÊÇÆ½·²²»ÒÑ£¬ÆäÕûºÏ·¢
Õ¹»·¾³ºÍÁíÍâÈý¸ö¶ÔÊÖ±È½ÏÆðÀ´¼òÖ±ÏñÊÇÔ¶¹ÅµÄ²úÆ·£¬Ò»µãÌØÉ«¶¼Ã»ÓУ¬²»¹ý
Watcom C/C++ÈÔÈ»ÊÇÒÔËüµÄ×î¼Ñ»¯±àÒëÆ÷×öΪºÅÕÙ¡£Òò´ËÔÚµ±Ê±·¢ÉúÁËÒ»¸ö·Ç³£ÓÐ
ȤµÄÏÖÏó£¬ÄǾÍÊÇÐí¶àÈí¼þ¹«Ë¾»áͬʱÂòBorland C/C++£¬»òÊÇVisual C/C++£¬
Symantec C/C++Ö®Ò»£¬ÔÙ´îÅäÒ»Ì×Watcom C/C++¡£ÔÚ¿ª·¢Ó¦ÓÃϵͳʱʹÓÃÆäËüÈýÌ×
¿ª·¢¹¤¾ßÖ®Ò»£¬×îºóÒª³ö»õʱÔÙʹÓÃWatcom C/C++À´±àÒëÒÔ²úÉú×î¼ÑµÄ³ÌÐò´úÂë¡£
ÔÚWatcom C/C++ÍÆ³öÁËWindowƽ̨µÄ¿ª·¢¹¤¾ßÖ®ºó£¬ÈÔÈ»ÎüÒýÁËһȺʹÓÃÕߣ¬ËäÈ»
Watcom C/C++µÄÊг¡±ÈÆðÆäËüµÄÈý¼ÒÀ´ËµÊÇ×îСµÄ£¬µ«ÊÇÒ²ÔÚÒ»·½³ÅÆðÁËһƬÌ죬
³ÉΪËÄ´óC/C++¿ª·¢¹¤¾ßÖ®Ò»¡£ÉÔºóWatcom C/C++±»Sybase²¢¹º£¬²¢ÇÒ³ÉΪºóÀ´
SybaseµÄOptima++µÄǰÉí¡£
¶ÔÎҵĸоõ¶øÑÔ£¬Watcom C/C++¾ÍÏñÊÇÒ»¸ö´©ÖøÆÓËØ£¬µ«ÊÇÈ´ÓµÓÐ×î¼ÑѵÁ·µÄ°×É«
C/C++¾üÍÅ¡£
¹Ø¼üµÄʱ¿Ì-MFC Or Not
ÔÚSymantec C/C++ºÍWatcom C/C++Öð½¥µÄÕ¾ÎÈÁ˽Ų½Ö®ºó£¬ËÄ´ó±àÒëÆ÷¾öÕ½µÄʱ¿Ì
Ò²Ö𽥱ƽüÁË¡£ÔÚ1994ÄêδµÄ¾öս֮ǰ£¬SymantecºÍWatcomÍ¬Ê±Ãæ¶ÔÁËÒ»¸ö·Ç³£ÑÏ
À÷µÄ¿¼Ñ飬ÄǾÍÊÇC/C++ FrameworkµÄÑ¡Ôñ¡£
ËäÈ»SymantecºÍWatcom¶¼ÒÔ¸÷×ÔµÄÌØÉ«Õ¼µÃÁËÊг¡£¬²»¹ýÔÚµ±Ê±¶ÔÓÚÒ»¸öC/C++¿ª
·¢¹¤¾ßÀ´Ëµ£¬×îÖØÒªµÄÒòËØÖ®Ò»¾ÍÊÇC/C++ Framework¡£Òò´ËSymantecºÍWatcomÒ²
¶¼±ØÐëÌṩʹÓÃÕßÒ»Ì×C/C++ Framework¡£²»¹ýÕâ¶ÔÓÚSymantecºÍWatcom¶¼ÊÇÒ»¸ö
ÄÑÒÔ½â¾öµÄÎÊÌ⣬ÒòΪµ±Ê±µÄC/C++ FrameworkÒÑÓÉBorlandµÄOWLºÍMicrosoftµÄ
MFCËùÕ¼Á죬Èç¹ûÒª×Ô¼º·¢Õ¹ÐµÄC/C++ Framework£¬ÄÇôSymantecºÍWatcom²¢Ã»ÓÐ
Èç´ËÐÛºñµÄ×ÊÔ´£¬Ò²ÎÞ·¨ÔÚ¶Ìʱ¼äÖ®ÄÚÍê³É¡£Òò´ËSymantecºÍWatcom±ØÐëÏÂÒ»¸ö¾ö
¶¨µ½µ×ÊÇҪʹÓÃMFC»òÊÇOWL×öΪËüÃǵĿª·¢¹¤¾ßC/C++ Framework¡£
ÔÚ1993Äê³õSymantecºÍWatcom·Ö±ðºÍMicrosoftǩԼLicense MFC×öΪËüÃǵĿª·¢¹¤
¾ßµÄC/C++ Framework¡£ÖÁ´Ë´óÊÆÒÔ¶¨£¬ÔÚC/C++ FrameworkµÄÊг¡ÒѾ­ÐγÉÈý¼Ò¼Ð
»÷Ò»¼ÒµÄÐÎʽ¡£µ±Ê±Ðí¶àÈ˱ãÔ¤¹ÀBorland½«³ÉΪÊä¼Ò£¬ÒòΪÊг¡ÒѾ­³ÉÎªÒ»Ãæµ¹
£¬MFC¿´ÆðÀ´ÒѾ­ÊÇʤȯÔÚÎÕÁË¡£ÔÚµ±Ê±ÓÚBorlandµÄÄÚ²¿Ò²Õ¹¿ªÁ˼¤ÁҵıçÂÛ£¬ÌÖ
ÂÛÊÇ·ñÒ²ÒªLicense MFC×öΪC/C++µÄFramework£¬Í£Ö¹¼ÌÐø¿ª·¢OWL¡£²»¹ýºóÀ´
Borland»¹ÊǾö¶¨¼ÌÐø¿ª·¢OWL£¬¶ø²»Ê¹ÓÃMFC£¬ÒòΪBorlandµÄC/C++¼¼ÊõС×éÈÏΪ
MFC²»ÂÛÊÇÔڼܹ¹ÉÏ»òÊÇÉè¼ÆÉ϶¼±È²»ÉÏOWL¡£¶øÇÒÓÉÓÚVisual C/C++ÔÚµ±Ê±¶ÔÓÚ
C/C++µÄ±ê×¼Ö§³Ö²»ÈçBorland C/C++£¬Òò´ËÔÚMFCÄÚ²¿Ê¹ÓÃÁË´óÁ¿µÄMacroÒÔ¼°²»±ê
×¼µÄÓï·¨£¬Òò´ËÈç¹ûBorland C/C++ҪʹÓÃMFC£¬ÄÇô»¹ÐèÒªÐ޸ıàÒëÆ÷À´±àÒëMFC
¡£
¶ÔÓÚÕâÒ»µãÎÒÈÏΪBorland»¹ÊÇ×öÁËÒ»¸öÕýÈ·µÄ¾ö¶¨£¬ÒòΪÈç¹ûµ±Ê±BorlandÒ²
License MFC£¬ÄÇô²»µ«ÔÚÆøÊÆÉϱãÊäÁËÒ»½Ø£¬¶øÇÒµ±MFCµÄ·¢Õ¹ÊÇÍêÈ«ÕÆÎÕÔÚ
MicrosoftµÄÊÖÀÄÇô¾ÍµÈÓÚ²±×ÓÊÇÆþÔÚ±ðÈ˵ÄÊÖÀ¶¯µ¯²»µÃÁË¡£¿ÉϧµÄÊÇ
SymantecºÍWatcom²¢Ã»Óп´ÇåÕâÒ»µã£¬ÒÔΪÓÐÁ˺ÍMicrosoftÒ»ÑùµÄFramework£¬¾Í
¿ÉÒÔÔÚÆäËüµØ·½ºÍMicrosoftÒÔ¼°BorlandÒ»¾ö´ÆÐÛ£¬SymantecºÍWatcomȴûÓÐÏë¾Í
ÊÇÕâÒ»µã¾ö¶¨ÈúóÀ´µÄ¾öÕ½Ò»°ÜÍ¿µØ£¬ÖÕ¾¿ÍêÈ«ÍÆ³öPCµÄC/C++¿ª·¢¹¤¾ßÊг¡¡£
ʱÐòµ½ÁË1994Äê䣬C/C++¿ª·¢¹¤¾ßµÄËÄ´óÌìÍõ¾öÕ½µÄÈÕ×ÓÖÕÓÚÓúÀ´Óú½üÁË¡£
OLEµÄ½Á¾Ö
²»ÖªµÀÊÇʱÔ˲»¼Ã»òÊÇMicrosoftµÄ¿ÌÒâÈç´Ë£¬ÔÚ1994ÄêBorland C/C++ºÍVisual
C/C++¾öÕ½µÄǰϦ£¬MicrosoftÍÆ³öÁËOLE(Object Linking And Embedding)¼¼Êõ¡£
OLEÊÇMicrosoftΪÁ˶Կ¹AppleµÄÎļþ¼¼ÊõÒÔ¼°IBM OS2µÄWorkplaceºÍÎļþ¼¼ÊõÓ¦
Ô˶øÉúµÄ¡£OLE¿ÉÒÔÈÃWindowƽ̨µÄÎļþÄܹ»ÄÚǶÔÚ²»Í¬µÄÓ¦ÓóÌÐòÖв¢ÇÒÄܹ»ÈÃ
ÎļþÔÚÓ¦ÓóÌÐòÖб»¼´µØ±à¼­(In-Place Editing)¡£ËµÊµÔڵģ¬MicrosoftµÄOLEºÍ
AppleÒÔ¼°IBMµÄ¼¼Êõ±È½ÏÆðÀ´ÊµÔÚÊDzî¶àÁË£¬OLEÔÚÉÔºóÒ²±»Ö¤Ã÷ÊÇʧ°ÜµÄ¼¼Êõ£¬
²»¹ý²»¹ÜÊÇMicrosoftµÄOLE»òÊÇApple/IBMµÄÎļþ¼¼ÊõÒ²¶¼ÊÇʧ°ÜµÄ¼¼Êõ£¬¶¼Ã»ÓÐ
Ôì³É¾Þ´óµÄ³É¹¦¡£ËäÈ»ÕâЩÎļþ¼¼Êõ¶¼Ã»Óгɹ¦£¬µ«ÊÇOLEÈ´×ãÒÔ³ÉΪBorland£¬
SymantecºÍWatcomʧ°ÜµÄÖØÒªÒòËØ¡£
ÎÒ»¹¼ÇµÃµ±Ê±OLEËÆºõ³ÉΪÁËÒ»¸öÁîÈËÇ÷Ö®Èôð͵Äʱ÷Ö¹¦ÄÜ£¬ÒòΪWordµÄÎļþÄܹ»
ÄÚǶÔÚExcelÖ®ÖУ¬²¢ÇÒ¿ÉÒÔµãÑ¡´ËWordÎļþ£¬Ó¦ÓóÌÐòÓÖÁ¢¿Ì³ÉΪWordÀ´±à¼­Ëü
£¬ÊµÔÚÊÇÁîÈ˾õµÃ·Ç³£µÄÉñÆæ¡£²»¹ýÔÚÆäʱËùÓеÄÈí¼þ³§ÉÌÖÐÖ»ÓÐMicrosoftµÄÓ¦
ÓóÌÐòÓÐÈç´ËµÄ¹¦ÄÜ£¬ÆäËüµÄ³§ÉÌÀýÈçLotus£¬WordPerfectµÈ¶¼ÎÞ·¨Êµ×÷³öÕâÖÖ¹¦
ÄÜ¡£ÕâÔì³ÉÁ˲»¹«Æ½µÄ¾ºÕù£¬ÒòΪOLE¼¼ÊõÊÇÓɲÙ×÷ϵͳ³§ÉÌMicrosoftÍÆ³öµÄ£¬µ«
ÊÇÈ´ÈÃËüµÄÓ¦ÓóÌÐò²¿ÃÅͬ²½ÓµÓÐÕâÖÖ¼¼Êõ£¬¶øÆäËüµÄÈí¼þ³§É̶¼ÎÞ·¨»ñµÃµÚÒ»ÊÖ
µÄOLE¼¼ÊõÀ´Êµ×÷£¬ÕâÊÇΪʲôµ±Ê±ÆäËüµÄÈí¼þ³§ÉÌÈç´Ë»ð´óµÄÔ­Òò¡£
ËäÈ»ºóÀ´ÆäËüµÄÈí¼þ¹«Ë¾ÔÚÈ¡µÃÁËOLEµÄ¼¼ÊõÐÅÏ¢Ö®ºóÒ²ÍÆ³öÁ˾߱¸OLE¹¦ÄܵÄÓ¦ÓÃ
³ÌÐò£¬µ«ÊDZϾ¹ÊÇÂýÁËMicrosoftÐí¾Ã£¬Êг¡Ò²Á÷ʧÁËÐí¶à¡£²»¹ýÎÒÒ²ºÜÆæ¹ÖµÄÊÇ
ÔÚµ±Ê±ÄÚ½¨OLE¹¦ÄܵÄÓ¦ÓóÌÐòÖ®ÖУ¬¼¸ºõËùÓеÄÈí¼þ³§ÉÌÍÆ³öµÄÓ¦ÓóÌÐòÔÚ¼¤»î
Êý¸öÓ¦ÓóÌÐò¶øÇÒʹÓÃOLEÖ®ºó£¬¾Í·Ç³£ÈÝÒ׵ĵ±µô£¬Ö»ÓÐMicrosoftµÄÓ¦ÓóÌÐò²»
Ì«»á·¢ÉúÕâÖÖÇéÐΣ¬Òò´ËÐí¶àÈ˱ãÈÏΪMicrosoftÓÐÒþÂ÷һЩ¼¼ÊõûÓÐÈÃÆäËüµÄ³§
ÉÌÖªµÀ¡£
ÓÉÓÚOLEÊÇÈç´ËµÄ¸´ÔÓ£¬Òò´ËBorlandÎÞ·¨Á¢¿ÌÔÚOWLÖ®ÖÐʵ×÷³öÕâÖÖ¹¦ÄÜ£¬ÓÚÊǾÍ
Ôì³ÉÁËÊг¡ÉϸºÃæµÄÓ°Ïì¡£ÖÁÓÚSymantecºÍWatcomËäÈ»ÊÇLicense MFC£¬µ«ÊÇÔÚÆä
ʱËüÃÇLicenseµÄÊÇMFC 1.xµÄ°æ±¾£¬Microsoft²¢Ã»ÓаÑOLEʵ×÷ÔÚMFC 1.xÖУ¬¶ø
ÊÇÔÚʵ×÷ÔÚMFC 2.0Ö®ÖС£ÔÚMFC 2.0ÍÆ³öʱ×îÖØÒªµÄ¹¦ÄܾÍÊÇMicrosoft¼ÓÈëÁË
20000¶àÐÐÖ§³ÖOLEµÄ³ÌÐò´úÂ룬µ«ÊÇMFC 2.0È´½öÏÞÓÚVisual C/C++ʹÓ㬾ÍÊÇÕâ
¹Ø¼üµÄÒ»µãÈÃÆäËüÈý¼Ò³§É̳ÔÁË¿÷¡£
¶ÔÓÚOLEÕâ¸ö¹Ø¼ü¼¼ÊõµÄÓ°Ï죬BorlandÊÇÉîÖªÔÚÐĵģ¬Òò´ËÔڼƻ®ÔÚBorland
C/C++ 4.5µÄOWL 2.5ÖÐÖ§³ÖOLE¡£µ±Ê±BorlandÍÆ³öµÄ½â¾ö·½°¸±ãÊÇOCF(Object
Component Framework)¡£
Borlandµ±³õÔÚÉè¼ÆOCFʱÓм¸¸öÖØ´óµÄÄ¿±ê¡£ÕâЩĿ±ê°üÀ¨ÁË: Ò»¡¢ÈçºÎÄܹ»Ê¹µÃ
OLEËöËé ¡¢¸´ÔӵĽӿÚÄܹ»µ¥´¿»¯; µÚ¶þ¡¢ÈçºÎÄܹ»Ê¹µÃOLEÔÚ´°¿Ú»·¾³ÏÂд³ÌÐò
µÄ˼¿¼·½Ê½ Ò»Ö»¯--¼´Ê¹Óá¸Ê¼þÇý¶¯¡¹µÄ·½·¨¡£µÚÈý¡¢ÈçºÎÄܹ»ÔÚ΢ÈíÕ¼¾¡Ìì
ʱ¡¢µØÀû(δ±ØÈ˺Í) µÄÇé¿öÏÂʹµÃBorlandµÄ²úÆ·¾ß±¸OLEµÄ¹¦ÄÜ¡£µÚËÄ¡¢ÈçºÎÄÜ
¹»Èôó¶àÊýC++µÄ³ÌÐòÔ±¶¼Äܹ»ÏíÊÜOLEµÄ¹¦Äܶø²»¾ÖÏÞÓÚOWLµÄ³ÌÐòÔ±¡£ÓÉÓÚÉÏÊö
µÄÉè¼ÆÄ¿±ê, ¶øÔì¾ÍÁ˵äÑŶø¾ßÓе¯ ÐÔµÄOCF¡£ÓÉÓÚOCF±¾ÉíÊÇÒ»ÍêÕû¶ø¶ÀÁ¢µÄ
Framework, Òò´ËËü¿ÉÊÊÓÃÓÚ¸÷ÖÖÓ¦ÓóÌÐò·¢Õ¹Framework¡£
²»ÏþµÃ¸÷λʹÓùýBorland C/C++µÄÅóÓÑÃÇÊÇ·ñ»¹ÒÀÏ¡¼ÇµÃÏÂͼOCFµÄ¼Ü¹¹Í¼Ö®Ò»£¬
ÒÔ¼°ÏÂÃæµÄOCF·¶Àý³ÌÐò´úÂ룬ÕâЩ¿ÉÊÇÎÒ°Ñ1994ÄêдµÄÎÄÕÂÍÚ³öÀ´Ö®ºóÕÒµ½µÄ£¬
ÕæÊÇÁîÎҸп®£¬Ò²»ØÏëÆðÁ˵±Ê±µÄÇé¾°£¬Ò²Èø÷λ»ØÒäÒ»ÏÂOWLºÍOCF¡£¶ÔÓÚ²»ÊìϤ
OWLºÍOCFµÄÅóÓÑ£¬Ò²¿ÉÒÔ´ÓÏÂͼºÍ³ÌÐò´úÂëÖй۲ìһϵ±Ê±µÄ¼¼ÊõÒÔ¼°Éè¼ÆµÄ¸ÅÄî
¡£»ù±¾ÉÏÎÒÏÖÔÚ¿´ÕâЩͼÐμܹ¹£¬»á·¢ÏÖËüÃDz¢Ã»ÓÐÂäºóÏÖÔÚÌ«¶à£¬¿É¼ûµ±Ê±Éè¼Æ
ÕߵŦÁ¦(Carl Quinn Again)¡£
//
// Insert an OLE object into the view
//
void TOleWindow::CmEditInsertObject()
{
001 PRECONDITION(OcView);
002 TOcInitInfo initInfo(OcView);
003 if (OcApp->Browse(initInfo)) {
004 TRect rect;
005 GetInsertPosition(rect);
006 SetSelection(new TOcPart(*GetOcDoc(), initInfo, rect));
007 OcView->Rename();
008 InvalidatePart(invView);
}
}
³ÌÐò1 OWLµÄTOleWindowÖ§³ÖOLE²åÈë¶ÔÏóÖ®³ÉÔ±º¯Êý
//
// Handle left double-click message
//
void TOleWindow::EvLButtonDblClk(uint modKeys, TPoint& point)
{
PRECONDITION(GetOcDoc() && GetOcView());
TOleClientDC dc(*this);
dc.DPtoLP(&point);
TOcPart* p = GetOcDoc()->GetParts().Locate(point);
if (modKeys & MK_CONTROL) {
if (p)
p->Open(true); // Ctrl key forces open editing
}
else {
SetSelection(p);
if (p && p == GetOcView()->GetActivePart()) { // resync the active
flag
p->Activate(false);
}
GetOcView()->ActivatePart(p); // In-place activation
}
}
³ÌÐò2 OWLµÄTOleWindowÖ§³Ö×ó¼üË«»÷Ö®³ÉÔ±º¯Êý
ËäÈ»Borland¼°Ê±µÄÔÚOWL 2.5ÖмÓÈëÁËOLEµÄÖ§³Ö£¬ÎÞÄÎMicrosoftËæºóÓÖÔÚOLEÖÐ
¼ÓÈëÁËÐí¶àÆäËüµÄ¹¦ÄÜ£¬Òò´ËÈÃOCF²¢ÎÞ·¨ÍêÕûµÄÖ§³ÖOLEËùÓеŦÄÜ£¬BÎÞ·¨²»¶ÏµÄÑÓºó
Borrland C/C++µÄÍÆ³ö£¬Òò´ËÔÚ1994Äê䣬BorlandÖÕÓÚÍÆ³öÁ˾öÕ½
µÄ4.5°æ±¾¡£
C/C++¿ª·¢¹¤¾ßµÄ×îºóÊ¥Õ½
¡ºËäÈ»ÒѾ­¹ýÈ¥ÁËÐí¾ÃµÄʱ¼ä£¬µ«ÊÇÎÒÈÔÈ»Íü²»ÁËÄdz¡×î²ÒÁÒµÄÕ½ÒÛ!¡»
1994Äêδ, 1995³õBorlandÔÚÍ´¶¨Ë¼Í´Ö®ºó£¬ÖÕÓÚÇå³ýÁËBorland C/C++ 4.0ÖÐËùÓÐ
µÄÎÊÌ⣬Ҳ¿ª·¢³öÁË×ÔBorland C/C++ 3.1ÒÔÀ´×îÎȶ¨£¬×î¿ìËÙµÄBorland C/C++
4.5µÄ°æ±¾£¬×¼±¸ºÍMicrosoft¾öÒ»ËÀÕ½¡£ÎÒ»¹¼ÇµÃµ±Ê±ÔÚÊé¼®Êг¡ÖÐÐí¶àÓйØ
Borland C/C++ºÍMicrosoft C/C++µÄÊé¼®¶¼ÊÇʹÓÃÊ®×Ö¾üµÄ·âÃæ£¬¶øBorland
C/C++µÄϵÁдÔÊé¶¼ÊÇÒÔÀ¶É«ÎªÉ«Ïµ£¬¶øMicrosoftµÄÔòÊÇÒÔºìɫΪɫϵ£¬·Â·ðÁ½´ó
¾üÍÅÖÕ½«¾öÕ½ËÆµÄ¡£
C/C++ËÄ´óÌìÍõ¾öÕ½Ò»ÒÛµÄBorlandÖ÷½«-Borland C/++ 4.5
²»¹ýÕâ´ÎµÄÕ½ÒÛ²»¹âÊÇBorlandµÄÀ¶¾üºÍMicrosoftµÄºì¾üÏà¶Ô¿¹£¬ÔÚSymantecµÄ»ª
Àö¾üÍž­¹ýÁ˾­¾ü¾­Î䣬WatcomµÄ°×É«¾¢ÂÃÕí¸ê´ýµ©£¬¶øÇÒ¶¼´ÓMicrosoft
LicenseÁËMFCÖ®ºó£¬À¶£¬ºì£¬»¨£¬°×ËÄ´ó¾üÍžöÕ½µÄÈÕ×ÓÖÕÓÚµ½ÁË¡£Ê×Ïȵ±
SymantecºÍWatcom·Ö±ðÈ¡µÃÁËMFCÖ®ºó£¬Symantec±ãÍÆ³öÁËC/C++ 7.xµÄ°æ±¾£¬ºÍ
Watcom C/C++»ìÕ½ÁËÆðÀ´¡£Á½¸öʹÓÃϵ³öͬÃŵÄC/C++ Framework²úÆ·Õ½µÃ²»ÒàÀÖ
ºõ£¬ËæºóBorland C/C++ 4.5ºÍVisual C/C++µÄа汾Ҳ¼ÓÈëÁËÕⳡ×îÖØÒªµÄ¾öÕ½
¡£µ«ÊÇÈÃSymantecºÍWatcom C/C++´ó³ÔÒ»¾ªµÄÊÇMicrosoftʹÓõÄMFC¾ÓÈ»±ÈËüÃǵÄ
°æ±¾¸ß³öÁËÒ»¸ö°æ±¾(1.x¶Ô2.x)£¬¶øÇÒа汾µÄMFC°üº¬ÁËÍêÕûµÄOLEÖ§³ÖÄÜÁ¦¡£¶ø
BorlandËäȻҲÓÐOCF£¬µ«ÊÇÈÔÈ»²»µÐаæMFCÖеÄOLEÄÜÁ¦¡£ÓÉÓÚµ±Ê±¼¸ºõËùÓеÄÓ¦
ÓóÌÐò¶¼ÐèÒªÖ§³ÖOLE£¬µ«ÊÇÈ´Ö»ÓÐʹÓÃVisual C/C++×îеİ汾²ÅÄܹ»¿ª·¢ÍêÕû
OLEÄÜÁ¦µÄÓ¦ÓóÌÐò£¬Òò´Ë²»¹ÜOLEµ½µ×ÓÐûÓÐÓ㬷´ÕýÏȼÓÈëÔÙ˵¡£Òò´ËÊг¡ÉϵÄ
ÇéÊÆºÜ¿ìµÄ¾Í·¢ÉúÁ˾޴óµÄ±ä»¯£¬¼¸ºõ´ó²¿·ÝµÄÓ¦ÓóÌÐò¿ª·¢ÒòΪOLEµÄÔ­Òò¶¼Ñ¡
ÔñʹÓÃVisual C/C++£¬SymantecºÍWatcom¾üÍźܿìµÄ¾Í°ÜÕóÏÂÀ´¡£
ÖÁÓÚBorland C/C++ 4.5ËäÈ»ÊÇÒ»Á÷µÄ²úÆ·£¬Èç¹ûûÓÐOLEµÄÒòËØ£¬Visual C/C++ÐÂ
°æ±¾ÕæµÄ²¢Ã»ÓбÈ4.5ºÃ¡£ËäÈ»4.5Ò²ÓÐOCF£¬µ«ÊÇÔÚÊг¡ÉÏÖ»ÓÐBorlandºÍNovell£¬
WordPerfectÑ¡ÔñʹÓÃOCF£¬ÔÚºÍMicrosoftµÄVisual C/C++¾­¹ý½«½üÒ»ÄêµÄ²ø¶·Ö®
ºó£¬ÆäËü´ó²¿·ÝµÄ³§É̶¼Ñ¡ÔñÁËMicrosoftµÄMFC 2.x°æ£¬ÕæÊÇÐÎÊÆ±ÈÈËÇ¿¡£»ù±¾ÉÏ
OCFµÄ¼Ü¹¹ÕæµÄÊǸöºÃ¶«Î÷£¬Ö»ÊÇOCFÎÞ·¨ÍêÕûµÄÖ§³ÖOLE£¬ÒòΪOLEµÄ·¢Õ¹ÊÇÕÆÎÕÔÚ
MicrosoftÊÖÖУ¬Òò´ËËäÈ»OCFµÄ¼Ü¹¹Á¼ºÃ£¬ÖÕ¾¿ÔÚ¹¦ÄÜÉϲ»¼°¶ÔÊÖ¡£Microsoft½á
ºÏ²Ù×÷ϵͳ£¬¿ª·¢¹¤¾ßºÍÓ¦ÓóÌÐòµÄÊÖ¶ÎÕæÊÇÎÞÍù²»Àû¡£»÷°ÜLotus£¬BorlandÊÇÈç
´Ë£¬¼ßÃðNetscapeÒ²ÊÇÈç´Ë¡£
¶ÔÓÚSymantecºÍWatcomÀ´Ëµ£¬ÕⳡսÒÛ¾ÍÈçͬ¡º³¤Æ½Ö®Õ½¡»£¬Çؾü¿Óɱ40¶àÍòÕÔ¾ü
Ò»Ñù¡£É±µÃSymantecºÍWatcomÈ«¾ü¸²Ã»£¬´ó°Ü¶ø¹é£¬ÖÁ´ËSymantecÆúÊÜPCµÄC/C++
¿ª·¢¹¤¾ßÊг¡£¬×ª¶ø¿ªÊ¼Ñз¢Java¿ª·¢¹¤¾ß£¬½ø¶øÔÚÉÔºóÍÆ³öÁËÖøÃûµÄVisual
Cafe, ÖÁÓÚEugene WangÔòÀ뿪ÁËSymantec£¬×Ô´ËÒ²À뿪ÁËPC¿ª·¢¹¤¾ßµÄÁìÓò¡£
¶øWatcomÔòÊǸüΪÆà²Ò£¬Õû¸ö¹«Ë¾ÔÚDOSµÄÊг¡Öð½¥Ê½Î¢£¬¶øWindowƽ̨µÄ¿ª·¢¹¤
¾ßÓÖ´ó°Ü¶ø¹é£¬Á½Í·Âä¿Õ¡£²»¾ÃÖ®ºóWatcom±ã±»ÐÂÐ˶øÆðµÄSybase²¢¹º£¬´Ó´ËÏûʧ
ÓÚ¾ºÕù¼¤ÁÒµÄÊг¡¡£
¹éÄÉSymantecºÍWatcomʧ°ÜµÄÔ­ÒòÊÇC/C++µÄFramework MFCÕÆÎÕÔÚMicrosoftÊÖÖÐ
£¬ÔÚ¾öսʱ¿ÌMicrosoft¾ÓÈ»ÊÖÎÕ±ÈSymantecºÍWatcom¸üеÄMFCÀûÆ÷£¬¶øÇÒÔÚ
Visual C/C++¾«½ø×î¼Ñ»¯µÄ¼¼Êõ²¢ÇÒ¸ÄÉÆÕûºÏ·¢Õ¹»·¾³Ö®ºó£¬SymantecºÍWatcomËß
ÇóµÄÖØµã¹¦ÄÜÍêÈ«±»Microsoft·âËÀ¡£Òò´ËÔÚ²úÆ·£¬¼¼Êõ£¬Êг¡ºÍÆøÊÆÉÏÍêÈ«²»Èç
¶ÔÊÖµÄÇéÐÎÏ£¬×ÔȻֻÄÜÈÎÈËÔ׸îÁË¡£
¶ÔÓÚBorland¶øÑÔ£¬ËäȻûÓÐÏñSymantecºÍWatcomÄÇôÀ£²»³É¾ü£¬µ«Ò²ÊÇÔٴΰÜÏÂ
ÕóÀ´¡£ËäȻƽÐĶøÂÛBorland C/C++ 4.5µÄÈ·ÊÇÒ»¸ö·Ç³£ºÃµÄ²úÆ·£¬ÎÞÂÛÔÚOWL£¬×î
¼Ñ»¯±àÒëÆ÷£¬ÕûºÏ·¢Õ¹»·¾³·½Ãæ¶¼ÓÐÒ»Á÷µÄ±íÏÖ£¬ºÍBorland C/C++ 4.0±È½ÏÆðÀ´
¼òÖ±ÓÐÈçÍÑÌ¥»»¹ÇÒ»°ã£¬µ½ÏÖÔÚBorland C/C++ 4.5ÈÔÈ»ÊÇÎÒ×îϲ»¶µÄ°æ±¾Ö®Ò»¡£
µ«ÊÇÎÞÄε±³õBorland C/C++ 4.0¸øÈË»ÓÖ®²»È¥µÄ¸ºÃæÓ¡Ïó£¬ÒÔ¼°ÎÞ·¨ÍêÕûÖ§³Öµ±
ʱÈç»ðÈçݱµÄOLE¼¼Êõ£¬Òò´Ë»¹ÊÇÔÚ¾öÕ½Ö®ÖаÜÁËÏÂÀ´¡£ºÃÔÚÀ¶É«µÄBorland´ó¾ü±Ï
¾¹ÊÇѵÁ·ÓÐËØµÄ£¬ËäÈ»×Ô´ËÈÃMicrosoftÕ¼¾ÝÁ˳¬¹ý50%µÄÊг¡£¬³ÉΪC/C++¿ª·¢¹¤
¾ßµÄÀϴ󣬵«ÊÇBorlandÈÔÈ»ÕÆÎÕÁ˳¬¹ý30%µÄÊг¡£¬ÉÔ×ö´­Ï¢£¬²¢ÇÒÖ§³ÅBorland
ÔÚ¸÷ÖØÒªÕ½ÒÛʧ°ÜÖ®ºóά³Ö¹«Ë¾µÄÔË×÷£¬µÈ´ýDelphiµÄÔ¡»ðÖØÉú£¬ÔÙÖØÐ³ö·¢¡£
¾­¹ýÕâÒ»ÒÛÖ®ºó£¬MicrosoftÖÕÓÚÇå³ýÁ˴󲿷ݵĶÔÊÖ£¬¶ÔÓÚMicrosoft¶øÑÔ³ÌÐòÓï
ÑÔ¿ª·¢¹¤¾ßµÄÕ½ÕùÒѾ­½áÊø£¬Õâ¸öÊг¡×¢¶¨½«±»MicrosoftÕ¼¾Ý´ó²¿·ÝµÄÊг¡¡£ÔÚ
MicrosoftÊÖÎÕ²Ù×÷ϵͳ£¬OfficeÈí¼þºÍ¿ª·¢¹¤¾ßÈý´ó»ñÀûÊг¡Ö®ºó£¬MicrosoftÒ²
¿ªÊ¼½«Ã¬Í·¶Ô×¼ÏÂÁ½¸ö¾ºÕùÄ¿±ê£¬¹ØÁ¬Êý¾Ý¿âÒÔ¼°Ö÷´Ó¼Ü¹¹¿ª·¢¹¤¾ß¡£ÔÚ
MicrosoftÕýʽ½ø¾üÕâÁ½¸öÊг¡Ö®ºó£¬µ±È»Ò²Õ¹¿ªÁËÁ¬·¬µÄºÃÏ·£¬ÓÈÆäÊÇÔÚÖ÷´Ó¼Ü
¹¹¿ª·¢¹¤¾ß·½ÃæÓÖ¿ªÆôÁËVB£¬PowerBuilder£¬Gupta/CenturaºÍDelphiµÄ¾ªÌ춯µØ
´ó»áÕ½¡£ÁíÍâÒ»¸öÒâÍ⿪ÆôµÄÕ½ÕùÔòÊÇMicrosoftÔÚ1995ÄêºÍNetscapeµÄÌôÆðµÄä¯
ÀÀÆ÷´óÕ½¡£
¶ÔÓÚBorland¶øÑÔ£¬ÔÚC/C++×îºóÒ»ÒÛÖ®ºó£¬»ù±¾ÉÏÎÒÈÏΪ¿ª·¢¹¤¾ßµÄÊ¥Õ½ÒÑÈ»½áÊø
£¬BorlandÒ²Õýʽ¿ªÊ¼×ßÏÂÆÂ¡£¸üÑÏÖØµÄÊÇÎÒÈÏΪ×Ô´ËÖ®ºóBorland²»µ«É¥Ê§ÁË
C/C++µÄ½­É½£¬Ò²Ê§È¥Á˶ÔÓÚC/C++¿ª·¢¹¤¾ßµÄ´´Ò⣬ÕâÊÇÎҸоõ×îÒź¶µÄµØ·½£¬µ½
ÏÖÔÚΪֹÎÒÈÔÈ»ÈÏΪBorlandÉÐÎ´ÖØÊ°µ±³õÔÚBorland C/C++ 3.0/3.1ʱ´ú¶ÀÁì
C/C++´´Òâ·çɧµÄ¾«Éñ¡£Ò²Ðí£¬Ò²Ðí£¬Òª¿´¿´C/C++ For Kylix»òÊÇC++ Builder 6
ÊÇ·ñÄܹ»ÖØÐÂÕÒ»ØÕâ¸öʧȥÒѾõľ«Éñ£¬²»ÒªÔÙÈÃÎÒʧÍûÁË¡£
ÐÛ°ÔÊýÄêµÄC/C++µÄÊÀ½ç¹Ú¾ü-Borland C/C++ 3.1-ÓÀÔ¶µÄ»³Äî
ÓÀ²»³ÉÆøºòµÄC/C++¿ª·¢¹¤¾ß-IBM Visual C/C++
IBMÔÚC/C++¿ª·¢¹¤¾ß°çÑݵĽÇɫһֱÁîÈËÌäЦ½Ô·Ç£¬ÒòΪÔÚC/C++±àÒëÆ÷Õ½Õù×
ÁÒµÄʱ¿Ì£¬IBMÕâ¸öÈ«ÇòÐÅÏ¢´ó³§È´Ò»Ö±ÊÇȱϯµÄ¡£Ò»Ö±µ½ÁË1995Ö®ºó£¬C/C++±àÒë
Æ÷Êг¡´óÊÆÒѶ¨Ö®ºó²ÅÂýÂýµÄ¼ÓÈëÕ½¾Ö£¬ÍƳöVisualAge C++ 3.0£¬Æóͼ½ø¹¥´ËÊÐ
³¡¡£µ«ÊÇ´ËʱÊг¡ÔçÒÑÓÉMicrosoftµÄVisual C/C++³ÆÐÛ¡£IBMµÄVisualAgeËäÈ»ÒÔ
´´ÐµĿÉÊÓ»¯Éè¼Æ¼ÒÄܹ»¶¨Òå¶ÔÏóÖ®¼äµÄ¹ØÏµ£¬µ«ÊÇÔÚÆäËü·½ÃæÈ´·¦Éƿɳ£¬Õû¸ö
ÕûºÏ·¢Õ¹»·¾³Ò²»ºÂýÈçÎÏÅ££¬ÐèÒª·Ç³£¸ßÎļþµÄÓ²¼þÅ䱸²ÅÄܹ»Ë³ÀûµÄÖ´ÐУ¬ºÍ
Visual C/C++ÒÔ¼°Borland C/C++µÈ¹¤¾ß±È½ÏÆðÀ´¾ÍÏñÊÇ¿ÖÁúÒ»°ã£¬Òò´Ë¼¸ºõûÓÐ
ÔÚÊг¡ÉÏÒýÆðÈκεķ´Ó¦¡£
ÔÚIBMÍÆ³öVisualAge 3.0²¢Ã»ÓÐÔÚPCµÄC/C++¿ª·¢¹¤¾ßÊг¡»ñµÃÈκεÄÃ÷ÏԳɹûÖ®
ºó£¬IBMÓÖÔٴεļ¯ÖÐÁËÐí¶àµÄ×ÊÔ´£¬¿ª·¢ÏÂÒ»´ú3.5µÄ°æ±¾£¬Ï£ÍûÄܹ»ÔÚ´ËÊг¡Õ¼
ÓÐÒ»¶¨µÄ±ÈÂÊ¡£ÎÒÖªµÀIBMÔÚVisualAgeͶעÁË´óÁ¿µÄ×ÊÔ´£¬ÒòΪ´ÓBeta°æ¿ªÊ¼Ì¨Íå
µÄIBM±ãÓÐÈ˺ÍÎÒ½Ó´¥£¬Ï£ÍûÎÒÒ²ÔÚRUN!PCÉÏΪVisualAge 3.5дһЩÎÄÕ¡£Òò´ËÔÚ
1996ÄêµÄ6ÔÂÎÒдÁËһƪC/C++±àÒëÆ÷µÄ±È½ÏÎÄÕ£¬ÏÂÃæµÄ×ÊÁϱãÊÇÊýÄêǰµ±Ê±»¹ÔÚ
Beta°æµÄVisualAge 3.5ºÍÆäËü±àÒëÆ÷µÄ±È½Ï£º
´ÓÉÏÃæµÄÊý¾ÝÖпÉÒÔ¿´µ½ÆäʵVisualAge 3.5µÄ±íÏÖ»¹²»´í£¬Ö»ÊǶÔÓÚµ±Ê±»¹ÔÚʹ
ÓÃAMD DX4-100/32M RAM»úÆ÷µÄÎÒÀ´Ëµ£¬ÊµÔÚÊÇÅܲ»Ì«¶¯VisualAge 3.5¡£ºóÀ´Ì¨Íå
IBM¸ºÔðVisualAgeµÄ²úÆ·¾­ÀíÇëÎÒ³Ô·¹£¬ÔÚ´Ë·¹¾ÖÖÐÕâλÀî¾­ÀíͬʱÇëÁ˺ØÔª(ºó
À´Îª×ÊѸÈ˵Ä×ܲÃ)£¬Ñ¦Ïþá°(ºóÀ´Îª×ÊѸÈ˵ĸ±×ܲÃ)ÒÔ¼°ÆäËüÁ½Î»×÷Õߣ¬Ï£Íû´ó
¼ÒÔÚ¼ÆËã»úÔÓÖ¾ÖмÌÐøµÄΪVisualAge 3.5дд¶«Î÷£¬Ò»ÆðPromote´Ë²úÆ·¡£ÔÚÕâ¸ö
·¹¾ÖÖÐÎÒÊǵÚÒ»´ÎºÍºØÔª£¬Ñ¦Ïþá°¼ûÃæ£¬µ±Ê±ºØÔªÔÚÖÐÎÄPC MagazineÓÐÒ»¼¼Êõר
À¸¡£¼ÇµÃµ±Ê±ÎÒÏòÕâλÀî¾­ÀíÌáÆðÎҵĻúÆ÷¼¸ºõÎÞ·¨ÅÜVisualAge 3.5£¬Ëû»¹Á¢¿Ì
Ò»¿Ú´ðÓ¦Ô¸Òâ½èÎÒһ̨µ±Ê±IBM×î¸ß™nµÄPC£¬Í¬Ê±Ã¿Ð´Ò»ÆªVisualAgeµÄÎÄÕ£¬³ýÁË
RUN!PCÔ­±¾µÄ¸å·ÑÖ®Í⣬IBM»áÔÙ¸¶Ò»×Ö2.5ÔªµÄ¸å·Ñ¡£¹Ô¹Ô£¬IBMÕæÊÇ´óÊֱʣ¬ÎÒ
ËãË㵱ʱÎҵIJúÄÜ£¬Ð´Ò»ÆªÎÄÕ¾ÍÄܹ»×¬2µ½3Íò£¬ÓÖÓÐÃâ·ÑµÄ×î¸ßµµ»úÆ÷¿ÉÓã¬Õæ
ÊÇÌ«ºÃ¿µÁË¡£²»¹ýºóÀ´ÎÒ»¹ÊǾõµÃIBMÔÚ´ËÊг¡¿ÉÄܲ»»áÉî¸û£¬ÔÚ²»Ô¸ÒâÎ¥±³×Ô¼º
д×÷ϰ¹ßºÍµÃ×ïBorlandµÄ¹ËÂÇÏ£¬×îºó»¹ÊÇûÓдðÓ¦¡£ÏÖÔÚÏëÏëµ±Ê±ÕæÊÇÌ«±¿ÁË
£¬·ÅןÃ׬µÄ¸å·Ñ²»×¬£¬Îû¡£
IBMµÄC/C++¿ª·¢¹¤¾ßÖ®ËùÒÔÔÚÊг¡ÎÞ·¨³É¹¦ÊÇÒ»ÊÇÒòΪ²¢²»Á˽âÔڴ˾ºÕù¼¤ÁÒµÄÊÐ
³¡ÖÐʹÓÃÕßµ½µ×Ҫʲô¡£ÁíÍâÒ»¸öÔ­ÒòÔòÒòΪIBM²¢²»ÒÔPCÉϵĿª·¢¹¤¾ßÈí¼þÎªÖØ
ÒªµÄÊÂÒµ£¬¼´Ê¹ÎÞ·¨¾ºÕù¶ÔÓÚIBMÀ´ËµÒ²Ã»ÓÐʲôӰÏ죬²»ÏñBorlandÕâ¿ÉÊÇÉúÃüÖ®
Õù¡£Òò´ËIBMÖ»ÊÇÐËÆðÍæÍæ£¬Ëæ¼´·ÅÏ¡£ËùÒÔÎÒ¾õµÃÔÚPCƽ̨ʹÓÃIBMµÄ¹¤¾ßÊǺÜΣ
Ïյģ¬ÒòΪIBM¿ÉÄÜËæÊ±»á·ÅÆú´ËÊг¡¡£ÀýÈç²»ÖªµÀÏÖÔÚVisualAge C/C++µ½µ×ÈçºÎ
£¬ÊDz»ÊÇ»¹ÔÚ3.5»òÊÇ4.0°æ£¬ÒѾ­ÊýÄêûÓÐÈκεÄά»¤ºÍ¸ÄÉÆÁË¡£
ÉÔºóIBMΪÁËÏëÔÚOS2ºÍWindowƽ̨ÉÏÍÆ³öÄܹ»ºÍMicrosoftÏ࿹ºâµÄBasic¹¤¾ß£¬Òò
´ËÃØÃܵÄÑз¢ÁËÒ»¸öObject Basic¡£ÎÒÒ²Ôø¿´¹ýÕâ¸ö¹¤¾ß£¬µ«ÊÇObject BasicÅÜÆð
À´ÂýµÃ¸úÎÚ¹êÒ»Ñù£®ºóÀ´²»ÖªµÀÊDz»ÊÇÒ»Ö±ÎÞ·¨¸ÄÉÆÕâ¸öÎÊÌ⣬Òò´ËIBM´ÓûÓÐÍÆ
³ö´Ë²úÆ·£¬ÏÖÔÚIBMËÆºõÖ»¶ÔJavaÓÐÐËȤ£¬VisualAge For Java»¹Ëã·¢Õ¹µÄ²»´í£¬
Ï£Íû²»»áÓÐÒ»ÌìIBM¶ÔVisualAge For JavaµÄ̬¶È»áºÍVisuaAge For C/C++ÒÔ¼°
Object BasicÒ»Ñù²ÅºÃ£®
¿ìËÙéæÂäµÄDZÁ¦Ö®ÐÇ£­SybaseµÄC/C++ RAD¹¤¾ßOptima++
ÔÚ1996Äê°É£¬Sybase²¢¹ºÁËWatcomÖ®ºó£¬ÖÕÓÚÍÆ³öÁËÊ¯ÆÆÌ쾪µÄC/C++¿ª·¢¹¤¾ß£¬
Optima++¡£Optima++Êǵ±½áºÏÁËWatcomµÄ×î¼Ñ»¯±àÒëÆ÷ÒÔ¼°ÀàËÆDelphiµÄ×é¼þÍÏÒ·
¿ª·¢»·¾³µÄµÚÒ»¸öRAD C/C++¿ª·¢¹¤¾ß£¬¸ü°ôµÄÊÇOptima++µÄ×é¼þ¼Ü¹¹(ÀàËÆ
DelphiµÄVCL)ÍêÈ«ÊÇÒÔ´¿ÕýµÄC/C++³ÌÐò´úÂë׫дµÄ¡£Õâ¿É²»µÃÁË£¬ÒòΪÕâ´ú±í
Optima++ÊÇÒ»¸öÈÚºÏÁËVisual C/C++ºÍDelphiÁ½´óÍõÕß¿ª·¢¹¤¾ßΪһÉíµÄ³¬¼¶ÈüÑÇ
È˹¤¾ß¡£
ÔÚÎÒÖªµÀÕâ¸ö¹¤¾ß£¬²¢ÇÒÈ¡µÃʵ¼ÊµÄʹÓÃÖ®ºó£¬ÁîÎÒ¼«ÎªÕ𾪡£ÒòΪÕâ¸ö¹¤¾ß¶ÔÓÚ
ÎÒÕâ¸öʹÓÃÁËC/C++ 5,6ÄêµÄÈËÀ´Ëµ£¬ÊDZÈDelphi»¹¾ßÓÐÎüÒýÁ¦¡£Òò´ËÔÚµ±ÄêÎÒÁ¢
¿ÌµÄÔÚRUN!PCÉϽéÉÜÁ˴˲»¿ÉÖÃÐŵŤ¾ß¡£¹ûÈ»£¬Optima++ºÜ¿ìÔÚ¿ªÊ¼·ç¾íÊг¡£¬
ËäȻûÓÐÁ¢¿ÌµÄÕ¼¾ÝºÜ´óµÄÊг¡Á¿£¬µ«ÊÇÒѾ­Ôì³ÉÁËÒ»¹ÉÆøÊÆ£¬¿ªÊ¼ÎªVisual
C/C++ºÍDelphi´øÀ´ÁËѹÁ¦¡£
ÎҼǵõ±Ê±Ì¨ÍåSybase°ìµÄ²úÆ··¢±í»áÒ²ÎüÒýÁËÊý°ÙÈËÓë»á£¬²»¿ÉÒ»ÊÀ¡£ÔÚÎÒµÄ
RUN!PCÎÄÕ³ö°æÖ®ºó£¬Ì¨ÍåµÄSybaseÁ¢¿ÌºÍÎÒÁ¬Âç¡£Óɵ±Ê±µÄÓàЭÀíºÍÎÒ¼ûÃæ£¬Ò²
ÊÇÏ£ÍûÎÒ¼ÌÐøÎªOptima++дÎÄÕ£¬Ì¨ÍåSybaseÒ²Ìṩ¶îÍâÒ»×Ö¼Ó2Ôª¸å·ÑµÄ´ýÓö¡£
µ«ÊÇÎÒ¸æËßÓàЭÀí£¬Optima++ 1.0ËäÈ»ºÜ°ô£¬µ«ÊÇÈÔÈ»ÓÐһЩ³ô³æ£¬¶øÇÒºÍÖÐÎÄ»·
¾³Ïà³åÍ»£¬ÎÞ·¨´¦ÀíÖÐÎÄ£¬ÐèÒªÁ¢¿ÌµÄ½â¾öÎÊÌâ²ÅÄܹ»ÔŲ́ÍåµÄÊг¡³É¹¦¡£Ëý´ðÓ¦
ÎÒÁ¢¿ÌµÄÏò×ܹ«Ë¾·´Ó¦¡£ÎÒÒ²ÀÏʵµÄ¸æËßËýÔÚÎÊÌâûÓнâ¾ö֮ǰÎÒÎÞ·¨Ð´Ò»Ð©²»È·
ʵµÄ¶«Î÷¡£ºóÀ´Ì¨ÍåBorlandµÄ×ܾ­Àí·½ÏÈÉúÒ²ÕÒÎÒȥѯÎÊÓйØOptima++µÄÊÂÇ飬
ÎÒ¸æËßËûOptima++ÊǺö«Î÷£¬µ«ÊÇÖÐÎÄÓÐÎÊÌâ¡£Èç¹ûÖÐÎÄÎÊÌâÄܹ»½â¾ö£¬ÄÇô½«¶Ô
BorlandµÄ²úÆ·ÓкܴóµÄÓ°Ï죬µ±Ê±ÎÒ»¹²»ÖªµÀBorlandÓÉÓÚOptima++µÄÓ°Ï죬ÒѾ­
¿ªÊ¼×¼±¸·¢Õ¹C++ Builder¡£
ÔÚ1996Äêµ××óÓÒ°É£¬Optima++ 1.5ÖÕÓÚ½øÈëBetaµÄ½×¶Î£¬µ«ÊÇÔÚÎÒÄõ½Beta°æÊ±ÈÔ
È»·Ç³£µÄʧÍû£¬ÒòΪÖÐÎĵÄÎÊÌâÈÔȻûÓнâ¾ö¡£ºóÀ´Ì¨ÍåSybaseÓÖÕÒÎÒÈ¥£¬Õâ´ÎºÍ
ÎÒ¼ûÃæµÄÊÇ̨ÍåSybase×ܾ­Àí¹ù¿¡ÄÐÏÈÉú£¬ÒÔ¼°SybaseµÄÐÂ¼ÓÆÂ¼¼Êõ×ܲ㬲»¹ýÎÒ
Íü¼ÇÕâλÏÈÉúµÄÃû×ÖÁË¡£ÎÒÃǼûÁËÃæÖ®ºó£¬ÎÒÁ¢¿ÌµÄ°ÑOptima++ 1.5ÖÐÎĵÄÎÊÌâÒÔ
¼°Ðí¶àµÄ³ô³æ¸æËßËûÃÇ£¬Ï£ÍûËûÃÇÄܹ»½â¾ö£¬Èç´ËOptima++ 1.5²ÅÄܹ»ÔÚÖÐÎÄÊг¡
³É¹¦¡£¿ÉÊdzöºõÒâÎÒÒâÁϵÄÊÇ£¬ËûÃÇËÆºõ²¢²»¼±×ÅÕâЩÎÊÌ⣬·´¶øÑ¯ÎÊÎÒÊÇ·ñÓÐÒâ
ԸΪSybase¹¤×÷£¬×öPowerBuilderµÄ²úÆ·¾­Àí¡£
Ò²ÐíÊÇÒòΪÎÒΪDelphiдÁËÌ«¶àµÄ¶«Î÷£¬ÈÃPowerBuilderÊÜÁ˺ܴóµÄÓ°Ï죬Òò´ËËû
ÃÇÏ£ÍûÎÒµ½Sybase¹¤×÷£¬ÒÔ´ò»÷Delphi²¢ÇÒPromote PowerBuilder¡£µ±Ê±ËûÃÇÌá³ö
µÄ´ýÓöÌõ¼þʵÔÚÊǷdz££¬·Ç³£µÄÓÕÈË£¬±ÈÎÒµ±Ê±µÄнˮ¸ß³öÒ»±¶×óÓÒ£¨ÎÒµ±Ê±ÔÚ×Ê
²ß»á¹¤×÷£©¡£²»¹ýÓÉÓÚÎÒ¶ÔPowerBuilderʵÔÚûÓÐʲôÐËȤ£¬Òò´ËÎÒ¸æËßËûÃÇÈç¹û
ÊÇ×öOptima++µÄ²úÆ·¾­Àí£¬ÄÇôÎÒ½«»á¿¼ÂDz¢ÇÒ½ÓÊÜ¡£
ûÓÐÏëµ½SybaseµÄÐÂ¼ÓÆÂ¼¼Êõ×ܲøæËßÎÒOptima++ÔÚ1.5ÍÆ³öÖ®ºó¾Í¿ÉÄÜ»áÍ£Ö¹£¬
ÒòΪSybaseÒª°Ñ×ÊÔ´ÒÆÈ¥Îªµ±Ê±ÓúÀ´ÓúºìµÄJavaÑз¢Ò»¸öеÄJava RAD¿ª·¢¹¤¾ß£¬
ÄǾÍÊǺóÀ´µÄPowerJ¡£ÓÚÊÇËûÎÊÎÒÈç¹û²»Ô¸Òâ×öPowerBuilderµÄ²úÆ·¾­Àí£¬ÄÇôÊÇ
²»ÊÇÔ¸Òâ×öPowerJµÄ²úÆ·¾­Àí£¿ÓÉÓÚµ±Ê±ÎÒÒѾ­ÖªµÀBorland¿ªÊ¼ÁËOpen
JBuilderµÄÑз¢£¬¶øÎÒ¶ÔOpen JBuilderµÄÐËȤԶ´óÓÚPowerJ£¬Òò´Ë²¢Ã»ÓдðÓ¦
Sybase¡£¹ûÈ»£¬ÔÚOptima++ 1.5ÍÆ³öÖ®ºó£¬²»µ«ÖÐÎĵÄÎÊÌâûÓнâ¾ö£¬SybaseҲû
ÓмÌÐøµÄ¶ÔOptima++Ñз¢ÏÂÈ¥¡£
Ò»¸öÈç´ËÓÐDZÁ¦µÄ²úÆ·¾ÍÕâÑùÏûʧÁË£¬ÕæÊÇÁîÈËÒź¶£¬Optima++Ó¦¸ÃÓкܺõĻú»á
¿ÉÒԳɹ¦µÄ£¬ÎÒÏàÐÅÈç¹ûµ±Ê±SybaseÖªµÀC++ BuilderºóÀ´µÄ³É¹û£¬¿ÉÄܾͲ»»á·Å
ÆúOptima++ÁË¡£¶øC/C++µÄRAD¹¤¾ßÒ»Ö±Òªµ½ºóÀ´µÄC++ BuilderÀ´Íê³ÉÕâ¸öÃΣ¬ÓÖ
ÊÇBorland³É¹¦µÄ½øÈëÕâ¸ö¹¤¾ßÊг¡¡£
C/C++µÄ¿ª·¢¹¤¾ßÖ®Õùµ½´ËËãÊǸæÒ»¶ÎÂäÁË£¬ËäÈ»ºóÀ´Borland¼ÌÐøÍÆ³öÁË
Borland C/C++ 5.0µ«ÊÇÆ·ÖÊÈÔÈ»²»¹»ºÃ£¬Êг¡·´Ó¦Ò²²»¼Ñ£¬ºóÀ´BorlandÖÕÓÚÔÚ
Borland C/C++ 5.02Ö®ºóÐû²¼Í£Ö¹´ËÌõ²úÆ·ÏߵĿª·¢£¬Borland C/C++µÄ¹âÈÙÀúÊ·
Ò²¾Í´Ó´Ë´òÖ¹£¬ÕæÊÇÁîÈ˲»Ê¤¸Ð̾£¬¶øVisual C/C++´Ó´ËÔÚC/C++¿ª·¢¹¤¾ßÊг¡ÖÐ
ÔÙҲûÓжÔÊÖ¡£²»¹ýûÓоºÕùµÄÊг¡µÄÈ·»áÈÃÈËËÉиµÄ£¬ºóÀ´µÄVisual C/C++½ø²½
µÄ·ù¶ÈÓúÀ´ÓúС£¬MFCÒ²ÊýÄêûÓÐʲô´ó½ø²½£¬²»Ïñµ±Ê±ºÍBorland C/C++¾ºÕùʱÿ
Ò»¸ö°æ±¾¶¼Óдó·ùµÄ¸ÄÉÆ¡£¿´À´¹ÑÕ¼µÄÊг¡µÄÈ·ÊDz»ºÃµÄ¡£
As Promised-Àîά
--

--
¾Ý˵´ôÍÞ¶ù²»±¿

¡ù À´Ô´:¡¤¹þ¹¤´ó×϶¡Ïã bbs.hit.edu.cn¡¤[FROM: 202.118.245.178]
[°Ù±¦Ïä] [·µ»ØÊ×Ò³] [Éϼ¶Ä¿Â¼] [¸ùĿ¼] [·µ»Ø¶¥²¿] [Ë¢ÐÂ] [·µ»Ø]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
Ò³ÃæÖ´ÐÐʱ¼ä£º209.944ºÁÃë