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

linuxÏµĹ²Ïí¿â£¨¶¯Ì¬¿â£©ºÍ¾²Ì¬¿â


1.ʲôÊÇ¿â
ÔÚwindowsƽ̨ºÍlinuxƽ̨϶¼´óÁ¿´æÔÚ×ſ⡣
±¾ÖÊÉÏÀ´Ëµ¿âÊÇÒ»ÖÖ¿ÉÖ´ÐдúÂëµÄ¶þ½øÖÆÐÎʽ£¬¿ÉÒÔ±»²Ù×÷ÏµÍ³ÔØÈëÄÚ´æÖ´ÐС£
ÓÉÓÚwindowsºÍlinuxµÄ±¾Öʲ»Í¬£¬Òò´Ë¶þÕß¿âµÄ¶þ½øÖÆÊDz»¼æÈݵġ£
±¾ÎĽöÏÞÓÚ½éÉÜlinuxϵĿ⡣
2.¿âµÄÖÖÀà
linuxϵĿâÓÐÁ½ÖÖ£º¾²Ì¬¿âºÍ¹²Ïí¿â£¨¶¯Ì¬¿â£©¡£
¶þÕߵIJ»Í¬µãÔÚÓÚ´úÂë±»ÔØÈëµÄʱ¿Ì²»Í¬¡£
¾²Ì¬¿âµÄ´úÂëÔÚ±àÒë¹ý³ÌÖÐÒѾ­±»ÔØÈë¿ÉÖ´ÐгÌÐò£¬Òò´ËÌå»ý½Ï´ó¡£
¹²Ïí¿âµÄ´úÂëÊÇÔÚ¿ÉÖ´ÐгÌÐòÔËÐÐʱ²ÅÔØÈëÄÚ´æµÄ£¬ÔÚ±àÒë¹ý³ÌÖнö¼òµ¥µÄÒýÓã¬Òò´Ë´úÂëÌå»ý½ÏС¡£
3.¿â´æÔÚµÄÒâÒå
¿âÊDZðÈËдºÃµÄÏÖÓе쬳ÉÊìµÄ£¬¿ÉÒÔ¸´ÓõĴúÂ룬Äã¿ÉÒÔʹÓõ«Òª¼ÇµÃ×ñÊØÐí¿ÉЭÒé¡£
ÏÖʵÖÐÿ¸ö³ÌÐò¶¼ÒªÒÀÀµºÜ¶à»ù´¡µÄµ×²ã¿â£¬²»¿ÉÄÜÿ¸öÈ˵ĴúÂë¶¼´ÓÁ㿪ʼ£¬Òò´Ë¿âµÄ´æÔÚÒâÒå·ÇͬѰ³£¡£
¹²Ïí¿âµÄºÃ´¦ÊÇ£¬²»Í¬µÄÓ¦ÓóÌÐòÈç¹ûµ÷ÓÃÏàͬµÄ¿â£¬ÄÇôÔÚÄÚ´æÀïÖ»ÐèÒªÓÐÒ»·Ý¸Ã¹²Ïí¿âµÄʵÀý¡£
4.¿âÎļþÊÇÈçºÎ²úÉúµÄÔÚlinuxÏÂ
¾²Ì¬¿âµÄºó׺ÊÇ.a£¬ËüµÄ²úÉú·ÖÁ½²½
Step 1.ÓÉÔ´Îļþ±àÒëÉú³ÉÒ»¶Ñ.o£¬Ã¿¸ö.oÀï¶¼°üº¬Õâ¸ö±àÒëµ¥ÔªµÄ·ûºÅ±í
Step 2.arÃüÁºÜ¶à.oת»»³É.a£¬³ÉÎľ²Ì¬¿â
¶¯Ì¬¿âµÄºó׺ÊÇ.so£¬ËüÓÉgcc¼ÓÌØ¶¨²ÎÊý±àÒë²úÉú¡£
ÀýÈç:
$ gcc -fPIC -c *.c $ gcc -shared -Wl,-soname, libfoo.so.1 -o libfoo.so.1.0 *.
5.¿âÎļþÊÇÈçºÎÃüÃûµÄ£¬ÓÐûÓÐʲô¹æ·¶
ÔÚlinuxÏ£¬¿âÎļþÒ»°ã·ÅÔÚ/usr/lib /libÏ£¬
¾²Ì¬¿âµÄÃû×ÖÒ»°ãΪlibxxxx.a£¬ÆäÖÐxxxxÊǸÃlibµÄÃû³Æ
¶¯Ì¬¿âµÄÃû×ÖÒ»°ãΪlibxxxx.so.major.minor£¬xxxxÊǸÃlibµÄÃû³Æ£¬majorÊÇÖ÷°æ±¾ºÅ£¬ minorÊǸ±°æ±¾ºÅ
6.ÈçºÎÖªµÀÒ»¸ö¿ÉÖ´ÐгÌÐòÒÀÀµÄÄЩ¿â
lddÃüÁî¿ÉÒԲ鿴һ¸ö¿ÉÖ´ÐгÌÐòÒÀÀµµÄ¹²Ïí¿â£¬
ÀýÈç
# ldd /bin/lnlibc.so.6
=> /lib/libc.so.6 (0×40021000)/lib/ld-linux.so.2
=> /lib/ld- linux.so.2 (0×40000000)
¿ÉÒÔ¿´µ½lnÃüÁîÒÀÀµÓÚlibc¿âºÍld-linux¿â
7.¿ÉÖ´ÐгÌÐòÔÚÖ´ÐеÄʱºòÈçºÎ¶¨Î»¹²Ïí¿âÎļþ
µ±ÏµÍ³¼ÓÔØ¿ÉÖ´ÐдúÂëʱºò£¬Äܹ»ÖªµÀÆäËùÒÀÀµµÄ¿âµÄÃû×Ö£¬µ«ÊÇ»¹ÐèÒªÖªµÀ¾ø¶Ô·¾¶
´Ëʱ¾ÍÐèҪϵͳ¶¯Ì¬ÔØÈëÆ÷(dynamic linker/loader)
¶ÔÓÚelf¸ñʽµÄ¿ÉÖ´ÐгÌÐò£¬ÊÇÓÉld-linux.so*À´Íê³ÉµÄ£¬ËüÏȺóËÑË÷elfÎļþµÄ
DT_RPATH¶Î—»·¾³±äÁ¿LD_LIBRARY_PATH—/etc/ld.so.cacheÎļþÁбí—/lib/,/usr/libĿ¼ÕÒµ½¿âÎļþºó½«ÆäÔØÈëÄÚ´æ
8.ÔÚа²×°Ò»¸ö¿âÖ®ºóÈçºÎÈÃϵͳÄܹ»ÕÒµ½Ëû
Èç¹û°²×°ÔÚ/lib»òÕß/usr/libÏ£¬ÄÇôldĬÈ


