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

sizeofÃæÊÔÌâÑ¡ Linux C±à³Ìʵս

   ½á¹¹ÌåºÍ¹²ÓÃÌåµÄÄÚ´æ·ÖÅäÊÇCÓïÑÔµÄÒ»¸öÄѵ㣬ҲÊÇÃæÊÔÌâÖеÄÈȵ㡣
ʾÀý1£º
   Union data1
 {
  double  d;
  int     i;
  char    c1;
  char    c2[9]; 
 };
  sizeof(union data1)µÄֵΪ16.ÔÚ±àÒëÆ÷ĬÈÏÉèÖõÄÇé¿öÏ£¬¸Ã¹²ÓÃÌå×î´ó»ù±¾ÀàÐÍΪdouble,ËüÕ¼8×Ö½Ú£¬ËùÒԴ˹²ÓÃÌåÒÔ8À´¶ÔÆë¡£×Ö·ûÊý×éc2Õ¼9¸ö×Ö½Ú£¬ÄÇôÕû¸ö¹²ÓÃÌåÓ¦¸ÃÕ¼9¸ö×Ö½Ú£¬µ«°´ÕÕ¶ÔÆëÔ­Ôò£¬Êµ¼Ê·ÖÅ䏸ËüµÄÄÚ´æÎª16×Ö½Ú¡£
  Èç¹ûÊÇ£º
  struct data1
  {
     double  d;
     int         i;
     char      c1;
     char      c2[9];
   };
 sizeof(struct data1)µÄֵΪ24£¬Ê×ÏȰ´ÕÕ´æ´¢´óС£¬¸Ã½á¹¹ÌåËùÕ¼´æ´¢¿Õ¼äΪ£º8+4+1+9=22×Ö½Ú£¬Õâ¸ö½á¹¹ÌåÒ²ÊÇÒÔ8¶ÔÆë£¬Òò´Ëʵ¼Ê·ÖÅäµÄÊÇ24×Ö½Ú¡£
ʾÀý2£º
   Union data2
 {
  int       i;
  char    c1;
  char    c2[9]; 
 };
   sizeof(union data2)µÄֵΪ12£¬¸Ã¹²ÓÃÌåÕ¼ÄÚ´æ¿Õ¼ä×î´óµÄ»ù±¾Êý¾ÝÀàÐÍΪint,Æä³¤¶ÈΪ4£¬ËùÒԸù²ÓÃÌåÒÔ4À´¶ÔÆë¡£¸Ã¹²ÓÃÌåµÄ³¤¶ÈÈ¡¾öÓÚ×Ö·ûc2£¬Æä³¤¶ÈΪ9£¬9²»ÊÇ4µÄ±¶Êý£¬Òª½øÐÐ¶ÔÆë£¬Òò´Ëʵ¼Ê·ÖÅäµÄ´æ´¢¿Õ¼äΪ12.
  struct data2
  {
     int         i;
     char      c1;
     char      c2[9];
   };
    sizeof(struct data2)µÄֵΪ16£¬ÓëÉÏÃæ¹²ÓÃÌåÒ»Ñù£¬¸Ã½á¹¹ÌåÒÔ4¶ÔÆë¡£°´ÕÕ´æ´¢´óС£¬¸Ã½á¹¹ÌåËùÕ¼´æ´¢¿Õ¼äΪ£º4+1+9=14£¬14²»ÊÇ4µÄ±¶Êý£¬½øÐÐ¶ÔÆë£¬¶ÔÆëºóµÄֵΪ16.
 
ʾÀý3£º
   Union data3
 {
   char    c1;
  char    c2[3]; 
 };
   sizeof(union data3)µÄֵΪ3£¬¸Ã¹


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì(Áù) L2CAP±à³ÌʵÀý

ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
 Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......

