LinuxϵÄELFÎļþ¸ñʽ¼ò½é
£¨1£©¸ÅÊö
Executable and linking format(ELF)ÎļþÊÇx86 LinuxϵͳϵÄÒ»ÖÖ³£ÓÃÄ¿±êÎļþ(object file)¸ñʽ£¬ELFÎļþ¸ñʽ±È½Ï¸´ÔÓ£¬±¾ÎÄÖ»ÊǼòÒª½éÉÜËüµÄ½á¹¹¡£ÓÐÈýÖÖÖ÷ÒªÀàÐÍ£º
(1)ÊÊÓÚÁ¬½ÓµÄ¿ÉÖØ¶¨Î»Îļþ(relocatable file)£¬¿ÉÓëÆäËüÄ¿±êÎļþÒ»Æð´´½¨¿ÉÖ´ÐÐÎļþºÍ¹²ÏíÄ¿±êÎļþ¡£
(2)ÊÊÓÚÖ´ÐеĿÉÖ´ÐÐÎļþ(executable file)£¬ÓÃÓÚÌṩ³ÌÐòµÄ½ø³ÌÓ³Ïñ£¬¼ÓÔØµ½ÄÚ´æÖ´ÐС£
(3)¹²ÏíÄ¿±êÎļþ(shared object file)£¬Á¬½ÓÆ÷¿É½«ËüÓëÆäËü¿ÉÖØ¶¨Î»ÎļþºÍ¹²ÏíÄ¿±êÎļþÁ¬½Ó³ÉÆäËüµÄÄ¿±êÎļþ£¬¶¯Ì¬Á¬½ÓÆ÷Óֿɽ«ËüÓë¿ÉÖ´ÐÐÎļþºÍÆäËü¹²ÏíÄ¿±êÎļþ½áºÏÆðÀ´´´½¨Ò»¸ö½ø³ÌÓ³Ïñ¡£
£¨2£©Îļþ¸ñʽ
ELF headerÔÚÎļþ¿ªÊ¼´¦ÃèÊöÁËÕû¸öÎļþµÄ×éÖ¯£¬SectionÌṩÁËÄ¿±êÎļþµÄ¸÷ÏîÐÅÏ¢£¨ÈçÖ¸Áî¡¢Êý¾Ý¡¢·ûºÅ±í¡¢Öض¨Î»ÐÅÏ¢µÈ£©£¬Program header tableÖ¸³öÔõÑù´´½¨½ø³ÌÓ³Ïñ£¬º¬ÓÐÿ¸öprogram headerµÄÈë¿Ú£¬Section header table°üº¬Ã¿Ò»¸ösectionµÄÈë¿Ú£¬¸ø³öÃû×Ö¡¢´óСµÈÐÅÏ¢¡£
£¨3£©Êý¾Ý±íʾ
ELFÊý¾Ý±àÂë˳ÐòÓë»úÆ÷Ïà¹Ø£¬Êý¾ÝÀàÐÍÓÐÁùÖÖ£¬¼û±í1¡£
£¨4£© ELFÎļþÍ·
Ïóbmp¡¢exeµÈÎļþÒ»Ñù£¬ELFµÄÎļþÍ·°üº¬Õû¸öÎļþµÄ¿ØÖƽṹ¡£ËüµÄ¶¨ÒåÈçÏ£º
#define EI_NIDENT 16
typedef struct{
unsigned char e_ident[EI_NIDENT];
Elf32_Half e_type;
Elf32_Half e_machine;
Elf32_Word e_version;
Elf32_Addr e_entry;
Elf32_Off e_phoff;
Elf32_Off e_shoff;
Elf32_Word e_flags;
Elf32_Half e_ehsize;
El
Ïà¹ØÎĵµ£º
Ò»¡¢ÒýÑÔ£º
±¾ÎĵµµÄÄÚÈݴ󲿷ÝÄÚÈݶ¼ÊÇ´ÓÍøÉÏÊÕ¼¯¶øÀ´£¬È»ºóÅäºÏһЩеĽØÍ¼£¨Äں˰汾£ºV2.4.19£©¡£ÔÚÿһÅäÖÃÏîºó»áÓÐÒ»¸öÑ¡ÔñÖ¸ÄϵIJ¿·Ý£¬ÓÃÀ´Ö¸µ¼´ó¼ÒÔõôÑù¸ù¾Ý×Ô¼ºµÄÇé¿öÀ´×öÏàÓ¦µÄÑ¡Ôñ£»»¹ÓÐÔÚÿһ¸ö´óÏîºÍÎĵµµÄ×îºó»áÓÐÒ»¸ö¾Ñé̸£¬ËüÊÇһЩ¸ßÊÖÃÇÔÚÓ¦¶ÔÎÊÌâºÍ´¦ÀíÌØÓÐÓ²¼þʱµÄһЩ¾Ñ飨Õâ¸ö»¹µ ......
½ñÌìѧµ½µÄ¶«¶«£º
1¡¢²é¿´½ø³ÌËù¶ÔÓ¦¿ÉÖ´ÐгÌÐòµÄ¾ø¶Ô·¾¶
[1]. ps -ef | grep ½ø³ÌÃû »ñµÃPID
[2]. ½øÈëprocÎļþϵͳÀï¶ÔÓ¦µÄĿ¼£º/proc/ <PID>
[3]. ls -l
exeÁ´½Ó¶ÔÓ¦µÄ¾ÍÊÇ¿ÉÖ´ÐÐÎļþµÄȫ·¾
......
1.Ñо¿LinuxʵÏÖ¶àýÌå²¥·ÅµÄËùÓм¼Êõµã
1£© Live555¿âµÄ±àÒëÓëʹÓã¨ÒѾ¸ã¶¨£©£¬ÐèÒª½øÒ»²½ÅªÇå³þµÄµØ·½
ÔÚLinuxÈçºÎ±àÒ붯̬¿âºÍ¾²Ì¬¿â
ÈçºÎ±àÒ룬¸Ä±ä±àÒëÑ¡ÏîºÍ¼¯³É±àÒë
ÈçºÎµ÷ÊÔ£ºgccºÍIDEµÄ £º QT Creator ¡¢
2£© ffmpegÔÚL ......
albcamus
http://bbs.chinaunix.net/viewthread.php?tid=626486
¡¡¡¡ÏÈ˵¾äÕý¾µÄ£ºÆäʵÎÒû×ʸñдÕâÆªÎÄÕ£¬ÒòΪ×Ô¼ºÒ²¾ÍÒ»Á½¸öÔÂÒÔÀ´²Å¿ªÊ¼ÓÐËùÁìÎòµÄ¡£Òò´Ë£¬ÕâÀïÓëÆä˵ÊǹØÓÚLinuxÄÚºËѧϰµÄ¾Ñ飬²»Èç˵ÊÇ×Ô¼º
µÄ½Ìѵ°É£¬Ï£Íû²»ÒªÈÓ¼¦µ°ÔÒÎÒ^_^
¡¡¡¡¡¡³£³£ÓÐÈËÎÊ£ºÎÒÏëѧϰÄںˣ¬ÐèҪʲô»ù´¡Âð£¿L ......
LinuxϵÄÏß³ÌÊÇËùνµÄÇáÁ¿¼¶½ø³Ì£¨LWP: light weight process£©£¬ÆäÓëÆÕͨ½ø³ÌÒ»ÑùÓµÓÐÒ»¸öÅÓ´óµÄtask_struct½á¹¹Ì壬һ¸ö½ø³ÌÖеĶà¸öÏ̹߳²ÏíÄÚ´æ¿Õ¼ä£¬±Ï¾¹ËüÃÇÊôÓÚͬһ¸ö½ø³Ì£¬ËùÒÔÐèÒªÏòÍâ³ÊÏÖÒ»¸öͳһµÄpid£¬Òò´Ë¸÷Ï̵߳Äpid´æ·ÅµÄÊǽø³ÌºÅ£¬ÓÖÓÉÓÚÏß³ÌͬÑùÒ²Êǽø³Ì£¬Òò´ËÆäÓÐ×Ô¼ºµÄ½ø³ÌidºÅ£¬LinuxΪÁËÖ§³Ö¶àỊ̈߳¬ ......