Linux LDDÃüÁîµÄʹÓÃ
1.Ê×ÏÈldd²»ÊÇÒ»¸ö¿ÉÖ´ÐгÌÐò£¬¶øÖ»ÊÇÒ»¸öshell½Å±¾
2¡¢lddÄܹ»ÏÔʾ¿ÉÖ´ÐÐÄ£¿éµÄdependency£¬ÆäÔÀíÊÇͨ¹ýÉèÖÃһϵÁеĻ·¾³±äÁ¿£¬ÈçÏ£ºLD_TRACE_LOADED_OBJECTS¡¢LD_WARN¡¢LD_BIND_NOW¡¢LD_LIBRARY_VERSION¡¢
LD_VERBOSEµÈ¡£µ±LD_TRACE_LOADED_OBJECTS»·¾³±äÁ¿²»Îª¿Õʱ£¬ÈκοÉÖ´ÐгÌÐòÔÚÔËÐÐʱ£¬Ëü¶¼»áÖ»ÏÔʾģ¿éµÄ
dependency£¬¶ø³ÌÐò²¢²»ÕæÕýÖ´ÐС£Òª²»Äã¿ÉÒÔÔÚshellÖն˲âÊÔһϣ¬ÈçÏ£º
(1) export
LD_TRACE_LOADED_OBJECTS=1
(2) ÔÙÖ´ÐÐÈκεijÌÐò£¬ÈçlsµÈ£¬¿´¿´³ÌÐòµÄÔËÐнá¹û
3¡¢lddÏÔʾ¿ÉÖ´ÐÐÄ£¿éµÄdependencyµÄ¹¤×÷ÔÀí£¬ÆäʵÖÊÊÇͨ¹ýld-linux.so£¨elf¶¯Ì¬¿âµÄ×°ÔØ
Æ÷£©À´ÊµÏֵġ£ÎÒÃÇÖªµÀ£¬ld-linux.soÄ£¿é»áÏÈÓÚexecutableÄ£¿é³ÌÐò¹¤×÷£¬²¢»ñµÃ¿ØÖÆÈ¨£¬Òò´Ëµ±ÉÏÊöµÄÄÇЩ»·¾³±äÁ¿±»ÉèÖÃʱ£¬ld-linux.soÑ¡ÔñÁËÏÔʾ¿ÉÖ´ÐÐÄ£¿éµÄdependency¡£
4¡¢Êµ¼ÊÉÏ¿ÉÒÔÖ±½ÓÖ´ÐÐld-linux.soÄ£¿é£¬È磺/lib/ld-linux.so.2 --list
program£¨ÕâÏ൱ÓÚldd program£©
lddÃüÁîʹÓ÷½·¨(Õª×Ôldd --help)
Ãû³Æ ldd - ´òÓ¡¹²Ïí¿âµÄÒÀÀµ¹ØÏµ
´ó¸Ù ldd [Ñ¡Ïî]...¡¡Îļþ...
ÃèÊö ldd Êä³öÔÚÃüÁîÐÐÉÏÖ¸¶¨µÄÿ¸ö³ÌÐò»ò¹²Ïí¿âÐèÒªµÄ¹²Ïí¿â¡£
Ñ¡Ïî
--version
´òÓ¡lddµÄ°æ±¾ºÅ
-v --verbose
´òÓ¡ËùÓÐÐÅÏ¢£¬ÀýÈç°üÀ¨·ûºÅµÄ°æ±¾ÐÅÏ¢
-d --data-relocs
Ö´ÐзûºÅÖØ²¿Ê𣬲¢±¨¸æÈ±ÉÙµÄÄ¿±ê¶ÔÏó£¨Ö»¶ÔELF¸ñʽÊÊÓã©
-r --function-relocs
¶ÔÄ¿±ê¶ÔÏóºÍº¯ÊýÖ´ÐÐÖØÐ²¿Ê𣬲¢±¨¸æÈ±ÉÙµÄÄ¿±ê¶ÔÏóºÍº¯Êý£¨Ö»¶ÔELF¸ñʽÊÊÓã©
--help Ó÷¨ÐÅÏ¢
×¢Òâ:
lddµÄ±ê×¼°æ±¾Óëglibc2Ò»ÆðÌṩ¡£Libc5ÓëÀϰ汾ÒÔǰÌṩ£¬ÔÚһЩϵͳÖл¹´æÔÚ¡£ÔÚlibc5°æ±¾Öг¤Ñ¡Ïî²»Ö§³Ö¡£ÁíÒ»·½Ã棬glibc2°æ±¾²»Ö§³Ö-VÑ¡ÏֻÌṩµÈ¼ÛµÄ--versionÑ¡Ïî¡£
Èç¹ûÃüÁîÐÐÖиø¶¨µÄ¿âÃû×Ö°üº¬'/'£¬Õâ¸ö³ÌÐòµÄlibc5°æ±¾½«Ê¹ÓÃËü×÷Ϊ¿âÃû×Ö£»·ñÔòËü½«ÔÚ±ê׼λÖÃËÑË÷¿â¡£ÔËÐÐÒ»¸öµ±Ç°Ä¿Â¼ÏµĹ²Ïí¿â£¬¼Óǰ׺"./"¡£
´íÎó:
ldd²»Äܹ¤×÷ÔÚa.out¸ñʽµÄ¹²Ïí¿âÉÏ¡£
ldd²»Äܹ¤×÷ÔÚһЩ·Ç³£ÀϵÄa.out³ÌÐòÉÏ£¬ÕâЩ³ÌÐòÔÚÖ§³ÖlddµÄ±àÒëÆ÷·¢ÐÐǰÒѾ´´½¨¡£Èç¹ûÄãÔÚÕâÖÖÀàÐ͵ijÌÐòÉÏʹÓÃldd£¬³ÌÐò½«³¢ÊÔargc
= 0µÄÔËÐз½Ê½£¬Æä½á¹û²»¿ÉÔ¤Öª¡£
Ïà¹ØÎĵµ£º
½ñÌìÔÚÐéÄâ»úÏÂÓÖ֨װÁËlinux£¬ÏÂÃæÊÇ´ÓÍøÉÏËѵ½µÄlinuxÐéÄâ»úµÄÍøÂçÅäÖãº
1¡¢ Äã×°ºÃÐéÄâ»úºó,Äã»á·¢ÏÖ¶à³öÀ´Á½¸öÍø¿¨ ,Ò»¸ö1,Ò»¸ö8,
2¡¢ ¹²Ïí¶ÔÍâµÄÍø¿¨£º“±¾µØÁ¬½Ó—ÊôÐÔ—¸ß¼¶” Ñ¡ÖÐ
ÔÊÐíÆäËûÍøÂçÓû§Í¨¹ý´Ë¼ÆËã»úµÄInternetÁ¬½ÓÀ´Á¬½Ó
£¨Õâʱ“ÔÊÐíÆäËûÍ ......
´ÓÕâ¸ö×ܽáÕýʽ¿ªÊ¼ÁËÎÒµÄÇý¶¯Ö®Âã¬ÐÄÇé²»ÃâÓе㼤¶¯£¬¾¡¹ÜÏÖÔÚ¶ÔÇý¶¯µÄ±àд»¹ºÜÄ£ºý£¬µ«»¹ÊÇÓмÍÄîÒâÒåµÄ……
¿ª·¢Æ½Ì¨£º
ÐéÄâ»úÏÂRedHat9£¬ÄÚºË2.4.20.8
½»²æ±àÒë±àÒëÆ÷£ºÌìǶ¹«Ë¾ÌṩµÄarm-linux-gcc 4.3.3
ÄÚºËÊ÷£º/h ......
ÔÚÉ豸Çý¶¯·½Ã棬Linux2.6Ïà¶ÔÓÚLinux2.4ÓнϴóµÄ¸Ä¶¯£¬ÕâÖ÷Òª±íÏÖÔÚÄÚºËAPIÖÐÔö¼ÓÁ˲»ÉÙй¦ÄÜ£¨ÈçÄÚ´æ³Ø£©¡¢sysfsÎļþϵͳ¡¢ÄÚºËÄ£¿é´Ó.o±äΪ.ko¡¢Çý¶¯Ä£¿é±àÒ뷽ʽ¡¢Ä£¿éʹÓüÆÊý¡¢Ä£¿é¼ÓÔØºÍÐ¶ÔØº¯ÊýµÄ¶¨ÒåµÈ·½Ãæ
LinuxÄÚºËÖ÷ÒªÓнø³Ìµ÷¶È¡¢ÄÚ´æ¹ÜÀí¡¢ÐéÄâÎļþϵͳ¡¢ÍøÂç½Ó¿ÚºÍ½ø³Ì¼äͨÐŵÈ5¸ö×Óϵͳ×é³É£¬ÈçÏÂͼ£º
......
modprobeÃüÁî±ÈinsmodÃüÁîÇ¿´ó£¬ËüÔÚ¼ÓÔØÄ³Ä£¿éʱ»áͬʱ¼ÓÔØ¸ÃÄ£¿éËùÒÀÀµµÄÆäËûÄ£¿é¡£Ê¹ÓÃmodprobeÃüÁî¼ÓÔØµÄÄ£¿éÈôÒÔ“modprobe –r filename”µÄ·½Ê½Ð¶Ôؽ«Í¬Ê±Ð¶ÔØÆäÒÀÀµµÄÄ£¿é¡£
printk´òÓ¡µ½var/log/messages
2.6ÄÚºËÖÐÒѼÓÔØµÄÐÅÏ¢Ò²´æÔÚÓÚ/sys/moduleĿ¼Ï£¬¼ÓÔØhello.koºó£¬ÄÚºËÖн«°üº¬/sys/mod ......
½ñÌ죬°ÑwindowsÏµĹ¤³Ìµ¼Èëµ½ÁËLinuxÏÂeclipseÖУ¬ÓÉÓÚÒÔǰµÄ¹¤³Ì´úÂ룬¶¼ÊÇGBK±àÂëµÄ£¬¶øUbuntuĬÈÏÊDz»Ö§³ÖGBK±àÂëµÄ¡£ËùÒÔ£¬Ê×ÏÈÎÒÃÇÒªÏÈÈÃUbuntuÖ§³ÖGBK£¬·½·¨ÈçÏ£º
1.
ÐÞ¸Ä/var/lib/locales /supported.d/localÎļþ,ÔÚÎļþÖÐÌí¼Ó
z ......