Ï¡·¹¶¥¿Í×ÛºÏÉçÇøÏ¡·¹¶¥¿Í×ÛºÏÉçÇø

Ê×Ò³ | ×îÈȰæ¿é | »îÔ¾»áÔ± | ±¾ÖÜÈȵ㠷µ»ØCBuilder


·¢ÌùÈË:zhjn
·¢±íʱ¼ä:Sat Sep 29 21:17:06 2007
µÚ¶þÕ C£¯C++µÄÊ¥Õ½

"ÔÚ²ÒÁҵġ¢´ó¹æÄ£µÄ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++¾­¹ýÁ½Äê¶àµÄÕû¾ü¾­Î䣬ʵÁ¦ÒѾ­´óʤÒÔǰ¡£µ«ÊÇ£¬Borland C/C++3.
1ÔÚÐí¶à·½ÃæÈÔÈ»ÊÇ¿ÉÒÔºÍVisual C++Ò»Õù³¤¶ÌµÄ¡£Ê×ÏÈ£¬µ±Ê±Visual C++µÄ×î¼Ñ»¯
±àÒëÆ÷ÈÔÈ»ÂäºóBorland C/C++3.1£»µÚ¶þ£¬MFCÈÔȻûÓÐÍêÕûµØ·â×°Windows API£¬¶ø
ÇÒMFCÊÇÒԽϵͽ׵ķ½Ê½·â×°Windows APIµÄ£¬ÃæÏò¶ÔÏó×öµÃ²¢²»ºÃ£¬Ò²²»ÊǺÜÈÝÒ×ʹ
Óá£ÊÂʵÉÏÒÔÎҵĹ۵ãÀ´¿´£¬ÕýÊÇÒòΪMFC²»ºÃÓã¬ËùÒÔVisual C++²ÅÐèÒªÔÚ¼¯³É¿ª
·¢»·¾³ÖÐÌṩÒÔ¿ÉÊÓ»¯·½Ê½²úÉúMFC³ÌÐò´úÂëµÄ¹¦ÄÜ¡£µÚÈýÊÇVisual C++µ±Ê±²¢Ã»ÓÐ
ºÜºÃµÄ·â×°Êý¾Ý½á¹¹µÄContainer Class£¬¶øBorland C/C++È´Óзdz£ºÃÓõÄBIDSÀà±ð
¿â¡£µÚËÄ£¬Ò²ÊÇ×îÖØÒªµÄ£¬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 WindowsÒ»ÒÛÖб»ÏÅ×Å
ÁË£¬Òò´Ë¼±ÓÚÔÚ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¾ö¶¨È«ÐÂÉý¼¶¼¯³É¿ª·¢»·¾³£»µÚ¶þÊǰÑOWLÍêÈ«ÖØÐ´£»µÚÈýÊÇ´ó·ùÐÞ¸Ä
×î¼Ñ»¯±àÒëÆ÷£»µÚËÄÊÇÕûºÏµ±Ê±¼¬ÊÖµÄVBX£¬Borland¾ÓÈ»ÈÃ16λºÍ32λµÄWindows³Ì
ÐòͬʱʹÓÃ16λµÄ¡¢³óªµÄVBX¡£

ÉÏÃæËù˵µÄÿһÏî¶¼ÊǴ󹤳̡£BorlandÔçÓ¦¸ÃÔÚBorland C/C++3.1Ö®ºó±ã¿ªÊ¼½øÐÐ
ÕâЩ¹¤×÷£¬ÏÖÔÚÒªÔڶ̶̵ÄÒ»Äê¶àʱ¼äÄÚÖØÐ¿ª·¢Õâô¸´ÔÓµÄÒ»¸öC/C++¿ª·¢¹¤¾ß£¬
¼¸ºõÊDz»¿ÉÄܵġ£µ«ÊÇÔÚPhilippe KahnµÄÇ¿Á¦ÒªÇóÏ£¬ÕâЩBorlandµÄ¹¤³Ìʦ»¹ÊÇÓ²
×ÅͷƤ×öÁ˳öÀ´¡£

²»¹ýÎÒ±ØÐëºÜ³ÁÍ´µØËµ£¬µ±Ê±ÔÚBorland C/C++4.0 Beta²âÊÔʱ£¬ÎÒ±ãºĮ́Íå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/C++ 4.0£¬Õâ¸ö¼ç¸ººÍVisual C++1.0¶Ô¿¹µÄÐÂÒ»´úC/C++¿ª·¢¹¤¾ß¡£

ÔÚBorland C/C++4.0¸ÕÍÆ³öÖ®¼Ê£¬BorlandȷʵΪ4.0×öÁ˼«´óµÄÔìÊÆ£¬ÎҼǵÃÔÚµ±Ê±
ËùÓÐÖØÒªµÄ¼ÆËã»úÔÓÖ¾ÖУ¬ÀýÈçByte¡¢PC Magazine¡¢Dr. Dobb sµÈ£¬¶¼ÓÐ4.0ÕûÒ³µÄ
¹ã¸æ¡£Õâ¸ö¹ã¸æµÄÄÚÈÝÊÇÒÔÒ»¸ö¾Þ´óµÄèͷӥΪÖ÷£¬ÔÙ´îÅäÀ¶É«µ×ϵµÄBorland
C/C++4.0£¬Ñ¡Óþ޴óµÄèͷӥµ±È»ÊÇÒòΪOWLµÄÔ­Òò£¬Ö»¿ÉϧÎÒÏÖÔÚÕÒ²»µ½ÄÇ·ù¹ã¸æ
µÄ»­ÃæÁË¡£

µ±Ê±Borland C/C++4.0ʹÓÃÁËÈçÏÂµÄ¹ã¸æÓôʣº

Visual Is Only A Facial Facade

À´·í´ÌVisual C/C++Ö»ÌṩÁ˲úÉúMFC³ÌÐò´úÂëµÄ»ù±¾¾«Á飬¶øBorland³ýÁËÌṩÏà¶Ô
Ó¦µÄAppExpert¾«Áé(Äܹ»ÌṩÀàËÆµÄ¹¦ÄÜ£¬ÒÔ²úÉúʹÓÃÕßÑ¡ÔñµÄOWL³ÌÐò´úÂë)Ö®Í⣬
Borland C/C++4.0µÄ¼¯³É¿ª·¢»·¾³»¹ÌṩÁË¿ÉÊÓ»¯µÄÈýÃæ°æ´°¿Ú£¬Äܹ»ÈóÌÐòÔ±ÍêÕû
µØÕÆÎÕÕû¸öÏîÄ¿µÄÇéÐΡ£

ÏÂͼ±ãÊǵ±³õÁîÈËÑÛ¾¦ÎªÖ®Ò»ÁÁµÄAppExpert£º

ÏÂͼÔòÊǵ±Ê±Borland C/C++µÄ×¢²áÉ̱꣬ÈýÃæ°æ´°¿Ú¿ª·¢»·¾³¡£¿´µ½´ËͼÓÖÁîÎÒÏë
Æðµ±³õʹÓÃC/C++׫д³ÌÐòµÄÈÕ×Ó£¬Ï·½³ÌÐòÒ³ÃæÇå³þµØÏÔʾÁËÎÒ1995ÄêÔÚ¶¦Ð¹¤×÷
ʱдµÄÖÇÄÜÐÍWindowsÅųÌϵͳ£¬Ê±¼ä¹ýµÃÕæ¿ì°¡¡£

