¶ÔÓÚÀí¹¤ ¿ÆѧÉúÀ´Ëµ£¬Õâ¸ö´ð°¸¿ÉÄܼܺòµ¥£¬ÒòΪÕâÊÇÒ»ÃűØÐ޿Ρ£¶ø¶ÔÓÚ³ÌÐòÔ±À´ËµÑ¡ÔñÒ»Ãűà³ÌÓïÑÔ£¬ÔÚijÖ̶ֳÈÉÏ£¬¶ÔÖ°ÒµÉúÑĵķ¢Õ¹»á²úÉúÖØ´óµÄÓ°Ï죬ËùÒÔ±ØÐëÉ÷ Ö®ÓÖÉ÷¡£ÄÇô£¬ÎªÊ²Ã´ÒªÑ¡ÔñÒ»Ãŵ®ÉúÁ˽«½ü°ë¸öÊÀ¼ÍµÄÓïÑÔ£¿±¾ÎIJ»ÊÇÀÏÉú³£Ì¸µÄ·Ï»°£¬È磺 C ÓïÑÔÊDZà³ÌµÄ»ù´¡ ¡¢ ѧºÃ C ÓïÑÔ£¬×ß±éÌì϶¼²»Å µÈµÈ£¬±¾ÎÄÁ¦ÕùÏ꾡¶øÓÖÓÐÀíµÄ»Ø´ðÕâ¸öÎÊÌ⣬ּÔÚ³ÉΪ×îºÃµÄΪʲôҪѧϰºÍʹÓà C µÄÎÄÕ¡£
¶þ¡¢C ÓïÑÔ
C ÓïÑÔÊÇÓÉÃÀ¹ú AT T ±´¶ûʵÑéÊÒµÄÑо¿Ô± Dennis Ritchie ÔÚ B ÓïÑԵĻù´¡ÉÏ£¬×î³õ×÷Ϊ¸ÄÔì Unix ²Ù×÷ϵͳµÄ¿ª·¢ÓïÑÔ£¬²¢°éËæ×Å Unix ²Ù×÷ϵͳÐËÆð¶øÁ÷ÐУ¬ºóÀ´£¬Ëæ×Å΢ÐͼÆËã»úµÄ·¢Õ¹£¬C ¿ªÊ¼±»ÒÆÖ²µ½ÆäËû²Ù×÷ϵͳƽ̨ÉÏ£¬³ÉΪ¶ÀÁ¢µÄ³ÌÐòÉè¼ÆÓïÑÔ¡£
ÏÂͼժ×Ô TIOBE ±à³ÌÓïÑÔÅÅÐаñ£¬¹ýÈ¥ 30 Äê 90% ʱ¼äÀï C ¶¼ÊǶÀÁì·çɧµÄ£¬½öż¶û±» Java ³¬Ô½£º
¼¼Êõ·ÖÏí
ÄÇôÊÇÒòΪһÃÅÓïÑÔһֱλÓÚÅÅÐаñµÄµÚÒ»Ãû¾Í¸ÃȥѧϰºÍʹÓÃÂð£¿ÏÔÈ»²»ÊÇ£¬ÈËÔÆÒàÔÆÊdzÌÐòÔ±µÄ´ó¼É¡£Îª²Ù×÷ϵͳ¶øÉúµÄ±êǩע¶¨ÁË C ²»¿ÉÄÜƽӹ£¬Êµ»°ÊµËµ£¬C ÊÇÒ»ÃźÜÄÑѧϰºÍʹÓõıà³ÌÓïÑÔ£¬Ã»ÓбàÒëÔÀí¡¢²Ù×÷ϵͳºÍ¼ÆËã»úÌåϵ½á¹¹ÔúʵµÄ»ù´¡ÖªÊ¶£¬¸ù±¾²»¿ÉÄÜ°Ñ C ѧµÄÃ÷°×¡¢ÓõÄ˳ÊÖ¡£C ×÷ΪһÃŹ¤³ÌʵÓÃÐÔ¼«Ç¿µÄÓïÑÔ£¬ÌṩÁ˶ԲÙ×÷ϵͳºÍÄÚ´æµÄ¾«×¼¿ØÖÆ£¬¸ßÐÔÄܵÄÔËÐÐʱ»·¾³£¬Ô´Â뼶µÄ¿çƽ̨±àÒëµÈÓŵ㣬²ÅÊÇÃDZØÐëѧϰºÍʹÓà C µÄÀíÓÉ¡£
ͬʱ£¬ÐÒÔ˵ÄÊÇ C Ò²ÊǸöÓÐȤµÄ¶«Î÷£¬¶Ô±à³ÌµÄÈÏÖªÔ½É¾Í»áÔ½¾õµÃÓÐÒâ˼£¬¼òµ¥ÁоÙһЩ C µÄÓŵ㣺
2.1£©½á¹¹»¯Éè¼ÆÓïÑÔ£¬Óï·¨ÇåÎú¡¢½á¹¹¼òµ¥£¬Ä£¿é»¯Ê¹µÃ³ÌÐòµÄ¸÷¸ö²¿·Ö³ýÁ˱ØÒªµÄÐÅÏ¢½»Á÷Íâ±Ë´Ë¶ÀÁ¢£¬±ãÓÚ¿ª·¢¡¢µ÷ÊÔÒÔ¼°µ÷ÊÔ¡£
2.2£©ÔËËã·û¶à£¬°ÑÀ¨ºÅ¡¢¸³Öµ¡¢Ç¿ÖÆÀàÐÍת»»µÈ¶¼×÷ΪÔËËã·û´¦Àí£¬Áé»îʹÓø÷ÖÖÔËËã·û¿ÉÒÔʵÏÖÔÚÆäËü¸ß¼¶ÓïÑÔÖÐÄÑÒÔʵÏÖµÄÔËËã¡£
2.3£©Êý¾Ý½á¹¹·á¸»£¬ÄÜʵÏÖ¸÷ÖÖ¸´ÔÓµÄÊý¾ÝÀàÐ͵ÄÔËË㣬ÒýÈëÖ¸Õë¡¢½á¹¹Ìå¸ÅÄîʹ³ÌÐòЧÂʸü¸ß¡£
2.4£©Îª²Ù×÷ϵͳ¶øÉú£¬¿ÉÒÔÏñ»ã±àÓïÑÔÒ»Ñù¶Ôλ¡¢×ֽں͵ØÖ·½øÐвÙ×÷£¬ÔÊÐíÖ±½Ó·ÃÎÊÎïÀíµØÖ·¶ÔÓ²¼þ½øÐвÙ×÷£¬°Ñ¸ß¼¶ÓïÑԵĻù±¾½á¹¹ºÍÓï¾äÓëµÍ¼¶ÓïÑÔµÄʵÓÃÐÔ½áºÏÆðÀ´¡£
2.5£©³ÌÐòÖ´ÐÐЧÂʸߣ¬Ò»°ã±È»ã±à³ÌÐòÉú³ÉµÄÄ¿±ê´úÂëЧÂÊµÍ 10%~20%¡£
2.6£©¿ÉÒÆÖ²ÐԺã¬C ÓïÑÔ³éÏóÁËÕë¶Ô CPU ±à³ÌµÄϸ½Ú£¬Äܹ㷺ӦÓÃÓÚÕë¶Ô´óÐͲÙ×÷ϵͳºÍϵͳÈí¼þµÄ±àд¡£
2.7£©¾ß±¸Ç¿´óµÄ»æͼ¹¦ÄÜ£¬ºÍ C++ Ò»ÑùÒ²¿ÉÒÔд³öºÜÓÅÑŵĶþά¡¢ÈýάͼÐκͶ¯»¡£
ÓÐÈË˵£¬C ÊÇ C++ µÄ×Ó¼¯£¬C ÄÜ×öµ½µÄÊ£¬C++ Ò»ÑùÄÜ×öµ½£¬²¢ÇÒ»¹¿ÉÒÔ×öµÄ¸üºÃ£¬È磺Èý´óÃæÏò¶ÔÏóÌØÐÔ¡¢GUI ±à³Ì£¬³ÏÈ»£¬³ÐÈÏÔÚ GUI ±à³ÌÁìÓò C++ Õ¼¾Ýמø¶ÔµÄͳÖεØ룬ÖÁ½ñÎÞÈËÄܺ³¶¯¡£µ«ÕæµÄÓбØÒªÓà C++ À´Ìæ´ú C Íê³É¹¤×÷Â𣿺ܶàʱºò C++ ½â¾öÎÊÌâµÄ˼·ÕæµÄ±È C ¸üÏȽøÂð£¿
Èý¡¢C ºÍ C++ ±È½Ï
дµ½ÕâÒ» ¶ÎµÄʱºòÓÐÒ»ÖÖÕ½Õ½¾¤¾¤¡¢ÈçÂı¡±ùµÄ¸Ð¾õ£¬±Ï¾¹ C¡¢C++ Êǹã´ó³ÌÐòÔ±¶¼ºÜÊìϤ¶«Î÷£¬´òÆð×ìÅÚÀ´Ò²ÊǼ«Æä¿Ö²ÀµÄ£¬ÆäʵÔڹغõÐÅÑöµÄÎÊÌâÉÏ£¬ÈκεÄÕùÂÛ¶¼ÊÇÎÞÖ¹¾³µÄ£¬Ò²ÊÇÎÞÒâÒåµÄ¡£Ï£Íû´ó¼Ò²»Òª°Ñ´óÁ¿¾«Á¦ÓÃÀ´Õù ÂÛ´¿´âµÄÓïÑÔÓÅÁÓÉÏ£¬¶øÊÇȥ˼¿¼ÈçºÎµÄÕýÈ·µÄ°ÑÊÂÇé×öºÃ£¬Ê²Ã´ÊÇÕýÈ·µÄ×öÊ ¿ìËÙ¸ßЧµÄ¿ª·¢£¬±£ÕÏ¿ìËÙÎȶ¨µÄÔËÐУ¬¿ìËÙ¼òµ¥µÄά»¤¡£
ÏÂͼÊÇ×ìÅÚ´óÉñ Linus Torvalds µ±ÄêÅê»÷ C++ ºÍËûÖÜΧÄÇЩ C++ ´óÅ£³ÌÐòÔ±ÃǵÄϬÀûÑÔ´Ç£¬Æäʵ¸öÈ˲¢²»ÐÀÉÍ Linus µÄ¸öÈË·ç¸ñ£¬»¹ÊÇÏ£Íû´ó¼ÒÄÜÐÄƽÆøºÍµÄ̸̸ C Ïà±È C++ µÄһЩÓŵãºÍÏÖ×´£º
¼¼Êõ·ÖÏí
3.1£©Òþʽ²Ù×÷£ºC ¼òµ¥Ö±½Ó¡¢½á¹¹ÇåÎú£¬Ã¿ÐдúÂ붼ÄÜÇå³þµÄ±»·´»ã±à³ÉÏàÓ¦µÄÓï¾ä£¬ÏµÍ³»áÑϸñ°´ÕÕ´úÂëÈ¥Ö´ÐС£¶ø C++ Ôò²»¾¡È»£¬¼òµ¥µÄÓï¾äҲ˵²»Çå³þ¾¿¾¹ÓжàÉٴι¹ÔìºÍ¿½±´£¬ÕâÑù±àдµ×²ã´úÂëÊÇÍêÈ«²»Ðеģ¬µ×²ãÐèÒª¾«×¼ºÍÑϸñµÄ¿ØÖÆ¡£
3.2£© ÓïÑÔ½Ó¿Ú£ºÏÖ´úÈí¼þ¹¤³ÌÏîÄ¿µÄ¿ª·¢£¬²»µ«¶ÔÐÔÄÜÓкܸßÒªÇ󣬶ÔÓÚÓïÑԽӿڵĶԽÓÄÜÁ¦Ò²ÓкܸßÒªÇó£¬ÒòΪټ´óµÄÒ»¸öÏîÄ¿ºÜÉÙ½öʹÓÃÒ»ÖÖÓïÑÔÀ´½øÐпª·¢£¬¶ÔÓÚ µ×²ã£¬C++ ¶ÔÄÚ´æºÍÓ²¼þµÄ¿ØÖƲ»Èç C ¼ò½à¾«×¼£»¶ÔÓںܶද̬ÓïÑÔºÍÖмä¼þ£¬È磺PHP¡¢Python ºÍ Apache¡¢Redis£¬¶¼ÊÜÁË C µÄºÜ´óÓ°Ï죬ÉõÖÁ¾ÍÊÇ C ¿ª·¢³öÀ´µÄ¶«Î÷£¬¶Ô½ÓÆðÀ´·Ç³£·½±ã¡£Ã»´í¶ù£¬Æäʵ C++ ²ÉÓÃÓػصķ½Ê½Ò²ÄܶԽӵģ¬µ«ÊÇ£¬Ô¶Ô¶²»Èç C ·½±ã£¬¿ª·¢ºÍά»¤³É±¾·Ç³£¸ß¡£
3.3£©Ó²¼þ²ã£º
3.2.1 ·ÖÅäÄڴ棺ϵͳ¼ÓµçºóÔËÐУ¬¾¹ý»ã±à³õʼ»¯Õ»£¬È»ºóÔÙÌøתµ½ C ÓïÑ﵀ start_init() º¯ÊýÈ¥£¬ÕâʱºòÄÚ´æ·ÖÅä»úÖƶ¼»¹Ã»Óн¨Á¢£¬C++ ÈçºÎ¶¨ÒåÀࣿÈçºÎʵÀý»¯¶ÔÏó£¿
3.2.2 ±ê×¼¿âÒÀÀµ£ºC µÄËùÓÐÌØÐÔ¶¼¿ÉÒÔ²»ÒÀÀµÈκοâÔËÐУ¬ÈçÓбØÒª£¬¿ÉÒÔ°´ÕÕÌض¨ÐèÇó×Ô¼º±àд¿â¡£
3.2.3 ´¦ÀíÆ÷¼æÈÝ£ºC++ µÄÀàÊÇÒÀÀµ»ùµØÖ·+Æ«ÒƵØÖ·µÄÑ°Ö··½Ê½£¬ºÜ¶à΢´¦ÀíÆ÷Ö»Óмòµ¥µÄ¸ø¶¨µØÖ·Ñ°Ö·£¬²»Ö§³ÖÒ»ÌõÓï¾äʵÏÖ base + offset µÄÑ°Ö·»úÖÆ£¬ºÜ¶à C++ ´úÂë±àÒë³öÀ´ÐèÒª¸ü¶àµÄÖ¸ÁîÀ´ÔËËãµØÖ·£¬µ¼ÖÂÐÔÄÜϽµÁËÌ«¶à¡£
3.4£©Ó¦Óò㣺C++ ÔÚ×öÓ¦ÓòãÓÈÆäÊÇ GUI ±à³Ì£¬ÕâÊÇ C++ µÄ´«Í³Ç¿Ïһֱ¼á³Ö C Ò²ÄÜÓÅÑŵÄ×ö³öͼÏñºÍ¶¯»£¬µ«¿ª·¢Ð§ÂÊȷʵ½Ï C++ µÍºÜ¶à£¬×î½üÓиöºÜ»ðµÄ RUST ÓïÑÔ£¬ºÅ³ÆÊÇδÀ´Î¨Ò»ÄÜÈ¡´ú C++ µÄ±à³ÌÓïÑÔ£¬¸ÐÐËȤµÄͬѧ¿ÉÒÔ¶à¹Øעϡ£
ËÄ¡¢×ܽá
ÏÂÃæÁоÙÁË 10 ¶à¸öÄ¿Ç°ÈÈÃŵķ¢Õ¹·½Ïò£¬´ÖÂԵĽéÉÜÁËÏÂÁÐÏîÄ¿Àï×î³£Óõıà³ÌÓïÑÔ£º¼¼Êõ·ÖÏí
ÓÉÉÏͼ¿ÉÖª£¬²Ù×÷ϵͳ¡¢±àÒëÔÀí¡¢Êý¾Ý½á¹¹ÓëËã·¨µÈµÈ»ù´¡ÖªÊ¶£¬ÊÇÉîÈëÀí½â¡¢ÕÆÎÕºÍÁé»îÔËÓà C µÄÖØҪǰÌᣬÏֽ׶γÌÐòÔ±Ö°ÒµÉúÑij¬¹ýÒ»°ëµÄÈÈÃÅ·½ÏòÖ±½Ó»ò¼ä½ÓÓë C Óйأ¬Ï룬ѧºÃ C µÄÖØÒªÐÔÒ²¾Í²»ÑÔ¶øÓ÷ÁË¡£