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

LINUX CÖÐÓÃdefine¶¨Òå¿É±ä²ÎÊýµÄºê

  Ò»°ãÔÚµ÷ÊÔ´òÓ¡DebugÐÅÏ¢µÄʱºò, ÐèÒª¿É±ä²ÎÊýµÄºê. ´ÓC99¿ªÊ¼¿ÉÒÔʹ±àÒëÆ÷±ê×¼Ö§³Ö¿É±ä²ÎÊýºê(variadic macros), ÁíÍâGCCÒ²Ö§³Ö¿É±ä²ÎÊýºê, µ«ÊÇÁ½ÖÖÔÚϸ½ÚÉÏ¿ÉÄÜ´æÔÚÇø±ð.
1. __VA_ARGS__
        __VA_ARGS__ ½« "..." ´«µÝ¸øºê . Èç
        #define debug(format, ...) fprintf(stderr, format, __VA_ARGS__)
2. GCCµÄ¸´ÔÓºê
        GCCʹÓÃÒ»ÖÖ²»Í¬µÄÓï·¨,´Ó¶ø¿ÉÒÔ¸ø¿É±ä²ÎÊýÒ»¸öÃû×Ö,ÈçͬÆäËü²ÎÊýÒ»Ñù.
        #define debug(format, args...) fprintf (stderr, format, args)
        ÕâºÍµÚÒ»ÌõµÄºêÀý×ÓÊÇÍêȫһÑùµÄ,µ«ÊÇÕâôд¿É¶ÁÐÔ¸üÇ¿²¢ÇÒ¸üÈÝÒ×½øÐÐÃèÊö.
3. ##__VA_ARGS__
        ÉÏÃæÁ½¸ö¶¨ÒåµÄºê,Èç¹û³öÏÖ debug("A Message")µÄʱºò,ÓÉÓÚºêÕ¹¿ªºóÓиö¶àÓàµÄ¶ººÅ,ËùÒÔ½«µ¼Ö±àÒë´íÎó.
        ΪÁ˽â¾öÕâ¸öÎÊÌâ,CPP ʹÓÃÒ»¸öÌØÊâµÄ"##"²Ù×÷,¸ñʽÈçÏÂ:
        #define debug(format, ...) fprintf (stderr, format, ## __VA_ARGS__)
        ÕâÀï,Èç¹û¿É±ä²ÎÊý±»ºöÂÔ»òΪ¿Õ,"##"²Ù×÷½«Ê¹Ô¤´¦ÀíÆ÷(preprocessor)È¥³ýµôËüÇ°ÃæµÄÄǸö¶ººÅ.


Ïà¹ØÎĵµ£º

linuxÄں˿ռäÉêÇ볬¹ý2MBÁ¬Ðø¿Õ¼äµÄʵÏÖº¯Êý¡£

 /*
kmalloc can apply 128KB memory only. This func support any continous memory allocate more than 2MB.
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kallsyms.h>
#define KMEM_PAGES       &nb ......

Linux kernel development Chapter2 ½ø³Ì¹ÜÀí

1 ½ø³Ì¹ÜÀíÏà¹Ø´úÂë
  1.1 thread_info½á¹¹£¬ÔÚÎļþ<asm/thread_info.h>Öж¨Òå
      struct thread_info {
           struct task_struct *task;
           struct exec ......

¹ØÓÚlinuxϵÄÈíÁ´½ÓºÍÓ²Á´½Ó

 Á¬½ÓÉÏÁË·þÎñÆ÷£¬¼ì²éһϡ£´ÅÅ̿ռ䲻¹»ÁË
[java@localhost ~]$ df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/hda2 5.8G 5.8G 0M 100% /
/dev/hda1 99M 8.5M 86M 10% /boot
none 506M 0 506M 0% /dev/shm
/dev/hda6 20G 77M 19G 1% /tmp
/dev/hda5 20G 14G 5.2G 72% /usr/local
/dev/hd ......

ǶÈëʽLinux²Ù×÷ϵͳѧϰ¹æ»®

 
ǶÈëʽLinux²Ù×÷ϵͳѧϰ¹æ»®
ARM+LINUX·Ïߣ¬Ö÷¹¥Ç¶ÈëʽLinux²Ù×÷ϵͳ¼°ÆäÉÏÓ¦ÓÃÈí¼þ¿ª·¢Ä¿±ê£º 
£¨1£© ÕÆÎÕÖ÷Á÷ǶÈëʽ΢´¦ÀíÆ÷µÄ½á¹¹ÓëÔ­Àí£¨³õ²½¶¨Îªarm9£© 
£¨2£© ±ØÐëÕÆÎÕÒ»¸öǶÈëʽ²Ù×÷ϵͳ £¨³õ²½¶¨Îªuclinux»òlinux,°æ±¾´ý¶¨£© 
£¨3£© ±ØÐëÊìϤǶÈëʽÈí¼þ¿ª·¢Á÷³Ì² ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