µ±Ê±Borland C/C++4.0µÄÈýÃæ°æ¼¯³É¿ª·¢»·¾³ÕæÕý¿ª´´ÁËÒ»¸öеľÖÃæ£¬ÒòΪÕâ¸ö¼¯
³É¿ª·¢»·¾³ÔÊÐí³ÌÐòÔ±ÖªµÀÿһ¸öÓ¦ÓóÌÐò¶¨ÒåµÄ´°¿ÚÐÅÏ¢£¬²¢ÇÒÄܹ»Á¢¿Ì°ÑËüÏÔʾ
ÔÚÏ·½µÄ³ÌÐò´úÂë´°¿ÚÖУ¬µÄÈ·ÊǷ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µÄÆ·ÖÊʵÔÚ²»ºÃ£¬¾ÍÏñÇ°ÃæÎÒÔÚBeta²âÊÔʱ˵µÄ£¬
ÓÉÓÚBorlandÌ«¼±ÓÚÍÆ³ö4.0£¬Òò´Ë²¢Ã»ÓÐÔÚ×îºó½×¶ÎÐÞÕýÐí¶àµÄ³ô³æ£¬ÓÖûÓо­¹ý×î
ºóϵͳ΢µ÷µÄ¹¤×÷£¬Í¬Ê±ÓÖ¹ýÓڴ󵨵ؼÓÈëÌ«¶àÏȽøµÄ¼¼Êõ£¬Ôì³ÉÁËÕû¸ö²úÆ·µÄ²»ÎÈ
¶¨£¬¶ø·¸ÏÂÁË´ó´í¡£ÏÂÃæ¼¸µãÓ¦¸ÃÊÇÔì³Éµ±³õBorland C/C++4.0²ÒÔ⻬Ìú¬µÄÖ÷ÒªÔ­
񘣼

¼¯³É¿ª·¢»·¾³·½Ã棺³ô³æÌ«¶à£¬ÈÝÒ×µ±µô¶øÇÒ·´Ó¦ËÙ¶È»ºÂý

±àÒëÆ÷·½Ã棺×î¼Ñ»¯ÍæµÃ¹ý»ð£¬²úÉú´íÎóµÄ±àÒë³ÌÐò´úÂë

OWL·½Ã棺²ÉÓÃȫеĶàÖØ¼Ì³Ð¼Ü¹¹£¬ËäÈ»ÊÇÕýÈ·µÄ×ö·¨£¬È´ºÍBorland C/C++3.1
ÖеÄOWL²»¼æÈÝ£¬Ôì³ÉÐí¶à³ÌÐòÔ±ÎÞ·¨Éý¼¶C/C++ÏîÄ¿

VBX·½Ã棺´óµ¨µÄ²ÉÓÃÔÚ16/32λ¶¼ÄÜʹÓÃVBXµÄ¼¼Êõ£¬Ôì³ÉһЩVBXÎÞ·¨Ë³ÀûµØÔÚBorl
and
C/C++4.0ÖÐʹÓÃ

ÎÒÏëÆäÖÐ×î¿ÉϧµÄ¾ÍÊÇOWLÁË¡£OWL 2£®0ÔÚ¸÷·½Ãæ¶¼ÓÐÒ»Á÷µÄ±íÏÖ£¬ÊµÔÚÊÇMFCÇ¿¾¢µÄ
¾ºÕù¶ÔÊÖ£¬»ñµÃÁ˸÷·½Ò»ÖµĿ϶¨ºÍ³ÆÔÞ¡£ÎÞÄεÄÊÇ£¬ÓÉÓÚOWL 2.0×öÁË»ù±¾¼Ü¹¹µÄ
¸Ä±ä£¬ÕâËäÈ»ÊÇΪÁ˽â¾öµ±³õOWL l.xʹÓÃÁ˲»±ê×¼µÄC/C++±àÒëÆ÷¼¼ÊõµÄÎÊÌ⣬µ«ÊÇ
ÕâÔì³ÉÁËÔ­À´Borland C/C++3.x³ÌÐòÔ±¼«´óµÄÀ§ÈÅ£¬ÒòΪÉý¼¶²»Òס£¶ÔÓÚеÄC/C++
ʹÓÃÕßÀ´Ëµ£¬ÓÖÒòΪBorland C/C++4.0±¾Éí²»Îȶ¨µÄÒòËØ¶øÈ´²½£¬Òò´ËÔì³ÉÁËOWL
2.0½ÐºÃ²»½Ð×ùµÄϳ¡£¬ÕæÊÇ¿ÉϧÁËOWLС×éµÄŬÁ¦¡£

»¹¼ÇµÃµ±Ê±ÎÒµÄÏîĿʹÓÃÁËFarPointµÄSpreadSheet VBX×é¼þ£¬ÓÉÓÚÒ»Ö±ÎÞ·¨Ë³ÀûµØ
ÔÚBorland C/C++4.0ÖÐʹÓ㬲¢ÇÒ»áÔì³ÉÓ¦ÓóÌÐòµÄµ±»ú£¬×îºó×·×ÙÖ´ÐгÌÐò´úÂëÈ´
·¢ÏÖÓ¦¸ÃÊÇBorland C/C++4.0µÄÎÊÌ⣬Òò´Ë×îºóÖ»ºÃÔÚÖäÂîÖÐ·ÅÆúʹÓÃBorland
C/C++4.0£¬¶ø»Øµ½Borland C/C++3.1¡£µ±Ê±Ï룬¶ÔÓÚÎÒÕâ¸ö³¤ÆÚʹÓÃBorland²úÆ·µÄÈË
¶¼ÎÞ·¨ÈÌÊÜ4.0µÄÆ·ÖÊ£¬ÆäËûµÄ³ÌÐòÔ±ÓÖÔõÄÜʹÓÃÕâ¸ö²úÆ·ÄØ£¿ÎÒÏëÕâ¾ÍÊÇΪʲôºóÀ´
4.0È«ÃæÀ£°ÜµÄÔ­Òò£¬ÒòΪBorlandÍÆ³öÁ˸ù±¾²»¿°Ê¹ÓõIJúÆ·¡£

ÎÒÔÚBorland¹¤×÷ʱ£¬ÓÐÒ»´ÎÔÚÐÂ¼ÓÆÂºÍÏÖÈÎBorland¿ª·¢Õß¹ØÏµ²¿ÃŸ±×ܲõÄDavid
Intersimone̸ÆðÕâÒ»¶ÎÍùÊ£¬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µÄÖ±½Ó½éÈ룬Ôì³ÉÈËʲ»ºÍÒ²ÓкܴóµÄÔ­Òò¡£

