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µÄÔËÐз½Ê½£¬Æä½á¹û²»¿ÉÔ¤Öª¡£
Ïà¹ØÎĵµ£º
#include <iostream>
#include <unistd.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <stdlib.h>
#include <signal.h>
using namespace std;
extern char **environ;
void signal_handle(int signal_no){
cout << "sign:" &l ......
ÎÒÓõÄÊÇ×îÆÕͨµÄusbÉãÏñÍ·£¬Ö÷оƬΪÖÐÐÇ΢ZC0301P£¨¾Ý˵Êг¡Õ¼ÓÐÂÊ70£¥ÒÔÉÏ£©£¬COMS´«¸ÐÆ÷ΪhynixµÄhv7131e1,ÊÐÃæÉÏÄÜÂòµ½µÄ»ù±¾ÉÏÊÇÕâÖÖÅäÖá£
linuxÏÂÇý¶¯£¬ÎÒÖ±½ÓÒÆÖ²spca5xx£¬ÏÖÔÚ³öÁËspc5xx-le£¨Light-Edition for Linux Embedded£©¸ü·½±ã£¬Ö±½ÓÕë¶ÔǶÈëʽϵͳ×öÁËÓÅ»¯£¬¿ÉÒԲο¼ÕâÀïhttp://mxh ......
modprobeÃüÁî±ÈinsmodÃüÁîÇ¿´ó£¬ËüÔÚ¼ÓÔØÄ³Ä£¿éʱ»áͬʱ¼ÓÔØ¸ÃÄ£¿éËùÒÀÀµµÄÆäËûÄ£¿é¡£Ê¹ÓÃmodprobeÃüÁî¼ÓÔØµÄÄ£¿éÈôÒÔ“modprobe –r filename”µÄ·½Ê½Ð¶Ôؽ«Í¬Ê±Ð¶ÔØÆäÒÀÀµµÄÄ£¿é¡£
printk´òÓ¡µ½var/log/messages
2.6ÄÚºËÖÐÒѼÓÔØµÄÐÅÏ¢Ò²´æÔÚÓÚ/sys/moduleĿ¼Ï£¬¼ÓÔØhello.koºó£¬ÄÚºËÖн«°üº¬/sys/mod ......
1.´´½¨Ä¿Â¼
mkdir [-p][--help][--version][-m <Ŀ¼ÊôÐÔ>][Ŀ¼Ãû³Æ]
-m¿ÉÒÔ¶ÔĿ¼ÉèÖôæÈ¡È¨ÏÞ,Ò²¿ÉÒÔÓÃchmodeÃüÁîÉèÖÃ,
-p ¿ÉÒÔÊÇÒ»¸ö·¾¶Ãû³Æ,Èç¹û·¾¶ÖÐÓÐЩĿ¼²»´æÔÚ,ÄÇô»á×Ô¶¯´´½¨
2.ɾ³ý¿ÕĿ¼
Óï¡¡¡¡·¨£ºrmdir [-p][--hel ......
typedef void (*lpFunction) ();//¶¨ÒåÒ»¸öÎÞ²ÎÊý£¬ÎÞ·µ»ØÀàÐ͵ĺ¯ÊýÖ¸ÕëÀàÐÍ
//¶¨ÒåÒ»¸öº¯ÊýÖ¸Õ룬ָÏòcpuÆô¶¯ºóËùÖ´ÐеĵÚÒ»ÌõÖ¸ÁîµÄλÖÃ
lpFunction lpReset = (lpFunction)0xF000FFF0;
lpReset();//µ÷Óú¯Êý
MMUÍ£¹©ÐéÄâµØÖ·ºÍÎïÀíµØÖ·µÄÓ³Éä¡¢ÄÚ´æ·ÃÎÊȨÏÞ±£»¤ºÍCache»º´æ¿ØÖƵÈÓ²¼þÖ§³Ö¡£²Ù×÷ϵͳÄں˽èÖ ......