CÖÐÔ¤±àÒëºê¶¨Òå
CÖÐÔ¤±àÒëºê¶¨Òå
2010-01-07 11:49
ÔÚ½«Ò»¸öCÔ´³ÌÐòת»»Îª¿ÉÖ´ÐгÌÐòµÄ¹ý³ÌÖÐ, ±àÒëÔ¤´¦ÀíÊÇ×î³õµÄ²½Öè. ÕâÒ»²½ÖèÊÇÓÉÔ¤´¦ÀíÆ÷(preprocessor)À´Íê³ÉµÄ. ÔÚÔ´Á÷³ÌÐò±»±àÒëÆ÷´¦Àí֮ǰ, Ô¤´¦ÀíÆ÷Ê×ÏȶÔÔ´³ÌÐòÖеÄ"ºê(macro)"½øÐд¦Àí.
C ³õѧÕß¿ÉÄܶÔÔ¤´¦ÀíÆ÷ûʲô¸ÅÄî, ÕâÊÇÇéÓпÉÔµÄ: Ò»°ãµÄC±àÒëÆ÷¶¼½«Ô¤´¦Àí, »ã±à, ±àÒë, Á¬½Ó¹ý³Ì¼¯³Éµ½Ò»ÆðÁË. ±àÒëÔ¤´¦ÀíÍùÍùÔÚºǫ́ÔËÐÐ. ÔÚÓеÄC±àÒëÆ÷ÖÐ, ÕâЩ¹ý³ÌͳͳÓÉÒ»¸öµ¥¶ÀµÄ³ÌÐòÀ´Íê³É, ±àÒëµÄ²»Í¬½×¶ÎʵÏÖÕâЩ²»Í¬µÄ¹¦ÄÜ. ¿ÉÒÔÖ¸¶¨ÏàÓ¦µÄÃüÁîÑ¡ÏîÀ´Ö´ÐÐÕâЩ¹¦ÄÜ. ÓеÄC±àÒëÆ÷ʹÓ÷ֱðµÄ³ÌÐòÀ´Íê³ÉÕâЩ²½Öè. ¿Éµ¥¶Àµ÷ÓÃÕâЩ³ÌÐòÀ´Íê³É. ÔÚgccÖÐ, ½øÐбàÒëÔ¤´¦ÀíµÄ³ÌÐò±»³ÆΪCPP, ËüµÄ¿ÉÖ´ÐÐÎļþÃûΪcpp.
±àÒëÔ¤´¦ÀíÃüÁîµÄÓï·¨ÓëCÓïÑÔµÄÓï·¨ÊÇÍêÈ«¶ÀÁ¢µÄ. ±ÈÈç: Äã¿ÉÒÔ½«Ò»¸öºêÀ©Õ¹ÎªÓëCÓï·¨¸ñ¸ñ²»ÈëµÄÄÚÈÝ, µ«¸ÃÄÚÈÝÓëºóÃæµÄÓï¾ä½áºÏÔÚÒ»¸öÈôÄÜÉú³ÉºÏ·¨µÄCÓï¾ä, Ò²ÊÇ¿ÉÒÔÕýÈ·±àÒëµÄ.
(Ò») Ô¤´¦ÀíÃüÁî¼ò½é
Ô¤´¦ÀíÃüÁîÓÉ#(hash×Ö·û)¿ªÍ·, Ëü¶ÀÕ¼Ò»ÐÐ, #֮ǰֻÄÜÊÇ¿Õ°×·û. ÒÔ#¿ªÍ·µÄÓï¾ä¾ÍÊÇÔ¤´¦ÀíÃüÁî, ²»ÒÔ#¿ªÍ·µÄÓï¾äΪCÖеĴúÂëÐÐ. ³£ÓõÄÔ¤´¦ÀíÃüÁîÈçÏÂ:
#define ¶¨ÒåÒ»¸öÔ¤´¦Àíºê
#undef È¡ÏûºêµÄ¶¨Òå
#include °üº¬ÎļþÃüÁî
#include_next Óë#includeÏàËÆ, µ«ËüÓÐ×ÅÌØÊâµÄÓÃ;
#if ±àÒëÔ¤´¦ÀíÖеÄÌõ¼þÃüÁî, Ï൱ÓÚCÓï·¨ÖеÄifÓï¾ä
#ifdef ÅжÏij¸öºêÊÇ·ñ±»¶¨Òå, ÈôÒѶ¨Òå, Ö´ÐÐËæºóµÄÓï¾ä
#ifndef Óë#ifdefÏà·´, ÅжÏij¸öºêÊÇ·ñδ±»¶¨Òå
#elif Èô#if, #ifdef, #ifndef»òÇ°ÃæµÄ#elifÌõ¼þ²»Âú×ã, ÔòÖ´ÐÐ#elifÖ®ºóµÄÓï¾ä, Ï൱ÓÚCÓï·¨ÖеÄelse-if
#else Óë#if, #ifdef, #ifndef¶ÔÓ¦, ÈôÕâЩÌõ¼þ²»Âú×ã, ÔòÖ´ÐÐ#elseÖ®ºóµÄÓï¾ä, Ï൱ÓÚCÓï·¨ÖеÄelse
#endi
Ïà¹ØÎĵµ£º
Ò»¡¢¹¤¾ßµÄʹÓÃ
1¡¢Ñ§»áʹÓÃvim/emacs£¬vim/emacsÊÇlinuxÏÂ×î³£ÓõÄÔ´Âë±à¼¾ß£¬²»¹âҪѧ»áÓÃËüÃDZà¼Ô´Â룬»¹ÒªÑ§»áÓÃËüÃǽøÐвéÕÒ¡¢¶¨Î»¡¢Ìæ»»µÈ¡£ÐÂÊֵĻ°ÍƼöʹÓÃvim£¬ÕâÒ²ÊÇÎÒĿǰʹÓõÄÎı¾±à¼Æ÷¡£vimÓÐÒ»¸öÖÐÎÄÔÚÏßÊÖ²áhttp://vcd.gro.clinux.org¡£
2¡¢Ñ§»ámakefileÎļþµÄ±àд¹æÔò£¬²¢½áºÏʹÓù¤¾ßaclocal¡¢autoc ......
C/C++ÊÇ×îÖ÷ÒªµÄ±à³ÌÓïÑÔ¡£ÕâÀïÁгöÁË50ÃûÓÅÐãÍøÕ¾ºÍÍøÒ³Çåµ¥£¬ÕâЩÍøÕ¾Ìṩc/c++Ô´´úÂë¡£Õâ·ÝÇåµ¥ÌṩÁËÔ´´úÂëµÄÁ´½ÓÒÔ¼°ËüÃǵÄС˵Ã÷¡£ÎÒÒѾ¡Á¦°üÀ¨×î¼ÑµÄC/C++Ô´´úÂëµÄÍøÕ¾¡£Õâ²»ÊÇÒ»¸öÍêÕûµÄÇåµ¥£¬ÄúÓн¨Òé¿ÉÒÔÁªÏµÎÒ£¬ÎÒ½«»¶ÓÄúµÄ½¨Ò飬ÒÔ½øÒ»²½¼ÓÇ¿Õâ·½ÃæµÄÇåµ¥¡£
1¡¢http://snippets.dzone.com/tag/c/ --ÊýÒÔǧ¼Æ ......
CRT È«³Æ£ºVisual C++ C RunTime Lib ¾ÍÊÇCÔËÐÐʱ¿â¡£
×¢£º ÒÔÏÂÄÚÈݲ¿·ÖÒý×ÔCSNDÖÐÏà¹ØÌÖÂÛµÄÌû×Ó£¬²¢½áºÏ×Ô¼ºµÄÀí½âÕûÀí¶ø³É¡£½ö¹©²Î¿¼¡£
1)ÔËÐÐʱ¿â¾ÍÊÇ C run-time library£¬ÊÇ C ¶ø·Ç C++ ÓïÑÔÊÀ½çµÄ¸ÅÄî:È¡Õâ¸öÃû×Ö¾ÍÊÇÒòΪÄãµÄ C ³ÌÐòÔËÐÐʱÐèÒªÕâЩ¿âÖеĺ¯Êý.
2)C ÓïÑÔÊÇËùνµÄ“СÄں˔ÓïÑÔ£¬¾ÍÆäÓ ......
C Runtime Library
1)ÔËÐÐʱ¿â¾ÍÊÇ C run-time library£¬ÊÇ C ¶ø·Ç C++ ÓïÑÔÊÀ½çµÄ¸ÅÄî:È¡Õâ¸öÃû×Ö¾ÍÊÇÒòΪÄãµÄ C ³ÌÐòÔËÐÐʱÐèÒªÕâЩ¿âÖеĺ¯Êý.
2)C ÓïÑÔÊÇËùνµÄ“СÄں˔ÓïÑÔ£¬¾ÍÆäÓïÑÔ±¾ÉíÀ´ËµºÜС£¨²»¶àµÄ¹Ø¼ü×Ö£¬³ÌÐòÁ÷³Ì¿ØÖÆ£¬Êý¾ÝÀàÐ͵ȣ©£»ËùÒÔ£¬C ÓïÑÔÄں˿ª·¢³öÀ´Ö®ºó£¬ Dennis Ritchie ºÍ Brian ......