ÔÚBorland C/C++4.0¿ìËÙʧÀûÖ®ºó£¬BorlandÒ²ÈÏʶµ½ÎÊÌâµÄÑÏÖØÐÔ£¬Òò´ËÁ¢¿Ì×ÅÊÖ
¿ª·¢Borland C/C++ 4.0µÄPatch£¬µ±Ê±ÊdzÆÎªService Pack¡£µ«ÊÇÔÚÉÔºóµÄ4.01°æ
Öв¢Ã»ÓÐÍêÈ«½â¾öÎÊÌ⣬һֱµ½4.02²ÅÉÔ΢½â¾öһЩÑÏÖØµÄÎÊÌâ¡£ÎÞÄÎʱ²»ÎÒÓ裬ÍÏ
µÄʱ¼äÌ«³¤£¬Êг¡ÒѾ­ÆðÁ˾޴óµÄ±ä»¯¡£

Borland C/C++4.0ʧ°ÜÖ®ºó£¬Á¢¿ÌÔì³ÉÁËÑÏÖØµÄºó¹û¡£Ê×ÏÈÊÇBorland C/C++µÄÊг¡
´óÁ¿¶øÇÒ¿ìËÙµØÁ÷ʧ£¬Ê¹µÃVisual C£¯C++¿ìËٵسɳ¤¡£µÚ¶þµãÊǵ±³õBorland C/C++
3.1ÔÚ¹«ÓóÌÐòÊг¡´òϵĽ­É½Ò²¹°ÊÖÈÃÈË£¬Ô­±¾Ðí¶àʹÓÃBorland C/C++3.0/3.1׫
дÇý¶¯³ÌÐòµÄÓ²¼þ³§ÉÌÒ²¿ªÊ¼×ª»»µ½Visual C/C++¡£¶ø¸üÑÏÖØµÄÊÇ£¬ÓÉÓÚ4.0µÄÆ·ÖÊ
ÒÔ¼°ÉÔºóOLEµÄ¹ØÏµ£¬Ó¦ÓóÌÐòÊг¡Ò²¿ªÊ¼´óÁ¿µØ×ªÎªÊ¹ÓÃVisual C/C++À´±àдӦÓÃ
³ÌÐò¡£

´Ëʱ£¬BorlandÔÚÈý¸öÖ÷ÒªµÄÓ¦ÓÃÊг¡½ÓÁ¬°ÜÍË£¬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++ºÍWatcom 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ÍÆ³öµÚÒ»¸öWindowsÉϵÄC/C++
¿ª·¢¹¤¾ß¡£1993Äê×óÓÒ£¬ÔÚEugene WangµÄÕÆ¶æÖ®Ï£¬SymantecÍÆ³öÁ˵ÚÒ»¸ö
Symantec C/C++°æ±¾£¬Á¢¿Ì±ã»ñµÃÁËÊг¡µÄºÃÆÀ¡£×Ô´ËÖ®ºóSymantec C/C++¾üÐÄ´óÕñ£¬

²»¶ÏµØ¼ÌÐø¸ÄÉÆ£¬Ò²Öð½¥»ñµÃÁ˲»Ð¡µÄC/C++Êг¡£¬Ù²È»³ÉΪ¿ÉÒÔ¶Ô¿¹Borland C/C++¡¢

Visual C/C++µÄÁíһɽͷ¡£µ±Ê±Symantec C/C++ÊÇÒÔ×Àö¡¢ÏȽøµÄ¼¯³É¿ª·¢»·¾³»ñ
µÃÁËÊг¡µÄ¸ß¶ÈÈÏͬ£¬ÔÚC/C++±àÒëÆ÷×î¼Ñ»¯·½ÃæµÄ±íÏÖÒ²²»Ê䏸ÆäËûµÄ±àÒëÆ÷¡£

µ±Ê±ÎÒÕýΪ¡¶RUN!PC¡·×«Ð´ÓйØC/C++µÄÎÄÕ£¬Òò´ËSymantec̨Íå·Ö¹«Ë¾µÄÈËÒ²ºÍÎÒ
ÁªÂç¹ý£¬²¢ÇÒË͸øÎÒÒ»Ì××î¸ßµµµÄSymantec C/C++°æ±¾£¬Ï£ÍûÎÒ³ýÁËΪBorlandдC/
C++µÄÎÄÕÂÖ®Í⣬ҲÄܹ»ÎªSymantec C/C++дһЩ¶«Î÷¡£ÎÒ»¹¼ÇµÃ£¬ÔÚµ±Ê±°²×°
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++µÄ·¢Õ¹Ê·

·Ç³£ÓÐȤµÄÊÇ£¬Watcom C/C++×ߵķ×ÓºÍSymantec C/C++¼¸ºõÊÇÍêÈ«Ïà·´µÄ¡£µ±Ê±³ö
Æ·Watcom C/C++±àÒëÆ÷µÄÊÇÒ»¼Ò¼ÓÄôóµÄС¹«Ë¾£¬²»¹ýÕâ¼Ò¹«Ë¾È´¶Ô×î¼Ñ»¯±àÒëÆ÷ÓÐ
ÉîÈëµÄÑо¿¡£µ±Ê±£¬Watcom C/C++ÊÇÒÔÔÚDOSÏÂÄܹ»²úÉú×îºÃµÄ×î¼Ñ»¯³ÌÐò´úÂëÎÅÃû
ÓÚÊÀµÄ£¬Ðí¶àдÓÎÏ·ºÍDOS ExtenderµÄ³§É̶¼Ö¸ÃûҪʹÓÃWatcom C/C++£¬ÒòΪ²»ÂÛÊÇ
Borland C/C++»¹ÊÇVisual C/C++£¬ËüÃDzúÉúµÄ×î¼Ñ»¯³ÌÐò´úÂë¶¼±È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"µÄ
×ܼࡣ¶øPharLap¹«Ë¾Êǵ±Ê±³ö°æDOS ExtenderÈí¼þ×î³É¹¦µÄÈí¼þ¹«Ë¾¡£

µ±Ê±ÓÉMatt Pietrek׫дµÄWindows InternalsÒ²ÊǺ䶯һʱµÄ¾ÞÖø¡£Ì¸µ½Matt
Pietrek£¬ÊìϤWindows ProgrammingµÄ¶ÁÕßÓ¦¸ÃºÜÉÙÓв»ÖªÕâλ´óʦ¼¶ÈËÎïµÄ¡£Matt
³¤ÆÚÔÚMicrosoft System Journal׫дUnder The HoodרÀ¸£¬×¨ÃÅдһЩÉîÈëϵͳµÄ
³ÌÐòÉè¼Æ¼¼Êõ£¬ÔÚÊýÄêǰ±ãºÍAndrew Schulman¡¢David Maxey³ÉΪWindows System
ProgrammingµÄÈý´ó¾ÞÍ·Ö®Ò»¡£MattÒ²ÊÇÖøÃûµÄWindows³ý´í¹¤¾ßSoftIce¡¢
BoundsCheckerµÄÖ÷ÒªÑз¢¹¤³Ìʦ¡£Matt±¾ÉíÊÇ´ÓBorland³öµÀµÄ£¬Ëû³õÖÁBorland¹¤×÷
ʱ±ãÊÇÔÚTurbo DebuggerС×éÖÐÑз¢³ý´í¹¤¾ß¡£µ±Ê±BorlandµÄTurbo DebuggerÊÇDOS
ÏÂ×îÇ¿µÄ³ý´í¹¤¾ß£¬¼´Ê¹ÊÇMicrosoftÒ²ÎÞ·¨ÍƳöÄܹ»ºÍTurbo Debugger¿¹ºâµÄ³ý´í¹¤
¾ß¡£MattÔÚÕâ¸öС×éÖÐÎüÊÕÁË´óÁ¿µÄ֪ʶ£¬²¢ÇÒ¿ìËÙ³ÉΪÕâ¸öÁìÓòµÄר¼Ò¡£ºóÀ´Turbo

