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

LinuxÄÚºËÖÐ ±éÀúÁ´±í


×î½üÔÚ¿´Ò»¸ö¿ªÔ´µÄ´úÂ룬һ¶Î´úÂë¿´Á˺ܾö¼Ã»Óп´¶®£¬GoogleÁËһϣ¬¾¡È»ÊÇlinuxÖÐÁ´±íµÄ±éÀú¡£
±éÀúÁ´±í£º
±éÀúÁ´±ílist_for_eachÊÇÒ»¸öºê£¬Õ¹¿ªÁ˾ÍÊÇÒ»¸öforÑ­»·
#define list_for_each(pos, head) \
        for (pos = (head)->next; prefetch(pos->next), pos != (head); \
                pos = pos->next)
ÆäÖÐprefech(pos->next)ÊÇ´¦ÀíÆ÷Ԥȡpos->next£¬Í¨¹ý´¦ÀíÆ÷µÄԤȡ¹¦ÄÜ£¬¶ÔforÑ­»·½øÐÐÁËÓÅ»¯¡£
···ÃÎÊÊý¾Ý²Ù×÷£º
#define list_entry(ptr, type, member) \
        container_of(ptr, type, member)
#define container_of(ptr, type, member) ({                      \
        const typeof(((type *)0)->member) * __mptr = (ptr);     \
        (type *)((char *)__mptr - offsetof(type, member)); } )
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
container_ofÊÇÒ»¸öÓе㸴Ôӵĺê,ʹÓÃÁËCÀ©Õ¹¹Ø¼ü×Ötypeof£¬»¹Óв»ºÃÀí½âµÄÇó½á¹¹Ìå³ÉÔ±
±äÁ¿Æ«ÒÆ.....
·((type *)0)Êǽ«0Ç¿ÖÆ×ª»¯Îªtype *£¬Ò²¾ÍÊÇÖ¸ÏòtypeÀàÐ͵ÄÖ¸Õë
·((type *)0)->memberÊÇ·ÃÎÊtype½á¹¹ÖеÄmember³ÉÔ±
·const typeof( ((type *)0)->member ) *__mptr ¶¨ÒåÒ»¸öÓë((type *)0)->memberͬÖÖÀàÐ͵Ä
Ö¸Õë±äÁ¿£¨const±äÁ¿£©
·const typeof( ((type *)0)->member ) *__mptr=(ptr)¶Ô³£Á¿Ö¸Õë±äÁ¿__mptr¸³Öµ
__mptr=ptr
·((size_t) &((TYPE *)0)->MEMBERµÃµ½memberÔÚtype½á¹¹ÌåÖÐµÄÆ«ÒÆÁ¿£¬
offsetof(type,member)µÄÕ¹¿ªÐ§¹û
·(char *)__mptr - offsetof(type,member) ½«__mptrÇ¿ÖÆ×ª»¯ÎªcharÀàÐÍÖ¸Õ룬Ҳ¾ÍÊÇ__mptr
µÄµØÖ·£¬È»ºó¼õÈ¥memberÔڽṹÌåÖÐµÄÆ«ÒÆÁ¿£¬µÄµ½µÄ×ÔÈ»¾ÍÊǽṹÌåÆðʼµØÖ·£¨Æ«ÒÆÁ¿ÇóµÄºÜÇÉÃ
ÓÖºÜÇÉÃîµÄ»ñµÃ½á¹¹ÌåÆðʼµØÖ·£©¡£
·(type *)( (char *)__mptr - offsetof(type,member) )×îºóÔÙÇ¿ÖÆ×ª»¯Îª(type *)ÀàÐÍ


Ïà¹ØÎĵµ£º

linuxÃüÁîÊÖ²á


 
·½±ãµÄlinuxÃüÁîÊÖ²á
 
À´Ô´: ChinaUnix²©¿Í ¡¡ÈÕÆÚ£º 2006.07.24 00:31¡¡(¹²ÓÐ0ÌõÆÀÂÛ) ÎÒÒªÆÀÂÛ
 
NO
·ÖÀà
PS1
ÃüÁîÃû
Ó÷¨¼°²ÎÊý
¹¦ÄÜ×¢½â
¶ÔÓ¦Õ½Ú
1
Îļþ¹ÜÀí
#
ls
ls -a
Áгöµ±Ç°Ä¿Â¼ÏµÄËùÓÐÎļþ£¬°üÀ¨ÒÔ.Í·µÄÒþº¬Îļþ
Îļþ¹ÜÀí
#
ls
ls -l»òll
Áгöµ±Ç°Ä¿Â¼ÏÂÎļþµÄÏêϸР......

linux µ÷¶ÈÆ÷·¢Õ¹¼òÊö


·¢²¼µÄ 2.6.23 ÄÚºËÖаüº¬ÁËÒ»¸öÖØÒªµÄ±ä»¯£¬ÓÃCFSÌæ´úÁËÒÔǰµÄµ÷¶ÈÆ÷¡£CFS ±»ºÏ²¢µ½ mainline ֮ǰ£¬¹ØÓÚÄں˵÷¶ÈÆ÷»¹ÓÐÒ»¸öÖØÒªµÄ patch£ºRSDL¡£×îÖÕ 2.6.23 ¾ö¶¨½« CFS ºÏ²¢µ½ mainline ¶ø·ÅÆúÁË RSDL¡£ÎªÊ²Ã´ÒªÒýÈëеĵ÷¶ÈÆ÷£¬CFS ºÍ RSDL ÓÐʲôÁªÏµºÍÇø±ð£¿±¾ÎÄÊÔͼ¶ÔÄں˵÷¶ÈËã·¨µÄ·¢Õ¹ÀúÊ·×öÒ»¸ö¼òÒª½éÉÜ£¬Ï£ÍûÄ ......

linux Öжϴ¦Àí

Öжϴ¦Àí
 
ÔÚ 2.4 ÄÚºËºÍ 2.6ÄÚºËÖж¼Ê¹Óà request_irq()
º¯ÊýÀ´×¢²áÖжϷþÎñº¯Êý¡£ÔÚ 2.4
ÄÚºËÖУ¬ÐèÒª°üº¬µÄÍ·ÎļþÊÇ #include <linux/sched.h> £¬2.6 ÄÚºËÖÐÐèÒª°üº¬µÄÍ·ÎļþÔòÊÇ #include
<linux/interrupt.h> ¡£º¯ÊýÔ­ÐÍÈçÏ£º
2.4 ÄÚºË
int
request_irq
(unsigned
int
irq ......

ÈçºÎ¿ªÆô¹Ø±Õlinux·À»ðǽ

ÈçºÎ¿ªÆô¹Ø±Õlinux·À»ðǽ
 
 
¡¡¡¡ÖØÆôºóÉúЧ
¡¡¡¡¿ªÆô£ºchkconfig iptables on
¡¡¡¡¹Ø±Õ£ºchkconfig iptables off
¡¡¡¡¼´Ê±ÉúЧ£¬ÖØÆôºóʧЧ
¡¡¡¡¿ªÆô£ºservice iptables start
¡¡¡¡¹Ø±Õ£ºservice iptables stop
¡¡¡¡»ò
¡¡¡¡¹Ø±Õ£º /etc/rc.d/init.d/iptables stop
¡¡¡¡Æô¶¯£º /etc/rc.d/init.d/ip ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