Ïà¹ØÎĵµ£º

linuxϵÄed ±à¼­Æ÷

linuxϵÄed ±à¼­Æ÷
ed ±à¼­Æ÷ÊÇ Linux ²Ù×÷ϵͳÏÂ×î¼òµ¥µÄÎı¾±à¼­Æ÷¡£ËüÊÇÒÔÐÐΪµ¥Î»¶ÔÎļþ½øÐб༭µÄ±à¼­Æ÷£¬¶ø²»Ïñ MS-DOS ϵͳÏ嵀 edit ÄÇÑùÊÇÒÔÕû¸öÆÁÄ»¿ò¼ÜΪµ¥Î»¶ÔÎļþ½øÐб༭µÄ¡£Òò´Ë£¬Èç¹ûÄãÒѾ­Ï°¹ßÁËʹÓà edit ÕâÖÖ·ç¸ñµÄ±à¼­Æ÷£¬ÄÇôÄã¿ÉÄÜÐèÒªÒ»¶Îʱ¼ä²ÅÄÜϰ¹ß ed µÄ·ç¸ñ¡£µ«ÊÇÕâ²¢²»ÖØÒª£¬ÒòΪ ed µÄ¼ò± ......

fedora/linux yumÔ´ÏêϸÉèÖÃ

1.Ìí¼Órpm fusionÔ´
rpm -ivh
http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
2.µ¼Èërpm fusion²Ö¿âµÄÃÜÔ¿
rpm --import http://ATrpms.net/RPM-GPG-KEY.atrpms
3.ÐÞ¸ÄÃÜÔ¿Îļþ ......

Linux·¢Ëͺ¯Êýdev_queue_xmit·ÖÎö

µ±Éϲã×¼±¸ºÃÒ»¸ö°üÖ®ºó£¬½»¸øÏÂÃæÕâ¸öº¯Êý´¦Àí
int dev_queue_xmit(struct sk_buff *skb)
{
struct net_device *dev = skb->dev;
struct netdev_queue *txq;
struct Qdisc *q;
int rc = -ENOMEM;
/* GSO will handle the following emulations directly. */
if (netif_needs_gso(dev, skb))
goto gso; ......

Linux Äں˱àÒë²½Öè £¨×ª£©

ÏÂÔØÐÂÄÚºËÒÔºó£¬ÏȰÑLinux-2.6.18.2.tar.bz2 ¸´ÖƵ½/usr/src/ µÄÏÂÃæ
tar –jxvf  Linux-2.6.18.2.tar.bz2 cd Linux-2.6.18.2 make mrproper °ÑÔ­À´±àÒë²úÉúµÄÀ¬»øÉ¾³ý
ÅäÖÃÄں˿ÉÒÔ¸ù¾ÝÐèÒªÓë°®ºÃʹÓÃÏÂÃæÃüÁîÖеÄÒ»¸ö£º
££make config £¨»ùÓÚÎı¾µÄ×îΪ´«Í³µÄÅäÖýçÃæ£©
££make menuconfig £¨»ùÓÚÎı¾ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