DebuggerС×éµÄ²¿·Ö³ÉÔ±±»MicrosoftÍÚ×ߣ¬ÈÃMicrosoftÕÆÎÕÁËBorlandµÄºËÐijý´í¼¼
Êõ£¬ÒÔÖºóÀ´Ò²Äܹ»ÍƳö²»´íµÄ³ý´í¹¤¾ß¡£¶øMattÒ²³ö×ßµ½NuMega¹«Ë¾£¬³ÉΪ¿ª·¢
SoftIce¡¢Bounds CheckerµÄ¹Ø¼üÈËÎï¡£

дµ½ÕâÀﻹÊDz»½ûÒªÅå·þBorland£¬ÒòΪµ±½ñÐí¶àÃûÂúÌìϵÄÖØÁ¿¼¶Èí¼þ¹¤³Ìʦ¶¼ÊÇ
ÓÉBorlandÅàÑø³öÀ´µÄ¡£

Watcom C/C++ÔÚDOSÊг¡Õ¾ÎÈÁ˽ŸúÖ®ºó£¬ÓÉÓÚWindowsÒѾ­Öð½¥³ÉΪÊг¡µÄÖ÷Á÷£¬DOS
ÊÆ±Ø½«±»Öð½¥ÌÔÌ­³ö¾Ö£¬Òò´Ë£¬Watcom C/C++Èç¹ûÒª¼ÌÐøÉú´æÏÂÈ¥£¬Ò²¾Í-¶¨ÒªÍƳö
Windowsƽ̨µÄC/C++¿ª·¢¹¤¾ß¡£´óÔ¼ÊÇÔÚ1993¡¢1994Äê×óÓÒ£¬WatcomÖÕÓÚÍÆ³öµÚÒ»¸ö
WindowsϵÄC/C++¿ª·¢¹¤¾ß¡£

²»¹ý£¬µ±Ê±Watcom C/C++ÔÚWindowsÍÆ³öµÄC/C++¿ª·¢¹¤¾ßʵÔÚÊÇÆ½µ­ÎÞÆæ¡£Æä¼¯³É¿ª
·¢»·¾³ºÍÁíÍâÈý¸ö¶ÔÊÖ±È½ÏÆðÀ´¼òÖ±ÏñÊÇÔ¶¹ÅµÄ²úÆ·£¬-µãÌØÉ«¶¼Ã»ÓС£²»¹ýWatcom
C/C++ÈÔÈ»ÊÇÒÔËüµÄ×î¼Ñ»¯±àÒëÆ÷×÷ΪºÅÕÙ¡£Òò´Ëµ±Ê±·¢ÉúÁËÒ»¸ö·Ç³£ÓÐȤµÄÏÖÏó£¬
ÄǾÍÊÇÐí¶àÈí¼þ¹«Ë¾»áͬʱÂòBorland C/C++£¬»òÊÇVisual C/C++£¬Symantec C/C++
Ö®Ò»£¬ÔÙ´îÅäÒ»Ì×Watcom C/C++¡£ÔÚ¿ª·¢Ó¦ÓÃϵͳʱʹÓÃÆäËûÈýÌ׿ª·¢¹¤¾ßÖ®Ò»£¬×î
ºóÒª³ö»õʱÔÙʹÓÃWatcom C/C++À´±àÒëÒÔ²úÉú×î¼ÑµÄ³ÌÐò´úÂë¡£

ÔÚWatcom C/C++ÍÆ³öÁËWindowsƽ̨µÄ¿ª·¢¹¤¾ßÖ®ºó£¬Ò²ÎüÒýÁË-ȺʹÓÃÕß¡£ËäÈ»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++Öð½¥Õ¾ÎÈÁ˽ŸúÖ®ºó£¬C/C++ËÄ´ó±àÒëÆ÷¾öÕ½µÄʱ
¿ÌÒ²Ö𽥱ƽüÁË£¬Ò»Ð©ÆäËû³ö²ú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£¬ÀýÈçZAppºÍZincµÈ£¬

µ«ÊÇÕâЩC/C++ FrameworkÖÕ¾¿Ã»ÓвúÉúºÜ´óµÄÓ°Ïì¡£Èç¹ûSymantecºÍWatcomÒª×Ô
¼º·¢Õ¹ÐµÄC/C++ Framework£¬ÄÇËûÃÇ»¹Ã»ÓÐÈç´ËÐÛºñµÄ×ÊÔ´£¬Ò²ÎÞ·¨ÔÚ¶Ìʱ¼äÖ®ÄÚ
Íê³É¡£Òò´ËSymantecºÍWatcom±ØÐë¾ö¶¨£¬µ½µ×ÊÇҪʹÓÃMicrosoftµÄMFC»¹ÊÇʹÓÃBorland

µÄOWLÀ´×÷ΪËûÃÇ¿ª·¢¹¤¾ßµÄC/C++ Framework¡£

1993Äê³õ£¬SymantecºÍWatcom·Ö±ðºÍMicrosoftǩԼÊÚȨʹÓÃMFC×÷ΪËûÃǵĿª·¢¹¤¾ß
µÄC/C++ Framework£¬ÖÁ´Ë´ó¾ÖÒѶ¨£¬ÔÚC/C++ FrameworkµÄÊг¡ÒѾ­ÐγÉÈý¼Ò¼Ð»÷Ò»
¼ÒµÄÐÎÊÆ¡£µ±Ê±Ðí¶àÈ˱ãÔ¤²âBorland»á³ÉΪÊä¼Ò£¬ÒòΪÊг¡ÒѾ­³ÉÎªÒ»Ãæµ¹µÄÏÖÏó£¬
MFC¿´ÆðÀ´ÒѾ­ÊÇʤȯÔÚÎÕÁË¡£µ±Ê±£¬BorlandµÄÄÚ²¿Ò²Õ¹¿ªÁ˼¤ÁҵıçÂÛ£¬ÌÖÂÛÊÇ
·ñÒ²ÒªÊÚȨʹÓÃ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£¬ÄÇô»¹ÐèÒªÐÞ¸ÄBorlandµÄC/C++±àÒëÆ÷À´±àÒëMFC¡£

