Linux ÄÚºËÖÐµÄ GCC ÌØÐÔ
M. Tim Jones, ¹ËÎʹ¤³Ìʦ, Emulex Corp.
Linux® ÄÚºËʹÓà GNU Compiler Collection (GCC) Ì×¼þµÄ¼¸¸öÌØÊ⹦ÄÜ¡£ÕâЩ¹¦ÄܰüÀ¨Ìṩ¿ì½Ý·½Ê½ºÍ¼ò»¯ÒÔ¼°Ïò±àÒëÆ÷ÌṩÓÅ»¯ÌáʾµÈµÈ¡£Á˽âÕâÐ©ÌØÊâµÄ GCC ÌØÐÔ£¬Ñ§Ï°ÈçºÎÔÚ Linux ÄÚºËÖÐʹÓÃËüÃÇ¡£
GCC ºÍ Linux ÊdzöÉ«µÄ×éºÏ¡£¾¡¹ÜËüÃÇÊǶÀÁ¢µÄÈí¼þ£¬µ«ÊÇ Linux ÍêÈ«ÒÀ¿¿ GCC ÔÚеÄÌåϵ½á¹¹ÉÏÔËÐС£Linux »¹ÀûÓà GCC ÖеÄÌØÐÔ£¨³ÆÎªÀ©Õ¹£©ÊµÏÖ¸ü¶à¹¦ÄܺÍÓÅ»¯¡£±¾ÎÄÌÖÂÛÒ»Ð©ÖØÒªµÄÀ©Õ¹£¬½²½âÈçºÎÔÚ Linux ÄÚºËÖÐʹÓÃËüÃÇ¡£
GCC µ±Ç°µÄÎȶ¨°æ±¾£¨°æ±¾ 4.3.2£©Ö§³Ö C ±ê×¼µÄÈý¸ö°æ±¾£º
International Organization for Standardization (ISO) ×î³õµÄ C ÓïÑÔ±ê×¼£¨ISO C89 »ò C90£©
´øÐÞÕý 1 µÄ ISO C90
µ±Ç°µÄ ISO C99£¨ÕâÊÇ GCC ʹÓõÄĬÈϱê×¼£¬±¾ÎÄÒ²¼ÙÉè²ÉÓÃÕâÖÖ±ê×¼£©
×¢Ò⣺±¾ÎļÙÉèʹÓà ISO C99 ±ê×¼¡£Èç¹ûÖ¸¶¨±È ISO C99 °æ±¾¾ÉµÄ±ê×¼£¬ÄÇô¿ÉÄÜÎÞ·¨Ê¹Óñ¾ÎÄÃèÊöµÄһЩÀ©Õ¹¡£¿ÉÒÔÔÚÃüÁîÐÐÉÏʹÓà -std Ñ¡ÏîÖ¸¶¨ GCC ʹÓõÄʵ¼Ê±ê×¼¡£¿ÉÒÔͨ¹ý GCC ÊÖ²á²é¿´Äĸö±ê×¼°æ±¾Ö§³ÖÄÄЩÀ©Õ¹£¨¼û ²Î¿¼×ÊÁÏ ÖеÄÁ´½Ó£©¡£
¿ÉÓ¦Óõİ汾
±¾ÎÄÖ÷Òª¹Ø×¢ÔÚ 2.6.27.1 Linux ÄÚºËºÍ GCC µÄ 4.3.2 °æ±¾ÖÐʹÓà GCC À©Õ¹¡£Ã¿¸ö C À©Õ¹ÒýÓà Linux ÄÚºËÔ´´úÂëÖеÄÒ»¸öÎļþ£¬¿ÉÒÔÔÚÆäÖÐÕÒµ½Ê¾Àý¡£
¿ÉÒÔÒÔ¼¸ÖÖ·½Ê½¶Ô¿ÉÓÃµÄ C À©Õ¹½øÐзÖÀà¡£±¾ÎİÑËüÃÇ·ÖΪÁ½´óÀࣺ
¹¦ÄÜÐÔ À©Õ¹Ìṩй¦ÄÜ¡£
ÓÅ»¯ À©Õ¹°ïÖúÉú³É¸ü¸ßЧµÄ´úÂë¡£
¹¦ÄÜÐÔÀ©Õ¹
ÏÈÌÖÂÛһЩÀ©Õ¹±ê×¼ C ÓïÑ﵀ GCC À©Õ¹¡£
ÀàÐÍ·¢ÏÖ
GCC ÔÊÐíͨ¹ý±äÁ¿µÄÒýÓÃʶ±ðÀàÐÍ¡£ÕâÖÖ²Ù×÷Ö§³Ö·ºÐͱà³Ì¡£ÔÚ C++¡¢Ada ºÍ Java™ ÓïÑÔµÈÐí¶àÏÖ´ú±à³ÌÓïÑÔÖж¼¿ÉÒÔÕÒµ½ÏàËÆµÄ¹¦ÄÜ¡£Linux ʹÓà typeof ¹¹½¨ min ºÍ max µÈÒÀÀµÓÚÀàÐ͵IJÙ×÷¡£Çåµ¥ 1 ÑÝʾÈçºÎʹÓà typeof ¹¹½¨Ò»¸ö·ºÐͺ꣨¼û ./linux/include/linux/kernel.h£©¡£
Çåµ¥ 1. ʹÓà typeof ¹¹½¨Ò»¸ö·ºÐͺê
#define min(x, y) ({ \
typeof(x) _min1 = (x); \
typeof(y) _min2 = (y); \
(void) (&_min1 == &_min2); \
_min1 < _min2 ? _min1 : _min2; })
·¶Î§À©Õ¹
GCC Ö§³Ö·¶Î§£¬ÔÚ C ÓïÑÔµÄÐí¶à·½Ãæ¶¼¿ÉÒÔʹÓ÷¶Î§¡£ÆäÖÐÖ®Ò»ÊÇ switch/case ¿éÖÐµÄ case Óï¾ä¡£ÔÚ¸´ÔÓµÄÌõ¼þ½á¹¹ÖУ¬Í¨³£ÒÀ¿¿Ç¶Ì×µÄ if Óï¾äʵÏÖÓëÇåµ¥ 2£¨¼û ./linux/drivers/scsi/sd.c£©ÏàͬµÄ½á¹û£¬µ«ÊÇÇåµ¥ 2 ¸ü¼ò½à¡£Ê¹Óà switch/case Ò²¿ÉÒÔͨ¹ýʹÓÃÌø×ª±íʵÏÖ½øÐбàÒëÆ÷ÓÅ»¯¡£
Çåµ
Ïà¹ØÎĵµ£º
ÕûÀíÁËһЩ³£ÓõÄLinuxÃüÁî
http://jythoner.javaeye.com/blog/290976
¹Ø¼ü×Ö: linux
1.²é¿´ÏµÍ³ÄÚºË
#uname -a
2.²é¿´cpuÐÅÏ¢
#cat /proc/cpuinfo
3.²é¿´ÄÚ´æÊ¹ÓÃÇé¿ö
#free -m
4.²é¿´Ó²ÅÌÊ£Óà¿Õ¼ä
#df -h
5.²é¿´Ä¿Â¼Õ¼Óÿռä
#du -hs Ŀ¼Ãû
6.²é¿´µ±Ç°ÓÐÄÄЩ½ø³Ì
#ps -A
7.²é¿´µ±Ç°½ø³ÌµÄʵ ......
ÏîÄ¿Öг£Óöµ½ÐèÒª¶ÔĿǰÔËÐеÄϵͳ½øÐÐЧÂÊ·ÖÎö£¬»òÅöµ½¿Í»§×ÉѯÈçºÎÓÅ»¯ÏµÍ³µÄЧÂÊÎÊÌâ¡£¸ü¶àµÄÇé¿öÊÇ£¬ÔÚϵͳ³öÏÖÎÊÌâµÄʱºò£¬ÐèÒª·ÖÎöÔÒò£¬¶¨Î»ÏµÍ³¹ÊÕÏ»òÆ¿¾±£¬µ±È»£¬×îºÃÊÇ¿ÉÒÔÒ»²¢½â¾ö¹ÊÕÏ¡£µ«Êµ¼ÊÉÏ£¬²Ù×÷ϵͳÓÅ»¯ÊÇÒ»¸ö·Ç³£¸´ÔÓµÄÎÊÌ⣬¿öÇÒlinuxÓÐ×Ô¼ºÒ»Ì×ÓбðÓÚÆäËû²Ù×÷ϵͳ¹ÜÀíµÄ»úÖÆ£¬ÓÉ´Ë»áÒýÆðºÜ¶à²»±ØÒªµÄÎ ......
½ñÌì°²×°ÁËdb2£¬Ã¦Á˺ÃÒ»Õó×Ó£¬ÉÏÍøÕÒ×ÊÁϵȣ¬ÖÕÓÚ×°ºÃÁË£¬ÏÂÃæ¾Í°ÑÎҵIJ½Öè¸ú´ó¼Ò·ÖÏíһϡ£
¡¡¡¡µÚÒ»²½:¼ì²é³ÌÐò°ü¼°Æä°æ±¾
¡¡¡¡ compat-libstdc++-7.3-2.96.118.i386.rpm
¡¡¡¡ ÔÚlinuxµÄ°²×°ÅÌÉÏ,ÕÒµ½ºóʹÓÃrpm -i compat-libstdc++-7.3-2.96.118.i386.rpm °²×°¼´¿É
¡¡¡¡µÚ ......
ÔÎĵØÖ·
À¶É«±íʾĿ¼£»
ÂÌÉ«±íʾ¿ÉÖ´ÐÐÎļþ£»
ºìÉ«±íʾѹËõÎļþ£»
dzÀ¶É«±íʾÁ´½ÓÎļþ£»
»ÒÉ«±íʾÆäËüÎļþ£»
ºìÉ«ÉÁ˸±íʾÁ´½ÓµÄÎļþÓÐÎÊÌâÁË£»
»ÆÉ«ÊÇÉ豸Îļþ£¬°üÀ¨block, char, fifo¡£
ÓÃdircolors
-p¿´µ½È±Ê¡µÄÑÕÉ«ÉèÖ㬰üÀ¨¸÷ÖÖÑÕÉ«ºÍ“´ÖÌ唣¬Ï»®Ïߣ¬ÉÁ˸µÈ¶¨Òå¡£ ......
IPµØÖ·ÊÇÒ»¸ö32λµÄ¶þ½øÖÆÊý£¬ËüÓɵã·ÖÊ®½øÖƼǷ¨±íʾ£¬Ã¿Ò»¸öÊ®½øÖÆÊý´ú±íÒ»¸ö8λÎÞ·ûºÅÕûÐÍÊý£¬ËùÒÔ·¶Î§ÔÚ0-255Ö®¼ä¡£
Ò»¸öIPµØÖ··ÖÎªÍøÂçµØÖ·ºÍÖ÷»úµØÖ·£¬ÍøÂçµØÖ·Çø·Ö²»Í¬ÍøÂ磬Ö÷»úµØÖ·Çø·ÖÏàÍ¬ÍøÂçÖв»Í¬Ö÷»ú¡£²»Í¬µÄIPµØÖ·ÀàËûÃǵÄÖ÷»úÍøÂçµØÖ·Ò²ÊDz»¹Ì¶¨µÄ£¬A,B,CÀàµØÖ·¶¨ÒåÁËijһÖ÷»úÌØ¶¨µÄIPµØÖ·£ ......