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

LINUX ¿â×ÊÁÏ´óÈ«

¾­¹ý³¤Ê±¼äѧϰlinux¿âÎļþµÄ¸ÅÄ½ñÌìС±àÒ²¸ø´ó¼ÒËѼ¯Á˹ØÓÚ¿âµÄ¸ÅÄîÒÔ¼°×÷Óã¬Ï£Íû´ó¼Ò¿´ºó»áÓкܶàÊÕ»ñ¡£
1.ʲôÊÇlinux¿â
ÔÚwindowsƽ̨ºÍlinuxƽ̨϶¼´óÁ¿´æÔÚ×Å¿â¡£±¾ÖÊÉÏÀ´Ëµ¿âÊÇÒ»ÖÖ¿ÉÖ´ÐдúÂëµÄ¶þ½øÖÆÐÎʽ£¬¿ÉÒÔ±»²Ù×÷ϵͳÔØÈëÄÚ´æÖ´ÐС£ÓÉÓÚwindowsºÍlinuxµÄ±¾Öʲ»Í¬£¬Òò´Ë¶þÕß¿âµÄ¶þ½øÖÆÊDz»¼æÈݵġ£±¾ÎĽöÏÞÓÚ½éÉÜlinuxϵĿ⡣
2.linux¿âµÄÖÖÀà
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¿âÎļþÊÇÈçºÎÃüÃûµÄ£¬ÓÐûÓÐʲô¹æ·¶
ÔÚ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.ÔÚа


Ïà¹ØÎĵµ£º

LinuxÄÚºËÅäÖÃÎĵµ(make menuconfig)

Ò»¡¢ÒýÑÔ£º
    ±¾ÎĵµµÄÄÚÈݴ󲿷ÝÄÚÈݶ¼ÊÇ´ÓÍøÉÏÊÕ¼¯¶øÀ´£¬È»ºóÅäºÏһЩеĽØͼ£¨Äں˰汾£ºV2.4.19£©¡£ÔÚÿһÅäÖÃÏîºó»áÓÐÒ»¸öÑ¡ÔñÖ¸ÄϵIJ¿·Ý£¬ÓÃÀ´Ö¸µ¼´ó¼ÒÔõôÑù¸ù¾Ý×Ô¼ºµÄÇé¿öÀ´×öÏàÓ¦µÄÑ¡Ôñ£»»¹ÓÐÔÚÿһ¸ö´óÏîºÍÎĵµµÄ×îºó»áÓÐÒ»¸ö¾­Ñé̸£¬ËüÊÇһЩ¸ßÊÖÃÇÔÚÓ¦¶ÔÎÊÌâºÍ´¦ÀíÌØÓÐÓ²¼þʱµÄһЩ¾­Ñ飨Õâ¸ö»¹µ ......

»ùÓÚǶÈëʽLinuxµÄÊÓƵͼÏñ²É¼¯Óë´«Êä

 
ÕªÒª:ÊÓƵͼÏñ²É¼¯¼°´¦Àí¼¼ÊõÔÚÔ¶³ÌÊÓƵ¼à¿ØºÍ¿ÉÊӵ绰ÖÐÓÐ׏㷺µÄÓ¦ÓÃÇ°¾°£¬Çý¶¯ÊÓƵ²É¼¯É豸ºÍ»ñÈ¡ÊÓƵÊý¾Ý²¢½øÐÐÏàÓ¦µÄ´¦Àí£¬ÊÇʵÏÖÕâЩӦÓõĻù´¡¡£Õë¶ÔÕâЩӦÓ㬹¹½¨ÁËÒ»¸ö»ùÓÚǶÈëʽ LinuxºÍ PXA270΢´¦ÀíÆ÷µÄÊÓƵ²É¼¯Óë´«Êäϵͳ£¬ÀûÓà Video4LinuxʵÏÖ USBÉãÏñÍ·ÊÓƵÊý¾Ý²É¼¯£¬²É¼¯µÄÊÓƵÊý¾Ý¾­ JPEGѹËõº ......

Linux Socketѧϰ±Ê¼Ç£¨2£© SocketµÄ½éÉÜ

Socket ¾ÍÊÇÌ×½Ó×Ö¡£
Socket ¿ÉÒԺͱ¾µØĿ¼°ó¶¨£¬Ò²¿ÉÒÔºÍÒ»¸öIPµØÖ·°ó¶¨¡£
int socketpair(sa_family, socket_type, protocal,  int sz[2]);
sa_family: AF_LOCAL( ºÍ AF_UNIXÒ»Ñù) ±íʾ±¾µØµÄsocket Á¬½Ó
                 A ......

LinuxÖÐRouteÃüÁî

ÔÚÅäÖÃÍøÂçʱ£¬ÒªÎª»úÆ÷Ö¸¶¨½ÓÊÕÊý¾Ý°üʱ¸Ã°üÒª¾­¹ýµÄ·¾¶¡£ÔÚLinuxϵͳÖУ¬Ìṩһ¸öÃüÁîroute£¬Õâ¸öÃüÁî¿ÉÒÔΪifconfigÃüÁîÅäÖõÄÍø¿¨ÉèÖþ²Ì¬Â·ÓÉ¡£ÕâÖÖÉèÖù¤×÷ͨ³£ÔÚ/etc/rc.d/rc.inet1ÖÐÒýÈ룬ÔÚϵͳÒýµ¼Ê±½øÐС£
¡¡¡¡ÎÒÃÇͨ¹ý¼¸¸öÀý×ÓÀ´ËµÃ÷ÈçºÎʹÓÃrouteÃüÁî:
¡¡¡¡¡¡¡¡routeadd-net127.0.0.0
¡¡¡¡Õâ¸öÃüÁÏòÂ·Ó ......

Linux Makefile½éÉÜʹÓõĻ·¾³ÉîÈëdz³ö

Linux MakefileÒѱ»¹ã·ºÓ¦Óõ«ÊÇÒ²ÔÚ²»¶ÏµÄ¸üУ¬ÕâÀï½éÉÜLinux Makefile°²×°ÉèÖÃʹÓ㬰ïÖú´ó¼Ò°²×°¸üÐÂLinux Makefileϵͳ¡£×÷ΪLinuxϵijÌÐò¿ª·¢ÈËÔ±£¬´ó¼ÒÒ»¶¨¶¼Óöµ½¹ýLinux Makefile£¬ÓÃmakeÃüÁîÀ´±àÒë×Ô¼ºÐ´µÄ³ÌÐòȷʵÊǺܷ½±ã¡£Ò»°ãÇé¿öÏ£¬´ó¼Ò¶¼ÊÇÊÖ¹¤Ð´Ò»¸ö¼òµ¥Linux Makefile£¬Èç¹ûÒªÏëд³öÒ»¸ö·ûºÏ×ÔÓÉÈí¼þ¹ßÀ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