¶ÔÓÚÕâÒ»µã£¬ÎÒÈÏΪBorlandÊÇ×öÁËÒ»¸öÕýÈ·µÄ¾ö¶¨¡£ÒòΪ£¬Èç¹ûµ±Ê±BorlandÒ²ÊÚȨ
ʹÓÃMFC£¬ÄÇô²»µ«ÔÚÆøÊÆÉÏÊäÁËÒ»½Ø£¬¶øÇÒ£¬ÓÉÓÚMFCµÄ·¢Õ¹ÍêÈ«ÕÆÎÕÔÚMicrosoft
µÄÊÖÀ²ÉÓÃMFC¾ÍµÈÓÚ²±×Ó±»ÆþÔÚ±ðÈ˵ÄÊÖÀ¶¯µ¯²»µÃ¡£¿ÉϧµÄÊÇ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¿ÉÒÔÈÃWindowsƽ̨µÄÎļþÄÚǶÔÚ²»Í¬µÄÓ¦ÓóÌÐòÖУ¬²¢ÇÒÄܹ»ÈÃÎļþÔÚÓ¦ÓÃ
³ÌÐòÖб»¼´µØ±à¼­(In Place Editing)¡£ËµÊµÔڵģ¬MicrosoftµÄOLEºÍAppleÒÔ¼°IBM
µÄ¼¼Êõ±È½ÏÆðÀ´ÊµÔÚÊDzî¶àÁË£¬ÔÚÉÔºóÒ²±»Ö¤Ã÷ÊÇʧ°ÜµÄ¼¼Êõ¡£²»¹ý£¬MicrosoftµÄOLE

ºÍApple/IBMµÄÎļþ¼¼Êõ¶¼ÊÇʧ°ÜµÄ¼¼Êõ£¬¶¼Ã»ÓÐÔì³É¾Þ´óµÄ³É¹¦¡£ËäÈ»ÕâЩÎļþ¼¼
Êõ¶¼Ã»Óгɹ¦£¬µ«ÊÇOLEÈ´×ãÒÔ³ÉΪBorland¡¢SymantecºÍWatcomʧ°ÜµÄÖØÒªÒòËØ¡£

ÎҼǵõ±Ê±OLEËÆºõ³ÉΪÁËÒ»¸öÁîÈËÇ÷Ö®Èôð͵Äʱ÷Ö¹¦ÄÜ¡£WordµÄÎļþÄܹ»ÄÚǶÔÚExcel

Ö®ÖУ¬¶øÇÒʹÓÃÕß¿ÉÒÔµãÑ¡´ËWordÎļþ£¬Ó¦ÓóÌÐòÓÖÁ¢¿Ì³ÉΪWordÀ´±à¼­Ëü£¬ÊµÔÚÁî
È˾õµÃ·Ç³£µÄÉñÆæ¡£²»¹ý£¬ÔÚÆäʱËùÓеÄÈí¼þ³§ÉÌÖУ¬Ö»ÓÐMicrosoftµÄÓ¦ÓóÌÐòÓÐ
Èç´ËµÄ¹¦ÄÜ£¬ÆäËûµÄ³§ÉÌÀýÈçLotus¡¢WordPerfectµÈ¶¼ÎÞ·¨ÊµÏÖÕâÖÖ¹¦ÄÜ¡£

ÕâÃ÷ÏÔµØÔì³ÉÁ˲»¹«Æ½µÄ¾ºÕù£¬ÒòΪOLE¼¼ÊõÊÇÓɲÙ×÷ϵͳ³§ÉÌMicrosoftÍÆ³öµÄ£¬µ«
ÊÇÈ´ÈÃËüµÄÓ¦ÓóÌÐò²¿ÃÅͬ²½ÓµÓÐÕâÖÖ¼¼Êõ£¬¶øÆäËûµÄÈí¼þ³§É̶¼ÎÞ·¨»ñµÃµÚÒ»ÊÖµÄ
OLE¼¼ÊõÀ´±àдӦÓóÌÐò£¬ÕâÒ²ÊÇΪʲôµ±Ê±ÆäËûµÄÈí¼þ³§ÉÌÈç´Ë»ð´óµÄÔ­Òò¡£

ËäÈ»ºóÀ´ÆäËûµÄÈí¼þ¹«Ë¾ÔÚÈ¡µÃÁËOLEµÄ¼¼Êõ×ÊÁÏÖ®ºó£¬Ò²ÍƳöÁ˾߱¸OLE¹¦ÄܵÄÓ¦ÓÃ
³ÌÐò£¬µ«±Ï¾¹ÊÇÂýÁËMicrosoftÐí¾Ã£¬Êг¡Ò²Á÷ʧÁËÐí¶à¡£²»¹ý£¬ÎÒ¾õµÃºÜÆæ¹ÖµÄÊÇ£¬
ÔÚµ±Ê±ÄÚ½¨OLE¹¦ÄܵÄÓ¦ÓóÌÐòÖ®ÖУ¬¼¸ºõËùÓÐÈí¼þ³§ÉÌÍÆ³öµÄÓ¦ÓóÌÐòÔÚ¼¤»îÊý
¸öÓ¦ÓóÌÐò¶øÇÒʹÓÃOLEÖ®ºó£¬¾Í·Ç³£ÈÝÒ×ËÀ»ú£¬Ö»ÓÐMicrosoftµÄÓ¦ÓóÌÐò²»Ì«»á·¢
ÉúÕâÖÖÇéÐΣ¬Òò´ËÐí¶àÈ˱ãÈÏΪMicrosoftÒþÂ÷ÁËһЩ¼¼ÊõûÓÐÈÃÆäËûµÄ³§ÉÌÖªµÀ¡£

ÓÉÓÚOLEÊÇÈç´ËµÄ¸´ÔÓ£¬Òò´ËBorlandÎÞ·¨Á¢¿ÌÔÚOWLÖ®ÖÐʵÏÖÕâÖÖ¹¦ÄÜ£¬ÓÚÊǾÍÔì³É
³§Êг¡ÉϸºÃæµÄÓ°Ïì¡£ÖÁÓÚSymantecºÍWatcomËäÈ»ÊÚȨʹÓÃMFC£¬µ«ÊÇÔÚÆäʱËüÃÇÊÚ
ȨʹÓõÄÊÇ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µÄOWL2.5ÖÐÖ§³ÖOLE¡£µ±Ê±BorlandÍÆ³öµÄ¶ÔÓ¦½â¾ö·½°¸±ãÊÇOCF(Object Component

Framework)¡£

