GCC G++ C C++µÄÇø±ð
gcc ÊÇcµÄ±àÒëÆ÷£¬g++ÊÇc++µÄ±àÒëÆ÷¡£ccÒ»°ãÊÇÒ»¸ö·ûºÅÁ¬½Ó£¬Ö¸Ïògcc¡£
CCÒ»°ãÊÇmakefileÀïÃæµÄÒ»¸öÃû×Ö£¬¾ßÌåÊÇʲô¸ù¾Ýʵ¼ÊÇé¿ö¾ö¶¨¡£
gccºÍg++¶¼ÊÇGNU(×éÖ¯)µÄÒ»¸ö±àÒëÆ÷¡£
ÎóÇøÒ»:gccÖ»ÄܱàÒëc´úÂë,g++Ö»ÄܱàÒëc++´úÂë
Á½Õß¶¼¿ÉÒÔ£¬µ«ÊÇÇë×¢Ò⣺
1,ºó׺Ϊ.cµÄ£¬gcc°ÑËüµ±×÷ÊÇC³ÌÐò£¬¶øg++µ±×÷ÊÇc++³ÌÐò£»ºó׺Ϊ.cppµÄ£¬Á½Õß¶¼»áÈÏΪÊÇc++³ÌÐò£¬×¢Ò⣬ËäÈ»c++ÊÇcµÄ³¬¼¯£¬µ«ÊÇÁ½Õß¶ÔÓï·¨µÄÒªÇóÊÇÓÐÇø±ðµÄ¡£C++µÄÓï·¨¹æÔò¸ü¼ÓÑϽ÷һЩ¡£
2,±àÒë½×¶Î£¬g++»áµ÷ÓÃgcc£¬¶ÔÓÚc++´úÂ룬Á½ÕßÊǵȼ۵쬵«ÊÇÒòΪgccÃüÁî²»ÄÜ×Ô¶¯ºÍC£«£«³ÌÐòʹÓõĿâÁª½Ó£¬ËùÒÔͨ³£ÓÃg++À´Íê³ÉÁ´½Ó£¬ÎªÁËͳһÆð¼û£¬¸É´à±àÒë/Á´½ÓͳͳÓÃg++ÁË£¬Õâ¾Í¸øÈËÒ»ÖÖ´í¾õ£¬ºÃÏñcpp³ÌÐòÖ»ÄÜÓÃg++ËÆµÄ¡£
ÎóÇø¶þ:gcc²»»á¶¨Òå__cplusplusºê£¬¶øg++»á
ʵ¼ÊÉÏ£¬Õâ¸öºêÖ»ÊDZêÖ¾×űàÒëÆ÷½«»á°Ñ´úÂë°´C»¹ÊÇC++Óï·¨À´½âÊÍ£¬ÈçÉÏËùÊö£¬Èç¹ûºó׺Ϊ.c£¬²¢ÇÒ²ÉÓÃgcc±àÒëÆ÷£¬Ôò¸Ãºê¾ÍÊÇ䶨ÒåµÄ£¬·ñÔò£¬¾ÍÊÇÒѶ¨Òå¡£
ÎóÇøÈý:±àÒëÖ»ÄÜÓÃgcc£¬Á´½ÓÖ»ÄÜÓÃg++
ÑϸñÀ´Ëµ£¬Õâ¾ä»°²»Ëã´íÎ󣬵«ÊÇËü»ìÏýÁ˸ÅÄӦ¸ÃÕâÑù˵£º±àÒë¿ÉÒÔÓÃgcc/g++£¬¶øÁ´½Ó¿ÉÒÔÓÃg++»òÕßgcc -lstdc++¡£ÒòΪgccÃüÁî²»ÄÜ×Ô¶¯ºÍC£«£«³ÌÐòʹÓõĿâÁª½Ó£¬ËùÒÔͨ³£Ê¹ÓÃg++À´Íê³ÉÁª½Ó¡£µ«ÔÚ±àÒë½×¶Î£¬g++»á×Ô¶¯µ÷ÓÃgcc£¬¶þÕߵȼۡ£
ÇëÎÊCC cc gcc g++±¾ÖÊÇø±ðÔÚʲôµØ·½£¿
´«Í³ÉÏ, UNIX OS »áÅä´ø C compiler by default. Ò»°ãÓ÷ûºÅÃû cc. ¶øC++ compiler ÐèÒªÁíÍâÂò.
³£¼ûµÄÓÐ:
Linux: gcc/g++
Solaris: cc/CC
HP-UX: aCC
AIX: xlc/xlC
SCO: ?/?
¼¸ºõËùÓеÄÇé¿ö, C/C++ compiler ¶¼Ö»ÊÇfront end driver. ºóÃæµÄ±àÒëÆ÷ÊÇÒ»ÑùµÄ. ±ÈÈçgcc, g++ Ìṩ²»Í¬µÄÑ¡Ïî¸ø±àÒëÆ÷ÒÔ¼°link editor. ÕâЩ°üÀ¨Óû§Ñ¡Ïî, ȱʡѡÏî, ¶ÔÓ¦µÄȱʡϵͳ¿â. ÿ¸öcompilerÓÐÒ»¸öconfiguratoin fileÀ´Ö¸¶¨ÕâЩȱʡѡÏî. ʹÓà verbose mode (-v) ¿ÉÒÔ¿´µ½ÕâЩÄÚÈÝ.
C++ ³ÌÐòÒòΪÓï·¨(namespace, class, overload...), ÐèÒªmangle ËùÓеÄsymbol name. ÓëC³ÌÐòlinkµÄʱºòÐèÒªÓÃextern "C".
C++µÄ±àÒëÆ÷¿Ï¶¨¿ÉÒÔ±àÒëCµÄµÄ´úÂ룬עÒâ³ýÁËC++¶ÔCµÄÓï·¨À©³äÖ®Í⣬±àÒëºÍÁ´½ÓCºÍC++µÄ±ê×¼¿âͨ³£Ò²²»Ò»ÑùÄØ¡£ÎÒÓÃgcc¶ø·Çg++Ò²±àÒëÁËC++µÄ³ÌÐò¾ÍÖ¤Ã÷ÁËÕâÒ»µã¡£
Ïà¹ØÎĵµ£º
[C/C++ Digestion] – Rule of Three,
¸´ÖÆ¿ØÖÆ
×÷Õߣº
Jason Lee @
http://blog.csdn.net/jasonblog
ÈÕÆÚ£º
2010-04-13
[1]
¸´Öƹ¹Ô캯Êý
copy constructor
Rule of Three
ÊÇÖ¸ÀàÈç¹ûÐèÒªÎö¹¹º¯Êý£¬Ôòͨ³£Ò²ÐèÒª¸´Öƹ¹Ô캯ÊýºÍ¸³Öµ²Ù×÷·û¡£¶øÆäʵϰ¹ßµØÏÔʾ±àдÕâÈýÕß±¾¾ÍÊÇÒ»¸öÁ¼ºÃµÄϰ¹ß¡£Òò ......
CÓïÑÔÖУ¬Í¼Ðκ¯Êý´óÖ¿ɷÖΪÁ½Àࣺ×Ö·ûģʽº¯ÊýºÍͼÐÎģʽº¯Êý¡£±¾½ÚÎÒÃÇÁ·Ï°Ê¹ÓÃ×Ö·ûģʽº¯Êý¡£
ʹÓÃ×Ö·ûģʽº¯ÊýÓ¦¸ÃÔÚ³ÌÐòÖÐÁªÈëconio.hÍ·²¿Îļþ¡£
ÏÂÃæÊÇһЩº¯ÊýµÄ×÷ÓÃ
1) void &nbs ......
. ±àÒëµ¥Ôª(Ä£¿é)£º
ÔÚIDE¿ª·¢¹¤¾ß´óÐÐÆäµÀµÄ½ñÌ죬¶ÔÓÚ±àÒëµÄһЩ¸ÅÄîºÜ¶àÈËÒѾ²»ÔÙÇå³þÁË£¬ºÜ¶à³ÌÐòÔ±×îŵľÍÊÇ´¦ÀíÁ¬½Ó´íÎó(LINK ERROR), ÒòΪËü²»Ïñ±àÒë´íÎóÄÇÑù¿ÉÒÔ¸ø³öÄã³ÌÐò´íÎóµÄ¾ßÌåλÖã¬Äã³£³£¶ÔÕâÖÖ´íÎó¸Ðµ½°ÃÄÕ£¬µ«ÊÇÈç¹ûÄã¾³£Ê¹ÓÃgcc£¬makefileµÈ¹¤¾ßÔÚlinux»òÕßǶÈëʽÏÂ×ö¿ª·¢¹¤×÷µÄ ......
/*FIXME
ISO CÈç¹ûÄãÔÚmain()ÖÐд´úÂëµÄÖм䶨ÒåÁËÒ»¸ö¶ÔÓÚmain¶øÑÔµÄÈ«¾Ö±äÁ¿£¬¾Í»á±¨³öÕâ¸ö´íÎó¡£
*/
°ÑÕâ¸ö±äÁ¿¶¨Òåµ½mainº¯ÊýÖеÄ×îǰ·½£¬¾Í»áÐÞÕýÕâ¸ö´íÎó¡£
¶øÇÒΪÁË·ÀÖ¹³ö´í£¬É趨µÄÖ¸ÕëÖ®ºóÔÙÓвÎÊý´«ÈëmallocÖ®ºóÁ¢¼´¶ÔÓÚÖ¸ÕëÓèÒÔ¿Õ¼äµÄ´´½¨¡£·ÀÖ¹³öÏÖÖ¸Õëδ³õʼ»¯´Ó¶øÒýÆð½«À´¸³ÖµµÄʱºò½«¸ÃÖµ¸²¸ÇÁËÒѾΪ±¾ ......
ÒýÑÔ
¾¡¹Ü C ÓïÑÔÎÊÊÀÒѽü 30 Ä꣬µ«ËüµÄ÷ÈÁ¦ÈÔδ¼õÍË¡£C ÓïÑÔ¼ÌÐøÎüÒý×ÅÖÚ¶àµÄ¿ª·¢Õߣ¬ËûÃÇΪÁ˱àд¡¢ÒÆÖ²»òά»¤Ó¦ÓóÌÐò¶ø±ØÐëѧϰм¼ÄÜ¡£
±¾ÎÄÊÇΪÁËÂú×ã¶ÔCÓïÑÔ³õѧÕß»òÏëÌá¸ß×ÔÉíCÓïÑÔÐÞΪµÄ¿ª·¢ÈËÔ±µÄÐèÒª¶øÐ´µÄ¡£Ï£Íû¶ÔÄúµÄѧϰºÍ¹¤×÷ÓÐËù°ïÖú¡£ÄúÒ²Ðí²»ÔÞͬÆäÖеÄijЩ·½·¨£¬µ«ÎÒÃÇÏ£ÍûÄú»áϲ»¶ÆäÖеÄһЩ¡£
±¾Î ......