linuxÖеÄfork

      ´ó¼ÒÖªµÀLinuxÖд´½¨×Ó½ø³ÌµÄÒ»¸öºÜºÃµÄ·½·¨ÊǺ¯Êýµ÷ÓÃfork,µ«ÊǺܶà³õѧÕß¶ÔforkµÄÀí½âÉÏ¿ÉÄÜÓеãÀ§ÄÑ¡£ÏÂÃæ¾Ù¸öÀý×ÓÀ´¿´¿´forkµÄÓ÷¨°É¡£
      Æäʵ£¬´ó¼ÒÓÃforkµÄʱºò¼ÇסforkÊÇ“·Ö²æ”µÄÒâ˼¾ÍºÜºÃÀí½âÁË¡£
      ......

linux zImageÉú³É¹ý³ÌÏê½â


Äں˱àÒëÍê³Éºó»áÉú³ÉzImageÄں˾µÏñÎļþ¡£¹ØÓÚbootloader¼ÓÔØzImageµ½Äںˣ¬²¢ÇÒÌø×ªµ½zImage¿ªÊ¼µØÖ·ÔËÐÐzImageµÄ¹ý³Ì£¬ÏàÐÅ´ó¼Ò¶¼ºÜÈÝÒ×Àí½â¡£µ«¶ÔÓÚzImageÊÇÈçºÎ½âѹµÄ¹ý³Ì£¬¾Í²»ÊÇÄÇôºÃÀí½âÁË¡£±¾ÎĽ«½áºÏ²¿·Ö¹Ø¼ü´úÂ룬½²½âzImageµÄ½âѹ¹ý³Ì¡£
¡¡¡¡ÏÈ¿´¿´zImageµÄ×é³É°É¡£ÔÚÄں˱àÒëÍê³Éºó»áÔÚarch/arm/boot/ÏÂÉú ......

LinuxÏÂPCIÉ豸Çý¶¯³ÌÐò¿ª·¢


 
 
PCIÊÇÒ»Öֹ㷺²ÉÓõÄ×ÜÏß±ê×¼£¬ËüÌṩÁËÐí¶àÓÅÓÚÆäËü×ÜÏß±ê×¼£¨ÈçEISA£©µÄÐÂÌØÐÔ£¬Ä¿Ç°ÒѾ­³ÉΪ¼ÆËã»úϵͳÖÐÓ¦ÓÃ×îΪ¹ã·º£¬²¢ÇÒ×îΪͨÓõÄ×ÜÏß±ê×¼¡£LinuxµÄÄÚºËÄܽϺõØÖ§³ÖPCI×ÜÏߣ¬±¾ÎÄÒÔIntel 386Ìåϵ½á¹¹ÎªÖ÷£¬Ì½ÌÖÁËÔÚLinuxÏ¿ª·¢PCIÉ豸Çý¶¯³ÌÐòµÄ»ù±¾¿ò¼Ü¡£
Ò»¡¢PCI×ÜÏßϵͳÌåϵ½á¹¹
PCIÊÇÍâΧ ......

linuxÄÚºËÆô¶¯¹ý³Ì——»ùÓÚS3C2410

£¨1£©zImage×Ô½âѹ
±¾ÎÄÒÔÁ÷ÐеÄSamsung¹«Ë¾µÄS3C2410£¬mini2440ƽ̨ºÍlinux-2.6.29ΪÀý£¬½éÉÜÈçºÎÔÚZIXǶÈëʽ¿ª·¢»·¾³ÏÂ̽Ë÷linuxÄÚºËÆô¶¯¹ý³Ì¡£
LinuxÄÚºËÆô¶¯Ò»°ãÓÉÍⲿµÄbootloaderÒýµ¼£¬Ò²¿ÉÒÔÔÚÄÚºËÍ·²¿Ç¶ÈëÒ»¸öloader£¬Êµ¼ÊµÄÓ¦ÓÃÖÐÕâÁ½ÖÖ·½Ê½¶¼»á¾­³£Óöµ½¡£ËùÒÔÒªÁ˽âÄÚºËÆô¶¯×ʼµÄ¹ý³Ì£¬±ØÐë¶ÔbootloaderÈçºÎ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