Borlandµ±³õÔÚÉè¼ÆOCFʱÓм¸¸öÖØ´óµÄÄ¿±ê£¬ÕâЩĿ±ê°üÀ¨£ºµÚÒ»¡¢ÈçºÎʹOLEËöËé¡¢
¸´ÔӵĽӿڵ¥´¿»¯¡£µÚ¶þ¡¢ÈçºÎʹOLEÔÚ´°¿Ú»·¾³ÏÂд³ÌÐòµÄ˼¿¼·½Ê½Ò»Ö»¯--¼´
ʹÓÃ"ʼþÇý¶¯"µÄ·½Ê½À´¿ª·¢¡£µÚÈý¡¢ÈçºÎÔÚ΢ÈíÕ¼¾¡Ììʱ¡¢µØÀû(µ«Î´±ØÈ˺Í)µÄÇé
¿öÏÂʹBorlandµÄ²úÆ·¾ß±¸OLEµÄ¹¦ÄÜ¡£µÚËÄ¡¢ÈçºÎÈôó¶àÊýC/C++µÄ³ÌÐòÔ±¶¼Äܹ»Ïí
ÊÜOLEµÄ¹¦Äܶø²»¾ÖÏÞÓÚOWL¡£ÓÉÓÚÉÏÊöµÄÉè¼ÆÄ¿±ê£¬´Ó¶øÔì¾ÍÁ˵äÑŶø¾ßÓе¯ÐÔµÄ
OCF¡£ÓÉÓÚOCF±¾ÉíÊÇÒ»ÍêÕû¶ø¶ÀÁ¢µÄFramework£¬Òò´ËËü¿ÉÊÊÓÃÓÚ¸÷ÖÖC/C++
FrameworkÖ®ÖУ¬°üº¬ÁËOWL¡¢MFCÒÔ¼°ZApp/ZincµÈFramework¡£

²»ÖªµÀ¸÷λʹÓùýBorland C/C++µÄÅóÓÑÃÇÊÇ·ñ»¹ÒÀÏ¡¼ÇµÃÏÂͼËùʾµÄOCF¼Ü¹¹Í¼Ö®Ò»£¬

ÒÔ¼°ÏÂÃæµÄOCF·¶Àý³ÌÐò´úÂ룿ÕâЩ¿ÉÊÇÎÒ°Ñ1994ÄêдµÄÎÄÕÂÍÚ³öÀ´Ö®ºóÕÒµ½µÄ£¬
ÕæÊÇÁîÎҸп®£¬²»½û»ØÏëÆðÁ˵±Ê±µÄÇé¾°£¬ÔÚ´ËÒ²Èø÷λ»ØÒäÒ»ÏÂOWLºÍOCF¡£¶ÔÓÚ²»
ÊìϤOWLºÍOCFµÄÅóÓÑ£¬Ò²¿ÉÒÔ´ÓÏÂͼºÍ³ÌÐò´úÂëÖй۲ìһϵ±Ê±µÄ¼¼ÊõÒÔ¼°Éè¼ÆµÄ¸Å
Äî¡£ÎÒÏÖÔÚ¿´ÕâЩͼÐμܹ¹£¬»á·¢ÏÖ»ù±¾ÉÏËüÃDz¢Ã»ÓÐÂäºóÏÖÔÚÌ«¶à£¬¿É¼ûµ±Ê±Éè¼Æ
ÕߵŦÁ¦(µ±È»ÓÖÊÇCarl Quinn¶¨ÒåµÄ¼Ñ×÷Ö®Ò»)¡£

³ÌÐò1 OWLµÄTOleWindowÖ§³ÖOLE²åÈë¶ÔÏóµÄ³ÉÔ±º¯Êý

//
// 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);
}
}


³ÌÐò2 OWLµÄTOleWindowÖ§³Ö×ó¼üË«»÷µÄ³ÉÔ±º¯Êý

//
// 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
}

ËäÈ»Borland¼°Ê±µØÔÚOWL2.5ÖмÓÈëÁËOLEµÄÖ§³Ö£¬ÎÞÄÎMicrosoftËæºóÓÖÔÚOLEÖмÓÈë
ÁËÐí¶àÆäËûµÄ¹¦ÄÜ¡£Òò´ËÈÃOCF»¹ÊÇÎÞ·¨ÍêÕûµØÖ§³ÖOLEËùÓеŦÄÜ£¬BorlandÓÖÎÞ·¨
²»ÑÓºóBorland C/C++µÄÍÆ³ö£¬Òò´ËÖ±µ½l994ÄêÄ©£¬Borland²ÅÖÕÓÚÍÆ³öÁ˾öÕ½ÐÔµÄ
Borland C/C++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µÄÔòÊÇÒÔºìɫΪɫϵ£¬·Â·ðÁ½´ó¾üÍÅÖÕ½«¾öÕ½ËÆµÄ¡£

²»¹ý£¬Õâ´ÎµÄÕ½ÒÛ²»½ö½öÊÇBorlandµÄÀ¶¾üºÍMicrosoftµÄºì¾üÏà¶Ô¿¹¡£ÔÚSymantecµÄ
»ªÀö¾üÍž­¹ýÁËÕû¾ü¾­Î䣬WatcomµÄ°×É«¾¢ÂÃÕí¸ê´ýµ©£¬¶øÇÒ¶¼´ÓMicrosoftÊÚȨʹ
ÓÃÁË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¾ÓÈ»±ÈËûÃÇʹ
ÓõÄ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++
ÐÂ°æ±¾ÕæµÄ²¢²»±ÈBorland C/C++4.5ºÃ£ºËäÈ»4.5Ò²ÓÐOCF£¬µ«ÊÇÔÚÊг¡ÉÏÖ»ÓÐBorland
ºÍNovell¡¢WordPerfectÑ¡ÔñʹÓÃOCF¡£ÔÚºÍMicrosoftµÄVisual C/C++¾­¹ý½«½üÒ»Äê
µÄ²ø¶·Ö®ºó£¬ÆäËû´ó²¿·ÖµÄ³§É̶¼Ñ¡ÔñÁËMicrosoftµÄMFC 2.x°æ£¬ÕæÊÇÐÎÊÆ±ÈÈËÇ¿¡£
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µÄÊг¡Öð½¥Ê½Î¢£¬¶øWindowsƽ̨µÄ¿ª·¢¹¤¾ßÓÖ
´ó°Ü¶ø¹é£¬Á½Í·Âä¿Õ¡£²»¾ÃÖ®ºó£¬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µÄä¯ÀÀÆ÷´óÕ½¡£

ÔÚC£¯C++×îºóÒ»ÒÛÖ®ºó£¬ÎÒÈÏΪ¿ª·¢¹¤¾ßµÄÊ¥Õ½ÒÑÈ»½áÊø£¬BorlandÒ²Õýʽ¿ªÊ¼×ßÏÂ
ÆÂ·¡£¸üÑÏÖØµÄÊÇÎÒÈÏΪ×Ô´ËÖ®ºóBorland²»µ«É¥Ê§ÁËC/C++µÄ½­É½£¬Ò²Ê§È¥Á˶ÔÓÚ
C/C++¿ª·¢¹¤¾ßµÄ´´Ò⣬ÕâÊÇÎҸе½×îÒź¶µÄµØ·½£¬µ½ÏÖÔÚΪֹÎÒÈÔÈ»ÈÏΪBorlandÉÐ
Î´ÖØÊ°µ±³õÔÚBorland C/C++3.0/3.1ʱ´ú¶ÀÁìC/C++´´Òâ·çɧµÄ¾«Éñ¡£Ò²Ðí£¬Ò²Ðí£¬
Òª¿´¿´C/C++ For Kylix»òÊÇC++BuilderµÄºó¼Ì²úÆ·ÊÇ·ñÄܹ»ÖØÐÂÕÒ»ØÕâ¸öʧȥÒѾÃ
µÄ¾«Éñ£¬²»ÔÙÈôó¼ÒʧÍûÁË¡£

