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

linux϶¯Ì¬Á´½Ó¿âµÄ¼ÓÔØ¼°½âÎö¹ý³Ì

http://hi.baidu.com/hust_chen/blog/item/54a8c516231d0c0ec93d6d3e.html
linux϶¯Ì¬Á´½Ó¿âµÄ¼ÓÔØ¼°½âÎö¹ý³Ì£¨ZZ£©
2008-12-18 15:19
±íÃæÉÏ¿´£¬¶¯Ì¬Á´½Ó¿â£¨dll£©µÄ¼ÓÔØ¼°½âÎöÊÇÒ»¸öÊ®·Ö·±¸´µÄ¹ý³Ì£¬ÆäÖÐÇ£Éæµ½µÄÊý¾Ý½á¹¹¼°ÆäÖ®¼äµÄ¹ØÏµÒ²ÈÃÈËÍû¶øÉúη¡£Whatever£¬Ñ§Ï°Õâ ÊÂÇ飬˵µ½µ×ÊÇûÓнݾ¶¿É×ߵ쬳ýÁËËÀ¿Ð½öÓеÄһЩ×ÊÁÏ£¬ÈçELF format¡¢Loaders and Linkers£¬½èÓÃobjdump¼°gdbÀ´¸ú×Ù³ÌÐòµÄÖ´ÐÐÁ÷³Ì£¬¶ÔÓÚÀí½â¹ý³ÌÒ²ÊÇÆÄÓаïÖúµÄ£¬anyway£¬²»ÏÓ·³¾ÍºÃÁË¡£
ÔÚ²»Í¬µÄÌåϵÏ£¬dllµÄ¼ÓÔØ¼°½âÎö¹ý³ÌÊÇÓвî±ðµÄ£¬ÕâÊÇÒòΪ²»Í¬ÌåϵÏÂÉú³ÉµÄELFÎļþ²»¾¡Ïàͬ£¬Æ©Èç˵£¬ÔÚIA32Ï£¬»áÉú³É.pltÕâ¸ödynamic section£¬µ«µ½ÁËMIPSÏ£¬±ã³ÉÁË.MIPS.stubs¡£
¾¡¹ÜÈç´Ë£¬Åųý±íÃæÉϵIJîÒ죬Æä±¾ÖÊÈ´ÊÇÒ»Öµġ£ÏÈ˵˵ELFÎļþµÄformat£¬ELFʵÖÊÊÇ¿ÉÖ´ÐÐÎļþµÄÒ»ÖÖ¸ñʽ£¬¶ÔÓÚ»úÆ÷¶øÑÔ£¬ËùÓеĿÉÖ´ÐÐÎļþ²» ¹ýÊǶþ½øÖÆ´úÂëµÄÁ÷Ë®°ÕÁË£¬µ«ÎªÁË·½±ã¹ÜÀíÕâЩ¶þ½øÖÆ´úÂ룬±àÒëÆ÷±ã½«ÕâЩ»úÆ÷Âë·ÖΪ¼¸¸ö¶Î£¬²¢Í³¼Æ³öÏà¹ØµÄÐÅÏ¢£¬Í¨Ë×µØËµ£¬Ò²¾ÍÊǶԻúÆ÷Âë°ü×°°ü×°¶ø ÒÑ¡£Technically speaking, ÿ¸öELFÎļþ¶¼ÓÐÒ»¸öELF header£¬±£´æµÄÊÇprogram headerÓësection headerµÄÆ«ÒÆÁ¿¡£¹ØÓÚprogram headerÓësection header£¬ÒÔºóÔÙ˵ß¡£
Èç¹ûij¸öÎļþÊǶ¯Ì¬±àÒëµÄ£¬ÄÇôÆä¶ÔÓ¦µÄELFÎļþÖп϶¨»áÓÐÒ»¸ö.dynamic section£¬Õâ¸ösection°üº¬ÁËdllµÄ¼ÓÔØÓë½âÎöËùÐèÒªµÄÐÅÏ¢¡£.dynamicÖеÄentryÒòÀàÐͲ»Í¬¶ø±»¸³Ó費ͬµÄº¬Ò壬×îΪ³£ÓõÄÊÇÏÂÃæ¼¸ÖÖÀàÐ͵Äentry£º
·DT_NEEDED£ºd_tag=1£¬d_valÖеÄֵΪneeded libraryµÄnameÔÚstring tableÖÐÆ«ÒÆÁ¿¡£Èç¹ûËùÐèÒª¶¯Ì¬¿âµÄÊýÁ¿Îªn¸ö£¬ÔòÏàÓ¦ÀàÐÍΪDT_NEEDEDµÄentryÒ²Ó¦¸ÃÓÐnÌõ£»
·DT_PLTGOT£ºd_tag=3£¬d_ptrÖеÄֵΪ.plt£¨procedure linkage table£©»ò.got£¨global offset table£©µÄÆðʼµØÖ·£¬ÔÚMIPSÌåϵÏ£¬Õâ¸öÖµÊÇÖ¸Ïò.gotµÄÆðʼµØÖ·£»
·DT_HASH£ºd_tab=4£¬d_ptrÖеÄֵΪhash tableµÄÆðʼµØÖ·£»
·DT_STRTAB£ºd_tab=5£¬d_ptrÖеÄֵΪstring tableµÄÆðʼµØÖ·£»
·DT_SYMTAB£ºd_tab=6£¬d_ptrÖеÄֵΪsymbol tableµÄÆðʼµØÖ·£»
·DT_RPATH£ºd_tab=15£¬d_valÖеÄֵΪneeded libraryËùÔڵķ¾¶Ãû³Æ£¨×¢£ºneeded library²»Ò»¶¨¾Í»áÔÚÕâ¸ö·¾¶Ï£¬detail²Î¼ûdllµÄ¼ÓÔØ¹ý³Ì£©ÔÚstring tableÖÐµÄÆðʼµØÖ·¡£
ÕâÀïÃæÇ£Éæµ½ÁËÒ»Ð©ÖØÒªµÄÊý¾Ý½á¹¹£º
(1) hash table£ºÆä×÷ÓÃÊǸù¾Ýsymbol nameÕ


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨Èý£© HCI²ã±à³Ì

