´óÍ·Ëæ±Ê£¨Ò»£© :: ÃÎÏë·ç±©

来源: BlogBus 原始链接: http://www.blogbus.com:80/blogbus/blog/diary.php?diaryid=227609 存档链接: https://web.archive.org/web/20040915201547id_/http://www.blogbus.com:80/blogbus/blog/diary.php?diaryid=227609


ÃÎÏë·ç±© Ò»¸öС³ÌÐòÔ±µÄÐſڿªºÓ <<<³ÂÄê¾ÉÕÊ | Ö÷Ò³ | ´óÍ·Ëæ±Ê£¨¶þ£©>>> ´óÍ·Ëæ±Ê£¨Ò»£© 2004-06-18 ѧ¹ý C ÓïÑÔµÄÈË´ó¸Å¶¼ÖªµÀ£¬±àд C ÓïÑԵijÌÐòʱºò£¬³ýÁ˳ÌÐòÎļþ£¬¶à°ë»¹Òª°üÀ¨Í·Îļþ£¬Ò²¾ÍÊÇÎÒÃÇÓ¡ÏóÖÐµÄ .h Îļþ¡£Í·ÎļþÀïµ½µ×¸Ã·ÅÐ©Ê²Ã´ÄØ£¿ ¸Õ¿ªÊ¼Ñ§±à³ÌµÄÄÇ»á¶ù£¬¾ÍÖªµÀÍ·ÎļþÀï·ÅµÄ¶«Î÷Ó¦¸ÃÊÇÔÚ¶à¸ö³ÌÐòÀïÓõ½µÄ£¬ÄÇʱ¶ÔÒ»¸ö³ÌÐò¿ÉÒÔʵÏÖÔÚ¶à¸öÎļþÀﻹûÓÐʲô¸Ð¾õ£¬ÓÚÊǰ´ÕÕ×Ô¼ºµÄ¡°¸´ÓÃÂß¼­¡±£¬°ÑÒ»´ó¶ÑµÄ¶«Î÷¶¼Èû½øÁËÍ·Îļþ¡£¼ÇµÃÒÔÇ°Ôø¾­±àдһ¸ö DOS ³ÌÐò£¬ÒòΪ³ÌÐòÀïÓõ½Êó±ê£¬ÓÚÊÇдÁËÒ»¸öÍ·Îļþ£¬°ÑËùÓÐÊó±êÏà¹ØµÄº¯Êý·ÅÁ˽øÈ¥¡£ÄǸö³ÌÐòÖ»ÓÐÒ»¸ö³ÌÐòÎļþ£¬ÓÚÊdzÌÐòÔËÐеúܺã¬ÎÒҲûÓжàÏ룬ͷÎļþÀïµ½µ×Ó¦¸Ã·ÅЩʲô½øÈ¥¡£ ÕæÕýÈÃÎÒ¿ªÊ¼¿¼ÂÇÕâ¸öÎÊÌâµÄÊÇÒ»´Î¿Î³ÌÉè¼Æ¡£ÄÇ´Î×¼±¸±àÒ»¸öСÓÎÏ·£¬ÓõÄÊÇ VC ¡£ÓÉÓÚ VC ÏÂÔÚÒ»¸ö project ϹÜÀí¶à¸ö³ÌÐòÎļþ±È½ÏÈÝÒ×£¬ÓÚÊÇÎÒ²ÉÓÃÁ˶à³ÌÐòÎļþ£¬Âé·³¿ªÊ¼ÁË¡£²ÉÓÃÁ˺ÍÒÔǰͬÑùµÄ˼άϰ¹ß£¬ÎÒ°ÑÒ»¶Ñ¶«Î÷Èûµ½ÁËÍ·ÎļþÖС£±àÄǸö³ÌÐòµÄʱºò£¬ÎÒ°Ñ×Ô¼ºÑ§À´µÄ·ÀÖ¹ÖØ±àÒëµÄÊÖ·¨ÓÃÉÏÁË£º #ifndef __XXX_H #define __XXX_H ¡­¡­ #endif ÔøÎª´ËµÃÒâÑóÑó£¬ÒÔΪ×Ô¼ºµÄÊÖ·¨ºÜ¿á£¡ µ«½á¹ûÊÇ£¬±àÒ벻ͨ¹ý¡£¸ø³öµÄÌáʾ£º redefine £¿Öض¨Ò壿ÎÒûÓа¡£¿ÎÒ²»ÊÇ·ÀÖ¹ÖØ±àÒëÁËÂð£¿Ôõô»¹»á³öÕâÖÖ´í£¿£¨µ±Ê±£¬ÎÒ¸ù±¾Ã»ÅªÇå³þÖØ¶¨ÒåºÍÖØ±àÒëµÄÇø±ð£© Ϊ´Ë£¬ÄÓÍ·Á˺ó¤Ê±¼ä£¬ÐÒ¶øÔÚÍøÉÏÇóµÃ¸ßÈ˰ïÖú˳Àû½â¾ö¡£ºóÀ´²ÅÖªµÀ£¬¹ØÓÚÕâ¸öÎÊÌ⣬ÎÒÔøÔÚ¡¶ C++ ±à³Ì˼Ïë¡·Öп´µ½¹ýÏà¹ØµÄÂÛÊö£¬Ö»ÒòΪ×ÖÌ«ÉÙ£¬Ã»ÓÐÒýÆð×Ô¼º×ã¹»µÄÖØÊÓ¡£ÓÚÊÇÔÙ¶ÁÒ»±é£¬»íÈ»¿ªÀÊ¡£ ÄÇ C ÓïÑÔµÄÍ·ÎļþÖе½µ×¸Ã·ÅÐ©Ê²Ã´ÄØ£¿ ˵°×ÁË£¬ºÜ¼òµ¥£¬¾ÍÊÇÉùÃ÷£¨ declaration £©£¬¶øÔÚ³ÌÐòÎļþÀï·ÅµÄÓ¦¸ÃÊǶ¨Ò壨 define £©¡£ÉùÃ÷ºÍ¶¨ÒåµÄÇø±ðºÎÔÚ£¿¾Í²îÒ»¸ö¿Õ¼ä·ÖÅ䣬Ҳ¾ÍÊÇ˵£¬ÉùÃ÷ÊDz»·ÖÅä¿Õ¼äµÄ£¬¶ø¶¨ÒåÊÇÒª·ÖÅä¿Õ¼äµÄ¡£ºúÍ¿Á˰ɣ¡ÄÇÎÒ¾ÍÒÔ×Ô¼ºµÄ´íÎóΪ·´Ãæ½Ì²Ä½âÊÍһϰɣ¡ ÎÒµ±Ê±·¸ÏµĴíÎó¾ÍÊǽ«Ðí¶à¶¨Òå·Åµ½ÁËÍ·ÎļþÖУ¬±ÈÈçÔÚÍ·ÎļþÖÐÕâôд£º char ch; Õâ¾ÍÊÇÒ»¸ö¶¨Òå¡£±ðº°£¬ÎÒÖªµÀÕâ¸ö½ÐÉùÃ÷Óï¾ä£¬¿ÉËüʵ¼ÊÉϾÍÊÇÒ»¸ö¶¨Ò壬ËüÖ®ËùÒÔ³ÆÎª¡°ÉùÃ÷¡±£¬ÎÒÒÔΪÍêÈ«ÊÇÀúÊ·ÉϵÄÔ©¼Ù´í°¸¡£ ÈÃÎÒÃÇ¿´Ò»Ï C ÓïÑԵıàÒë¹ý³Ì£¬Èç¹ûÄãÔÚ Unix/Linux ϱàд¹ý³ÌÐò£¬ÄãÒ»¶¨ÖªµÀ Makefile ¡£ Makefile Àï¾­³£»áÓÐÕâÖÖ¶«Î÷£º exe : a.o b.o gcc -o exe a.o b.o a.o : a.c gcc -c a.o a.c b.o : b.c gcc -c b.o b.c Õâ¾Í´ó¸Å·´Ó³ÁËÒ»¸ö±àÒë¹ý³Ì£¬¾ÍÊÇÓÉ a.c Éú³É a.o £¬ b.c Éú³É b.o £¬È»ºóÓÉ a.o ºÍ b.o Ò»ÆðÀ´Éú³É exe ¡£ ÏÖÔڻص½ÎÒÃǵÄÎÊÌâÉÏ£¬ÎÒÃÇÔÚÍ·ÎļþÀﶨÒåÁËÒ»¸ö±äÁ¿¡£¶øÕâ¸öÍ·ÎļþÓÐÇ¡ºÃ±» a.c ºÍ b.c Ëù°üº¬£¬Ò²¾ÍÊÇ˵Á½¸öÎļþ¶¼ÓÐÕâôһ¾ä¡£ #include ¡°header.h¡± £¨¼ÙÉè¸ÃÎļþÖоͰüº¬ÉÏÃæ³öÏֵ͍Ò壩 ÔÚ C µÄ±àÒë¹ý³Ì£¬Ô¤´¦ÀíÖ¸ÁîÊÇÔÚ±àÒë½øÐÐǰÏÈÐд¦ÀíµÄ¡£ Include Ô¤´¦ÀíÖ¸Áî¾ÍÊÇÈà header.h ÔÚ a.c ºÍ b.c Öб»Õ¹¿ª£¬Ò²¾ÍÊÇ˵£¬ÔÚÔ¤´¦ÀíÍêµÄÁ½¸ö³ÌÐòÖУ¬¶¼°üº¬ÁË char ch; Äã²»Ðŵϰ£¬¿ÉÒÔ×Ô¼ºÊÔһϡ£ Gcc ¨CE a.c > a.i £¨ a.i ÊÇ×Ô¼ºÆðµÄÃû×Ö£© ±àÒëÐж¯¼ÌÐøÍùÏÂ×ߣ¬¶þÕß¶¼Éú³ÉÁË×Ô¼º¶ÔÓ¦µÄ .o Îļþ£¬×¼±¸×îºóµÄÁ¬½ÓÁË¡£ÕâÊDZàÒëÆ÷·¢ÏÖ£¬ÔÚ a.o ÖÐÓÐÒ»¸ö±äÁ¿½Ð ch £¬ÔÚ b.o ÖÐÒ²ÓÐÒ»¸ö±äÁ¿½Ð ch £¬¶¼Òª×Ô¼ºµÄ¿Õ¼ä£¬¸ø a £¬ b ²»Í¬Ò⣬¸ø b £¬ a Ò²²»Í¬Òâ¡£ÓÚÊÇËü¸ã²»¶¨ÁË£¬×îºó¾ö¶¨ÏòÄ㱨¸æ£¬½á¹û¾Í³öÏÖÁËÒ»¸öÁ¬½Ó´íÎó£ºÖض¨Òå¡£ ÏÖÔÚÖªµÀÎÊÌâÊÇÔõô³öÀ´µÄÁ˰ɣ¡ÖªµÀÁËÄÄÀïÓÐÎÊÌ⣬¾ÍÒªÏë°ì·¨½â¾öÎÊÌâ¡£ ÎÒÃǵÄÎÊÌâÊÇÔÚÍ·ÎļþÖзÅÖÃÁ˶¨Ò壬¶øÔÚ¶à¸ö³ÌÐòÎļþÖаüº¬ÁËÕâ¸öÎļþ¡£Êµ¼ÊÉÏ£¬ÎÒÃÇÖ®ËùÒÔ°ÑÕâ¸ö±äÁ¿·ÅÈëÍ·Îļþ£¬¾ÍÊÇÒòΪÎÒÃÇ¿ÉÄÜÔÚ¶à¸öµØ·½Óõ½Ëü£¬ÕâÒ²¾ÍÊÇÎÒÃǶÔÍ·ÎļþµÄ×î»ù±¾µÄÈÏʶ¡£ÎÒÓÖÒª¶à¸öµØ·½Óõ½£¬ÓÖ²»ÄÜÔÚÍ·ÎļþÖж¨Ò壬ÄǸÃÈçºÎ½â¾öÄØ£¿ ÉùÃ÷ÊÇ×îºÃµÄ»Ø´ð¡£ ÎÒÖªµÀ£¬´Ó¸Õ²ÅÄã¾ÍÏëÂîÎÒ£¬ÒòΪ£¬ÎÒ°ÑÉùÃ÷Óï¾ä˵³ÉÁ˶¨Ò壬ÄÇÉùÃ÷ÅÜÄÄÈ¥ÁË£¿ÕæÕýµÄÉùÃ÷ÔÚ C ÓïÑÔÖÐÓ¦¸ÃÕâôд£º extern char ch £» ¶¼Êdzõѧ C ÓïÑÔʱÓÃÁËÌ·ÀÏʦµÄÄDZ¾ C ÓïÑÔ½Ì²ÄµÄ´í£¬ÎÒÃǶ¼ºöÂÔÁË extern £¬¾ÍÖªµÀÁ˸ö¡°ÍⲿµÄ¡±£¬¾ßÌåÔõôÓö¼²»Çå³þ¡££¨±ð·Ï»°£¬ËµÕýÌ⣡£© ÕâÑù£¬ÎÒÃǾÍÉùÃ÷ÁËÒ»¸ö±äÁ¿£¬Õâ²ÅÊÇÕæÕýµÄ¡°ÉùÃ÷¡±¡£ ÉùÃ÷µÄ×÷ÓþÍÊǸæËß¼ÆËã»ú½éÉÜÒ»¸öÃû×Ö¡£±àÒëÆ÷¿´µ½Ëü£¬¾ÍÖªµÀÓиö±äÁ¿½Ð ch £¬µ«²¢²»ÎªËü·ÖÅä¿Õ¼ä£¬µ±È»£¬Èç¹ûÕæÕýÓõ½ÁË ch £¬»¹ÊÇÒª¸øËü·ÖÅä¿Õ¼äµÄ£¬ÔÚÄÄ·ÖÅ䣿¶¼Ëµ²»ÄÜÔÚÍ·ÎļþÁË£¬µ±È»Ö»ÄÜÔÚ³ÌÐòÎļþÀïÁË¡£Í¨³£Ò»¸öʵÏÖÎļþ¶ÔÓ¦×ÅÒ»¸öÄ¿±êÎļþ£¬¶øÉú³É¿ÉÖ´ÐÐÎļþµÄʱºò£¬Ä¿±êÎļþÃÇÊǶà¶ÔÒ»£¬ÓÚÊǾͲ»¿ÉÄܳöÏÖ¶à¸ö¶¨ÒåÁË¡£ ÉÏÃæ»ù±¾É϶¼ÊÇÔÚ˵±äÁ¿£¬Æäʵ¶ÔÓÚº¯ÊýÒ²´æÔÚ×ÅͬÑùµÄÎÊÌ⣬˵¹ýÁ˱äÁ¿ÎÊÌ⣬º¯ÊýÎÊÌâ¾Í¼òµ¥ÁË£¬ÄãÖ»ÒªÖªµÀ£¬ÈçºÎÉùÃ÷¡¢ÈçºÎ¶¨Òå¾Í¹»ÁË¡£ÎÒÃÇͨ³£Ð´º¯Êý¾ÍÊǶ¨Ò壬ÄÇÉùÃ÷ÄØ£¿¾ÍÊÇÎÒÃdz£ËµµÄº¯ÊýÔ­ÐÍ¡£ Èç¹ûÓÐÐËȤ£¬Äã¿ÉÒÔ´ò¿ª C ÓïÑÔÒ»¸ö¿âÎļþ¿´¿´£¬ÏÖÔÚÖªµÀΪʲôÀïÃæ»ù±¾É϶¼ÊǺ¯ÊýÔ­ÐÍÁ˰ɣ¡ µ±È»£¬ÊÂÊÂûÓоø¶Ô£¬ÎÒ²¢Ã»ÓÐ˵ͷÎļþÖоø¶Ô²»ÄÜ·Å¡°¶¨Ò塱£¬·ÅÒ²¿ÉÒÔ£¬Ã»È˻ᷴ¶ÔÄ㣬ǰÌáÊÇ£¬Äãȷʵ֪µÀ×Ô¼ºÔÚ×öʲô¡£ ÔÙ½âÊÍһϣ¬Ç°ÃæÌáµ½¹ýµÄ·ÀÖ¹ÖØ±àÒëµÄÊÖ·¨¡£ ÏàÐÅֻҪдµÃÕý¹æµãµÄÍ·ÎļþÖУ¬ÔÚÎļþµÄ¿ªÍ·½á⣬Äã»á¿´µ½ÕâÑùµÄ¶«Î÷£º #ifndef __XXX_H #define __XXX_H ¡­¡­ #endif ΪʲôÕâÃ´Ð´ÄØ£¿ ÏÈÀ´¿´¿´£¬ÉÏÃæµÄÓïÒâ°É£¡ Èç¹ûûÓж¨Òå __XXX_H £¬¾Í¶¨ÒåËü¡£ Îļþ±àÒëµÄʱºò£¬Èç¹ûͬһ¸öÎļþ±»¶à´Î°üº¬£¬µÚÒ»´ÎÓöµ½Õâ¸öÓï¾äµÄʱºò£¬ËüÏÔÈ»»¹Ã»Óж¨Òå __XXX_H £¬ÓÚÊǶ¨ÒåËü£¬¼ÌÐøÏÂÃæµÄ±àÒë¡£ºóÃæÔÙÓöµ½µÄʱºò£¬ÒòΪÒѾ­¶¨Òå¹ý __XXX_H ÁË£¬¾ÍÖ±½ÓÌøµ½ #endif ¡£ÖмäµÄ¶«Î÷¾Í²»»á±»ÔٴαàÒë¡£ Äã»òÐíÏëÎÊ£¬ÎÒΪʲôҪÔÚÒ»¸öÎļþÖаüº¬¶à¸öÍ·Îļþ£¬Äãͨ³£ÊDz»»áÕâô¸É£¬µ«ÄãÖªµÀÄã°üº¬µÄÍ·Îļþ¶¼¸ÉÁËЩʲôÂ𣿠ÎÒµÄÒâ˼ÊÇ£¬ÓпÉÄÜÓÐÕâÖÖÇé¿ö£º ÄãдÁËÁ½¸öÍ·Îļþ a.h ºÍ b.h £¬¶ø b.h Öаüº¬ÁË a.h ¡£ µ±Äã±à³ÌµÄʱºò£¬Èç¹ûͬʱÓõ½ a.h ºÍ b.h £¬ËùÒÔ¾ÍÕâôдÁË£º #include ¡°a.h¡± #include ¡°b.h¡± ÉÏÃæÒѾ­Ëµ¹ý£¬ include Ö¸Áî»áÔÚµ±Ç°Î»Öý«³ÌÐòÕ¹¿ª£¬Õ¹¿ª b.h µÄʱºò£¬ a.h ÐèÒªÔÚ b.h ÀïÕ¹¿ª£¬ÓÚÊÇ£¬ a.h ±»Õ¹¿ªÁ½´Î¡£ ÄãµÄ±¾Òâ²¢²»ÊÇ°Ñ a.h ´¦ÀíÁ½´Î£¬¶øÊµ¼ÊÉÏÈç¹ûÄã²»´¦ÀíÒ»ÏµĻ°£¬Ëü¾Í»á±»´¦ÀíÁ½´Î¡£ÕâÖÖÇé¿öÔÚʹÓñê×¼¿âµÄʱºò»á±äµÃ·Ç³£Æµ·±£¬ÒòΪÄãͨ³£²»»á×¢Òâÿ¸öÍ·ÎļþÖл¹°üº¬ÁËÄÇЩÎļþ¡£ ·ÀÖ¹ÖØ±àÒëµÄ×î´óµÄºÃ´¦ÊÇʡʱ£¬µ±È»£¬ÄãÈô²»ÔÚºõÄǵãʱ¼ä£¬±ðÈËҲû°ì·¨£º£© Èç¹ûÄãµÄ³ÌÐò»¹Ã»Óнâ¾öºÃÉùÃ÷Ó붨ÒåµÄÎÊÌ⣬°Ñ¶¨Òåд½øÁËÍ·Îļþ£¬ÓÖÍüÁË·ÀÖ¹ÖØ±àÒ룬¹þ¹þ£¬Á½¸öÂé·³¾Í»áÒ»ÆðÕÒµ½Ä㣬¾ßÌåµÄÇéÐΣ¬×Ô¼º·ÖÎöÈ¥°É£¡ ²Î¿¼£º ¡¶ C++ ±à³Ì˼Ïë¡·£¨µÚÒ»°æ£©µÚ 2 Õ£¬ 2.1 ½Ú dreamhead ·¢±íÓÚ 2004-06-18 22:02 ÒýÓÃTrackback(0) | ±à¼­ Comments ·¢±íÆÀÂÛ ×î½ü¸üР×ÔÆä²»±ä¶ø¹ÛÖ® ³õ¿ú½ø³Ì ½ÐÎÒÈçºÎ¡°ÃæÏò½Ó¿Ú¡± ×Ô¾ò·ØÄ¹ ¸´ÔÓϵͳµÄ5¸öÊôÐÔ Æ½ÃñÉñ»° ÎÒµÄJ2EEÎóÇø ÏîÄ¿¼á¿Ç ÖØÔØÓÎÏ· ¾ªÌìÄæ×ª