ÓÀ²»³ÉÆøºòµÄC/C++¿ª·¢¹¤¾ß£ºIBM VisualAge C/C++

IBMÔÚC/C++¿ª·¢¹¤¾ßÊг¡°çÑݵĽÇɫһֱÁîÈËÌäЦ½Ô·Ç£¬ÒòΪÔÚC/C++±àÒëÆ÷Õ½Õù×î
¼¤ÁÒµÄʱ¿Ì£¬IBMÕâ¸öÈ«ÇòÐÅÏ¢´ó³§È´Ò»Ö±ÊÇȱϯµÄ¡£Ò»Ö±µ½ÁË1995ÄêÖ®ºó£¬C/C++±à
ÒëÆ÷Êг¡´óÊÆÒѶ¨ºó²ÅÂýÂýµØ¼ÓÈëÕ½¾Ö£¬ÍƳöVisualAge C/C++ 3.0£¬Æóͼ½ø¹¥´ËÊÐ
³¡¡£µ«ÊÇ´ËʱÊг¡ÔçÒÑÓÉMicrosoftµÄVisual C/C++³ÆÐÛ¡£IBMµÄVisualAgeËäÈ»Äܹ»
ÒÔ´´ÐµĿÉÊÓ»¯Éè¼Æ¼Ò¶¨Òå¶ÔÏóÖ®¼äµÄ¹ØÏµ£¬µ«ÊÇÔÚÆäËû·½ÃæÈ´·¦Éƿɳ£¬Õû¸ö¼¯³É
¿ª·¢»·¾³Ò²»ºÂýÈçÎÏÅ££¬ÐèÒª·Ç³£¸ßµÄÓ²¼þÅäÖòÅÄܹ»Ë³ÀûÔËÐУ¬ºÍVisual C/C++ÒÔ
¼°Borland C/C++µÈ¹¤¾ß±È½ÏÆðÀ´¾ÍÏñÊÇ¿ÖÁúÒ»°ã£¬Òò´Ë¼¸ºõûÓÐÔÚÊг¡ÉÏÒýÆðÈκÎ
µÄ·´Ó¦¡£

ÔÚÍÆ³öµÄVisualAge C/C++3.0²¢Ã»ÓÐÔÚPCµÄC/C++¿ª·¢¹¤¾ßÊг¡»ñµÃÈκεÄÃ÷ÏԳɹû
Ö®ºó£¬IBMÓÖÔٴμ¯ÖÐÐí¶à×ÊÔ´£¬¿ª·¢ÏÂÒ»´ú3.5°æ±¾£¬Ï£ÍûÄܹ»ÔÚ´ËÊг¡Õ¼ÓÐÒ»¶¨µÄ
±ÈÂÊ¡£ÎÒÖªµÀIBMÔÚVisualAgeͶעÁË´óÁ¿µÄ×ÊÔ´£¬ÒòΪ´ÓBeta°æ¿ªÊ¼Ì¨ÍåµÄIBM±ãÓÐ
È˺ÍÎÒ½Ó´¥£¬Ï£ÍûÎÒÒ²ÔÚ¡¶RUN!PC¡·ÉÏΪVisualAge C/C++3.5дЩÎÄÕ¡£Òò´ËÔÚ1996
ÄêµÄ6ÔÂÎÒдÁËһƪC/C++±àÒëÆ÷µÄ±È½ÏÎÄÕ£¬ÏÂÃæµÄ×ÊÁϱãÊÇÊýÄêǰµ±Ê±»¹ÊÇBeta°æ
µÄVisualAge 3.5ºÍÆäËû±àÒëÆ÷µÄ±È½Ï½á¹û(¼ûÏÂÒ³)¡£

´ÓͼÖеÄÊý¾Ý¿ÉÒÔ¿´µ½£¬ÆäʵVisualAge C/C++3.5µÄ±íÏÖ»¹²»´í£¬Ö»ÊǶÔÓÚµ±Ê±»¹ÔÚ
ʹÓÃAMD DX4-100/32M RAM»úÆ÷µÄÎÒÀ´Ëµ£¬ÊµÔÚÊÇÅܲ»¶¯¡£ºóÀ´Ì¨ÍåIBM¸ºÔðVisualAge
µÄ²úÆ·¾­ÀíÇëÎÒ³Ô·¹£¬ÔÚ´Ë·¹¾ÖÖÐÕâλÀî¾­ÀíͬʱÇëÁ˺ØÔª(ºóÀ´³ÉΪ×ÊѸÈ˵Ä×ܲÃ)¡¢

ѦÏþá°(ºóÀ´³ÉΪ×ÊѸÈ˵ĸ±×ܲÃ)ÒÔ¼°ÆäËûÁ½Î»×÷Õߣ¬Ï£Íû´ó¼ÒÔÚ¼ÆËã»úÔÓÖ¾ÖмÌÐø
ΪVisualAge C/C++3.5дд¶«Î÷£¬Ò»ÆðPromote´Ë²úÆ·¡£ÔÚÕâ¸ö·¹¾ÖÖÐÎÒÊǵÚÒ»´ÎºÍ
ºØÔª¡¢Ñ¦Ïþá°¼ûÃæ£¬µ±Ê±ºØÔªÔÚÖÐÎÄPC MagazineÓÐÒ»¼¼ÊõרÀ¸¡£¼ÇµÃµ±ÎÒÏòÕâλÀî
¾­ÀíÌáÆðÎҵĻúÆ÷¼¸ºõÎÞ·¨Åܵö¯VisualAge C/C++3.5ʱ£¬Ëû»¹Á¢¿ÌÒ»¿Ú´ðÓ¦½èÎÒÒ»
̨µ±Ê±IBM×î¸ßµµµÄPC¡£Í¬Ê±Ã¿Ð´Ò»ÆªVisualAge C/C++3.5µÄÎÄÕ£¬³ýÁË¡¶RUN!PC¡·
Ô­±¾µÄ¸å·ÑÖ®Í⣬IBM»áÔÙ¸¶Ò»×Ö2.5ÔªµÄ¸å·Ñ¡£¹Ô¹Ô£¬IBMÕæÊÇ´óÊֱʡ£ÎÒËãË㵱ʱÎÒ
µÄ²úÄÜ£¬Ð´Ò»ÆªÎÄÕ¾ÍÄܹ»×¬2µ½3Íò£¬ÓÖÓÐÃâ·ÑµÄ×î¸ßµµ»úÆ÷¿ÉÓã¬ÕæÊÇÌ«ºÃÁË¡£²»
¹ýºóÀ´ÎÒ»¹ÊǾõµÃIBMÔÚ´ËÊг¡¿ÉÄܲ»»áÉî¸û¡£ÔÚ²»Ô¸ÒâÎ¥±³×Ô¼ºÐ´×÷ϰ¹ßºÍµÃ×ï
BorlandµÄ¹ËÂÇÏ£¬×îºó»¹ÊÇûÓдðÓ¦¡£ÏÖÔÚÏëÏëµ±Ê±ÕæÊÇÌ«±¿ÁË£¬·ÅןÃ׬µÄ¸å·Ñ²»
׬£¬Îû¡£