1. HCI²ãЭÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI)  ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈЭÒé ......

LinuxÉ豸Çý¶¯±à³ÌÖ®×èÈûÓë·Ç×èÈû

×èÈû²Ù×÷ÊÇÖ¸£¬ÔÚÖ´ÐÐÉ豸²Ù×÷ʱ£¬Èô²»ÄÜ»ñµÃ×ÊÔ´£¬Ôò½ø³Ì¹ÒÆðÖ±µ½Âú×ã¿É²Ù×÷µÄÌõ¼þÔÙ½øÐвÙ×÷¡£·Ç×èÈû²Ù×÷µÄ½ø³ÌÔÚ²»ÄܽøÐÐÉ豸²Ù×÷ʱ£¬²¢²»¹ÒÆð¡£±»¹ÒÆðµÄ½ø³Ì½øÈësleep״̬£¬±»´Óµ÷¶ÈÆ÷µÄÔËÐжÓÁÐÒÆ×ߣ¬Ö±µ½µÈ´ýµÄÌõ¼þ±»Âú×ã¡£
¡¡¡¡ÔÚLinux
¡¡¡¡¹ØÓÚÉÏÊöÀý³Ì£¬ÎÒÃDz¹³ä˵һµã£¬Èç¹û½«Çý¶¯³ÌÐòÖеÄreadº¯Êý¸ÄΪ£º
stat ......

ÐéÄâ»úÏÂlinux¹ÒÔØUÅÌ

ÐèÒªÈÃÄãµÄÐéÄâ»úGuest OS(Linux)ÄÜ×Ô¶¯Ê¶±ðUÅÌ¡£
·½·¨ÈçÏ£º
±£³Ö½¹µãÔÚLinuxÉÏ£¬²åÈëUÅÌ£¬ÕâʱËÞÖ÷²Ù×÷ϵͳWindows»áµ¯³ö“ÕÒµ½ÐÂÉ豸µÄÌáʾ”£¬È»ºóÒ»²½Ò»²½
µÄµãÏÂÒ»²½£¬½áÊøÒԺ󣬾ͿÉÒÔÔÚlinuxʹÓÃfdisk -l /dev/sdbÃüÁî²é¿´µ½/dev/sdb1¡£
ÔÚÐéÄâ»úʶ±ð³öUSBÖ®ºó£¬ÓÃ
fdisk -l /dev/sdb
»ò
fdisk -l ......

LinuxÖеÄÑÓʱº¯Êý¼°»ñȡϵͳʱ¼äº¯Êý

Ó¦Óò㣺
   #include <unistd.h>
 
   1¡¢unsigned int sleep(unsigned int seconds); Ãë¼¶
   2¡¢int usleep(useconds_t usec);              ΢Ãë¼¶£º1/10^-6 
 
   #define _PO ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