¹ØÓÚLinux¾²Ì¬¿âºÍ¶¯Ì¬¿âµÄ·ÖÎö
²é¿´ÎÄÕÂ
¹ØÓÚLinux¾²Ì¬¿âºÍ¶¯Ì¬¿âµÄ·ÖÎö
2009-12-15 11:44
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.
Ïà¹ØÎĵµ£º
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
¹¦ÄÜ˵Ã÷£º±È½ÏÎļþµÄ²îÒì¡£
Óï¡¡¡¡·¨£ºdiff [-abBcdefHilnNpPqrstTuvwy][-<ÐÐÊý>][-C <ÐÐÊý>][-D <¾Þ¼¯Ãû³Æ>][-I <×Ö·û»ò×Ö·û´®>][-S <Îļþ>][-W <¿í¶È>][-x <Îļþ»òĿ¼>][-X <Îļþ>][--help][--left-column][--suppress-common-line][Îļþ»òĿ¼1][Îļþ»òĿ¼2]
²¹³ä ......
ÔÚ UNIX ϵͳÖУ¬Óû§´´½¨Ò»¸öнø³ÌµÄΨһ·½·¨¾ÍÊǵ÷ÓÃϵͳµ÷Óà fork¡£µ÷ Óà fork µÄ½ø³Ì³ÆÎª¸¸½ø³Ì£¬¶øÐ´´½¨µÄ½ø³Ì½Ð×ö×Ó½ø³Ì¡£ÏµÍ³µ÷ÓõÄÓï·¨¸ñʽ£º
pid = fork();
ÔÚ´Óϵͳµ÷Óà fork Öзµ»ØÊ±£¬Á½¸ö½ø³Ì³ýÁË·µ»ØÖµ pid ²»Í¬Í⣬¾ßÓÐÍêȫһÑùµÄÓû§¼¶ÉÏÏÂÎ ......
linuxϽøÐÐÓ²ÅÌ·ÖÇø£¬½øÐиñʽ»¯´¦Àí£¬²¢½øÐйÒÔØÊ¹ÓÃ
ʵÑé»·¾³£º
HPZ400¹¤×÷Õ¾ £º 500GÓ²ÅÌ
ÓÉÓÚ±¾»úÊÇԤװµÄSUSE Linux Enterprise Desktop 11 (x86_64)
³ö³§Ê±£¬½öÔÚÓ²ÅÌÉÏ·ÖÁËÒ»¸ö38GµÄext3Îļþϵͳ£¬ºÍÒ»¸ö2GµÄswap·ÖÇø£¬ËùÒÔ¶ÔÓÚÆäËüµÄ¿ÕÏзÖÇø£¬ÒªÊµÏÖʹÓ㬾ÍÒª½øÐиñ
´¦Àí¡£
¿ÉÓõķÖÇø¹¤¾ßÓУºfdis ......
linuxϵÄ×Ö·û¼¯×ª»»ÃüÁîÊÇiconv£¬ÎÒÃǶ¼ÖªµÀ´Óutf8±àÂëת»»³Égbk±àÂë¿ÉÒÔÕâô×ö£º
iconv -f utf8 -t gbk aaa.dat > bbb.dat
µ«ÊÇ£¬½ñÌìÓöµ½Ò»¸öÎÊÌâ·¢ÏÖ¶ÔÓÚͬÑùµÄÎļþ£¬²»Í¬µÄ»úÆ÷ÉÏÓеÄÄÜתÓеIJ»ÄÜת£¬ºÜÊÇÀ§»ó¡£×îºó·¢ÏÖ£¬ÔÀ´ÊDzÙ×÷ϵͳµÄÎÊÌ⣬һ̨ÊÇredhat£¬Ò»Ì¨ÊÇsolaris¡£ÔÚͬһ¸ö²Ù×÷ϵͳÉÏ´Ógbk--utf8--gb ......