IBMµÄC/C++¿ª·¢¹¤¾ßÖ®ËùÒÔÔÚÊг¡ÎÞ·¨³É¹¦£¬ÊÇÒòΪIBM²¢²»Á˽âÔڴ˾ºÕù¼¤ÁÒµÄÊÐ
³¡ÖÐʹÓÃÕßµ½µ×Ҫʲô¡£ÁíÍâÒ»¸öÔ­ÒòÔòÊÇIBM²¢²»ÒÔPCÉϵĿª·¢¹¤¾ßÈí¼þÎªÖØÒªµÄ
ÊÂÒµ¡£¼´Ê¹ÎÞ·¨¾ºÕùºÍ»ñÀû£¬¶ÔÓÚIBMÀ´ËµÒ²Ã»ÓÐʲôӰÏ죬ÒòΪIBMÖ÷ÒªÊÇ¿¿Ó²¼þºÍ
´óÐÍÈí¼þΪÖ÷£¬²»ÏñBorlandÕâ¿ÉÊÇÉúÃüÖ®Õù¡£Òò´ËIBMÖ»ÊÇÐËÆðÍæÍæ£¬Ëæ¼´·ÅÏ¡£Ëù
ÒÔÎÒ¾õµÃÔÚPCƽ̨ʹÓÃIBMµÄ¹¤¾ßÊǺÜΣÏյģ¬ÒòΪIBMËæÊ±¶¼¿ÉÄÜ»á·ÅÆúÕâ¸öÊг¡¡£
²»ÖªµÀÏÖÔÚVisualAge C/C++µ½µ×ϳ¡ÈçºÎ?ÊDz»ÊÇ»¹ÔÚ3.5»òÊÇ4.0°æ£¿IBMÒѾ­ÊýÄê
ûÓÐÈκεÄά»¤ºÍ¸ÄÉÆÁË¡£

¿ìËÙéæÂäµÄ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ÄêµÄÈËÀ´Ëµ£¬Ëü±ÈDelphi¸ü¾ßÓÐÎüÒýÁ¦¡£Òò´ËÎÒÁ¢¿ÌÔÚ¡¶RUN!PC¡·ÉϽéÉÜÁËÕâ¸ö
²»¿ÉÖÃÐŵŤ¾ß¡£¹ûÈ»£¬Optima++ºÜ¿ì¿ªÊ¼·ç¾íÊг¡£¬ËäȻûÓÐÁ¢¿ÌÕ¼¾ÝºÜ´óµÄÊг¡
·Ý¶î£¬µ«ÊÇÒѾ­Ôì³ÉÁËÒ»¹ÉÆøÊÆ£¬¿ªÊ¼ÎªVisual C/C++ºÍDelphi´øÀ´Ñ¹Á¦¡£

ÎҼǵõ±Ê±Ì¨ÍåSybase°ìµÄ²úÆ··¢±í»áÒ²ÎüÒýÁËÊý°ÙÈËÓë»á£¬²»¿ÉÒ»ÊÀ¡£ÎÒµÄÎÄÕÂÔÚ
¡¶RUN!PC¡·6ÉÏ·¢±íÖ®ºó£¬Ì¨ÍåµÄSybaseÁ¢¿ÌºÍÎÒÁªÂ磬Óɵ±Ê±µÄÓàЭÀíºÍÎÒ¼ûÃæ£¬
Ò²ÊÇÏ£ÍûÎÒ¼ÌÐøÎªOptima++дÎÄÕ£¬Ì¨ÍåSybaseÒ²Ìṩ¶îÍâÒ»×Ö¼Ó2Ôª¸å·ÑµÄ´ýÓö¡£
µ«ÊÇÎÒ¸æËßÓàЭÀí£¬Optima++1.0ËäÈ»ºÜ°ô£¬µ«ÊÇÈÔÈ»ÓÐһЩ³ô³æ£¬¶øÇÒºÍÖÐÎÄ»·¾³
Ïà³åÍ»£¬ÎÞ·¨´¦ÀíÖÐÎÄ£¬ÐèÒªÁ¢¿Ì½â¾öÕâ¸öÎÊÌâ²ÅÄܹ»ÔŲ́ÍåµÄÊг¡³É¹¦¡£Ëý´ðÓ¦ÎÒ
Á¢¿ÌÏò×ܹ«Ë¾·´Ó¦¡£ÎÒÒ²ÀÏʵµØ¸æËßËý£¬ÔÚÎÊÌâûÓнâ¾ö֮ǰ£¬ÎÒÎÞ·¨Ð´Ò»Ð©²»È·Êµ
µÄ¶«Î÷¡£ºóÀ´Ì¨ÍåBorlandµÄ×ܾ­Àí·½ÏÈÉúÒ²ÕÒÎÒȥѯÎÊÓйØOptima++µÄÊÂÇ飬ÎÒ¸æ
ËßËûOptima++ÊǺö«Î÷£¬µ«ÊÇÖÐÎÄÓÐÎÊÌâ¡£Èç¹ûÖÐÎÄÎÊÌâÄܹ»½â¾ö£¬ÄÇô½«¶ÔBorland
ºÍMicrosoftµÄ²úÆ·ÓкܴóµÄÓ°Ï죬µ±Ê±ÎÒ»¹²»ÖªµÀ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µÄ²úÆ·¾­Àí£¬ÄÇôÊDz»
ÊÇÔ¸Òâ×öPowerJµÄ²úÆ·¾­Àí£¿ÓÉÓÚµ±Ê±ÎÒÒѾ­ÖªµÀBorland¿ªÊ¼ÁËOpen JBuilderµÄÑÐ
·¢£¬¶øÎÒ¶ÔOpen JBuilderµÄÐËȤԶ´óÓÚPowerJ£¬Òò´ËûÓдðÓ¦Sybase¡£¹ûÈ»£¬ÔÚ
Optima++1.5ÍÆ³öÖ®ºó£¬²»µ«ÖÐÎĵÄÎÊÌâûÓнâ¾ö£¬SybaseÖ®ºóҲûÓмÌÐø¶ÔOptima++
Ñз¢ÏÂÈ¥¡£

Optima++Ò»¸öÈç´ËÓÐDZÁ¦µÄ²úÆ·¾ÍÕâÑùÏûʧÁË£¬ÕæÊÇÁîÈËÒź¶¡£Optima++Ó¦¸ÃÓкܺÃ
µÄ»ú»á¿ÉÒԳɹ¦µÄ¡£ÎÒÏàÐÅ£¬Èç¹ûµ±Ê±SybaseÖªµÀC++BuilderºóÀ´µÄ³É¹û£¬¿ÉÄܾͲ»
»á·ÅÆúOptima++ÁË£¬¶øC/C++µÄRAD¹¤¾ßÒ»Ö±Òªµ½ºóÀ´µÄC++BuilderÀ´Íê³ÉÕâ¸öÃΡ£

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»ºÃµÄ¡£









Ïà¹ØÖ÷Ìâ:
×îÐÂÈÈÌù