Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ǶÈëʽLinux±àÒëÆ÷gccʹÓÃ


At first, GCC is used for GNU C Compiler. At present£¬it supports JAVA Ada C++ and so on.
GCC±àÒëÁ÷³Ì·ÖΪ£º
1.Pre-Processing£¨Ô¤´¦Àí£©
   gcc -E -o hello.i hello.c
   Ñ¡Ïî-E  Ê¹µÃ±àÒëÆ÷ÔÚÔ¤´¦Àí½áÊøÊ±Í£Ö¹±àÒë
   Ñ¡Ïî-o   Ö¸¶¨GCCµÄÊä³ö½á¹û
   .i/.ii       ¾­¹ýÔ¤´¦ÀíµÄC/C++Ô´³ÌÐò
2.Compiling£¨±àÒ룩
   gcc -S -o hello.s hello.i
   Ñ¡Ïî-S   Ê¹µÃ±àÒëÆ÷ÔÚ±àÒë½áÊø£¬½øÐлã±à֮ǰֹͣ±àÒë
   .s          »ã±àÓïÑÔÔ´³ÌÐò
3.Assembling (»ã±à)
   gcc -c hello.s hello.o
   Ñ¡Ïî-c     »ã±à½×¶Î½«»ã±à´úÂëתΪ¶þ½øÖÆÄ¿±ê´úÂë
4.Linking£¨Á´½Ó£©
   gcc hello.o -o hello
   ½«³ÌÐòÖÐÓõ½µÄ¿âº¯ÊýÈçprintfµÄʵÏÖ´ÓĬÈϵÄ·¾¶"/usr/lib/libc.so.6"Á´½Ó¹ýÀ´
   ÏÖÔÚ¼´¿ÉÔËÐпÉÖ´ÐÐÎļþhello 
GCC¾¯¸æÌáʾ£º
1.WallÀྯ¸æÌáʾ
   Õ¼GCC¾¯¸æÑ¡Ïî90%ÒÔÉÏ£¬½¨ÒéʹÓÃÑ¡Ïî-Wall£¬¼´´ò¿ªËùÓо¯¸æ£º
   gcc -Wall wrong.c -o wrong
2.·ÇWallÀྯ¸æÌáʾ
   "-ansi"   Ç¿ÖÆGCCÉú³ÉµÄ±ê×¼Óï·¨ËùÒªÇóµÄ¸æ¾¯ÐÅÏ¢£¬²¢²»±£Ö¤ËùÓÐûÓо¯¸æµÄ³ÌÐò¶¼ÊÇ·ûºÏANSI C±ê×¼
   ”-pedantic“ ÔÊÐí·¢³öANSI C±ê×¼ËùÁеÄÈ«²¿¾¯¸æÐÅÏ¢£¬±£Ö¤ËùÓÐûÓо¯¸æµÄ³ÌÐò¶¼ÊÇ·ûºÏANSI C±ê×¼
    gcc -pedantic wrong.c -o wrong
GCCʹÓÿ⺯Êý
LinuxÖÐÓÐ3Öֿ⺯ÊýÐÎʽ£º
1.¾²Ì¬ ºó׺Ϊ.a
   ¾²Ì¬¿âµÄ´úÂëÔÚ±àÒëʱ¾ÍÒѾ­Á¬½Óµ½Ó¦ÓóÌÐòÖÐ   
2.¹²Ïí ºó׺Ϊ.soºÍ°æ±¾ºÅ
   ÔÚ³ÌÐò¿ªÊ¼ÔËÐÐʱ²ÅÔØÈë
3.¶¯Ì¬ ºó׺Ϊ.soºÍ°æ±¾ºÅ
  ÔÚ³ÌÐòÖеÄÓï¾äÐèҪʹÓøú¯Êýʱ²Åµ÷Ó㬵÷ÓýáÊøºóÊͷŶ¯Ì¬¿âËùÕ¼ÄÚ´æ
  ¶¯Ì¬¿âºÍ¹²Ïí¿âÖ»°üº¬¶Ô¿âº¯ÊýµÄÒýÓ㬴úÂë¹æÄ£½ÏС
  LinuxϵͳËùÓõĿⶼ·ÅÔÚ /usr/lib ºÍ /lib Ä¿Â¼ÏÂ
  ¿âÎļþµÄ·¾¶Í¨³£²»ÔÚϵͳĬÈÏ·¾¶Ï£¬ÔòÐèҪʹÓõ÷Ó÷¾¶Ñ¡ÏîÀ´Ö¸¶¨Ïà¹Ø¿âÎļþµÄλÖÃ
  1. ” -I dir &


Ïà¹ØÎĵµ£º

Linux»·¾³µÄAMP°²×° MSSQLÀ©Õ¹°²×°


LinuxÒª°²×°mssqlÀ©Õ¹£¬±ØÐëÊ×ÏȰ²×°freetds£¬°²×°¹ý³ÌÈçÏ£º
1¡¢¼ÙÉèÔ´ÎļþĿ¼Ϊ/webServ£¬°²×°Ä¿Â¼Îª/opt/freetds¡£
1) >cd /webServ
2) ÏÂÔØ£¬ >wget ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
3) ½âѹ£¬ >tar -zxvf freetds-stable.tgz
4) ½øÈ룬 >cd freetds-0¡£ ......

LinuxϵͳÓÐÓõÄÒ»¸öÃüÁî

¸ú×ÙϵͳµÄÊä³ö:
     strace
     ÀýÈç:  strace -p 9034  -x -s 2048
     -p   ½ø³ÌºÅ
     -x    ²»ÊÇASCIIµÄÊä³öÓÃHEX±íʾ
     -s    ÿ´ÎÊä³öµ ......

LinuxÄÚºËÈçºÎ½ÓÊÕ²»Í¬ÀàÐÍÒÔ̫֡

1. ǰÑÔ
ÒÔ̫ͷÖгýÁË6×Ö½ÚÄ¿µÄMACµØÖ·¡¢6×Ö½ÚÔ´MACµØÖ·Í⣬»¹ÓÐÁ½×Ö½ÚµÄÒÔ̫֡ÀàÐÍÖµ£¬ÈçIPv4Ϊ0x0800£¬ARPΪ0x0806µÈ£¬Íø¿¨Çý¶¯ÊÕµ½ÒÔ̫֡ºóͨ¹ý½Ó¿Úº¯Êýnetif_receive_skb()(netif_rxʵ¼Ê×îºóÒ²Êǵ÷ÓÃnetif_receive_skb)½»µ½Éϲ㣬¶øÕâ¸ö½Ó¿Úº¯Êý¾ÍÍê³É¶ÔÒÔ̫֡ÀàÐ͵ÄÇø·Ö£¬½»µ½²»Í¬µÄЭÒé´¦Àí³ÌÐò¡£Èç¹ûÏë×Ô¼º±àдijһ ......

Linux Kernel時ÐòµÄÈý種機ÖÆ

×î½üÔÚ寫Driver時£¬³£³£Óöµ½ÐèÒª¡¸µÈ´ýÒ»¶Î時間¡¹ÔÙ處ÀíµÄ動×÷£¬ÒÔÍùÎÒ¶¼ÉµÉµµÄÓÃmsleep()»òmdelay()£¬Êâ²»Öª這種busy waiting會holdסcpu資Ô´£¬ÔÚ這¶ÎÆÚ間內¶¼無·¨讓給ÆäËûprocess執ÐУ¬時間¶Ì(10msÒ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