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

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


Ïà¹ØÎĵµ£º

linux°²×°ÐÂ×ÖÌå


ÒÔubuntuΪÀý£¬×ÖÌåÎļþΪnfont.ttf
sudo mkdir /usr/share/fonts/myfonts /*½¨Á¢myfontsµÄ×Ô¶¨ÒåĿ¼*/
sudo cp nfont.ttf /usr/share/fonts/myfonts /*¿½±´nfont.ttfµ½×Ô¶¨ÒåĿ¼*/
sudo fc-cache -fv
È»ºó¾ÍOKÁË£¡
......

¶àýÌå¿âÒÆÖ²µ½LinuxϵķÏßͼ

1.Ñо¿LinuxʵÏÖ¶àýÌå²¥·ÅµÄËùÓм¼Êõµã
     1£© Live555¿âµÄ±àÒëÓëʹÓã¨ÒѾ­¸ã¶¨£©£¬ÐèÒª½øÒ»²½ÅªÇå³þµÄµØ·½
ÔÚLinuxÈçºÎ±àÒ붯̬¿âºÍ¾²Ì¬¿â
ÈçºÎ±àÒ룬¸Ä±ä±àÒëÑ¡ÏîºÍ¼¯³É±àÒë
ÈçºÎµ÷ÊÔ£ºgccºÍIDEµÄ £º QT Creator        ¡¢
    2£© ffmpegÔÚL ......

ÔÚlinuxÖеÄlikelyºÍunlikely

ÔÚlinuxÖеÄlikelyºÍunlikely
0
ÍÆ¼ö
ÔÚlinuxÖÐÅжÏÓï¾ä¾­³£»á¿´µ½likelyºÍunlikely£¬ÀýÈ磺
if(likely(value)){
}
else{
}
¼òµ¥´Ó±íÃæÉÏ¿´if(likely(value)) == if(value)£¬if(unlikely(value)) == if(value)¡£
ÕâÁ½¸öºê¶Ô³ÌÐòÔËÐнá¹ûûÓÐÓ°Ï죬ֻÊÇÓÃÓÚÌá¸ß³ÌÐòЧÂÊ¡£ÆäʵÏÖºÍgcc±àÒëÆ÷ÃÜÇÐÏà¹Ø¡£
¾ßÌåµã˵£¬¾ ......

Linux ±à³Ì¾­µäÊé¼®ÍÆ¼ö

³ÉΪһÃû¾«Í¨ Linux ³ÌÐòÉè¼ÆµÄ¸ß¼¶³ÌÐòÔ±Ò»Ö±ÊDz»ÉÙÅóÓÑ×Î×ÎÒÔÇóµÄÄ¿±ê¡£¸ù¾ÝÖлªÓ¢²ÅÍøÍ³¼ÆÊý¾Ý£¬±±¾©µØÇø Linux ³ÌÐòÔ±ÔÂнƽ¾ùΪ Windows ³ÌÐòÔ±µÄ 1.8 ±¶¡¢Java ³ÌÐòÔ±µÄ 2.6 ±¶£¬ Linux ³ÌÐòÔ±ÄêÖÕ½±½ðƽ¾ùΪ Windows ³ÌÐòÔ±µÄ 2.9 ±¶¡£Í¬Ê±Êý¾ÝÏÔʾ£¬Ëæ×ʤ×÷¾­ÑéµÄÔö³¤£¬ Linux ³ÌÐòÔ±Óë Windows ³ÌÐòÔ±µÄÊÕÈë²î¾à» ......

Linux Carmer driver×¢²á·½·¨

    ×î½üÓÖ¿ªÊ¼¿´CarmerµÄÇý¶¯ÁË£¬ÔÚLinuxÏÂͨ³£ÊµÓÃVideo4linux¿ò¼ÜÀ´ÊµÏÖVideo capture/Camera CaptureµÈ¹¦ÄÜ£¬ÏÈ˵һÏÂÉ豸ע²á²¿·Ö£¬ov7670.cÖУ¬×¢²á·½·¨ÈçÏ£º
static struct v4l2_i2c_driver_data v4l2_i2c_data = {
        .name = "ov7670",
&nb ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