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

LinuxÄں˳£ÓÃÊý¾Ý½á¹¹ºÍ²Ù×÷

1. ǰÑÔ
 
±¾ÎĽéÉÜlinuxÄÚºËÖÐһЩ³£ÓõÄÊý¾Ý½á¹¹ºÍ²Ù×÷¡£
 
2. Ë«ÏòÁ´±í(list)
 
linuxÄÚºËÖеÄË«ÏòÁ´±íͨ¹ý½á¹¹ struct list_headÀ´½«¸÷¸ö½ÚµãÁ¬½ÓÆðÀ´£¬´Ë½á¹¹»á×÷ΪÁ´±íÔªËØ½á¹¹ÖеÄÒ»¸ö²ÎÊý£º
struct list_head {
 struct list_head *next, *prev;
};
 
Á´±íÍ·µÄ³õʼ»¯£¬×¢Ò⣬½á¹¹ÖеÄÖ¸ÕëΪNULL²¢²»Êdzõʼ»¯£¬¶øÊÇÖ¸Ïò×ÔÉí²ÅÊdzõʼ»¯£¬Èç¹ûÖ»Êǰ´ÆÕͨÇé¿öϵÄÖÃΪNULL£¬¶ø²»ÊÇÖ¸Ïò×ÔÉí£¬ÏµÍ³»á±ÀÀ££¬ÕâÊÇÒ»¸öÈÝÒ×·¸µÄ´íÎó£º
 
#define LIST_HEAD_INIT(name) { &(name), &(name) }
#define LIST_HEAD(name) \
 struct list_head name = LIST_HEAD_INIT(name)
#define INIT_LIST_HEAD(ptr) do { \
 (ptr)->next = (ptr); (ptr)->prev = (ptr); \
} while (0)
 
×î³£ÓõÄÁ´±í²Ù×÷£º
²åÈëµ½Á´±íÍ·:
void list_add(struct list_head *new, struct list_head *head);
 
²åÈëµ½Á´±íβ:
void list_add_tail(struct list_head *new, struct list_head *head);
 
ɾ³ýÁ´±í½Úµã:
void list_del(struct list_head *entry);
 
½«½ÚµãÒÆ¶¯µ½ÁíÒ»Á´±í:
void list_move(struct list_head *list, struct list_head *head);
 
½«½ÚµãÒÆ¶¯µ½Á´±íβ:
void list_move_tail(struct list_head *list,struct list_head *head);
 
ÅжÏÁ´±íÊÇ·ñΪ¿Õ£¬·µ»Ø1Ϊ¿Õ£¬0·Ç¿Õ
int list_empty(struct list_head *head);
 
°ÑÁ½¸öÁ´±íÆ´½ÓÆðÀ´£º
void list_splice(struct list_head *list, struct list_head *head)£»
 
È¡µÃ½ÚµãÖ¸Õ룺
#define list_entry(ptr, type, member) \
 ((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member)))
 
±éÀúÁ´±íÖÐÿ¸ö½Úµã£º
#define list_for_each(pos, head) \
 for (pos = (head)->next, prefetch(pos->next); pos != (head); \
         pos = pos->next, prefetch(pos->next))
 
ÄæÏòÑ­»·Á´±íÖÐÿ¸ö½Úµã£º
#define list_for_each_prev(pos, head) \
 for (pos = (head)->prev, prefetch(pos->prev); pos != (head); \
         pos = pos->prev, prefetch(pos->prev))
 
¾ÙÀý£º
 
LISH_HEAD(mylist);
&n


Ïà¹ØÎĵµ£º

Linux´´Ê¼ÈËLinus²½Èë²»»óÖ®Äê


Linux´´Ê¼ÈËLinus
2009Äê12ÔÂ28ÈÕÊÇLinux´´Ê¼ÈËLinusµÄ40ËêÉúÈÕ¡£
19Äêǰ£¬ÔÚÊ¥µ®½ÚºóºÕ¶ûÐÁ»ùÉ̵꿪ҵµÄµÚÒ»Ì죬Linus³åÏòµçÄÔÉ̵꣬ÓÃÊ¥µ®½ÚºÍÉúÈÕÀñ½ð¹ºÂòÁËËûµÄµÚһ̨PC£ºÒ»Ì¨DX33 80386¼ÆËã»ú£¬4 Megs RAM£¬40 MegabyteÓ²ÅÌ£¬Ã»ÓÐЭͬ´¦ÀíÆ÷¡£LinusÖ®ËùÒÔÑ¡Ôñ80386£¬¶ø²»ÊÇAmiga»òÆ»¹ûÂó½ðËþµçÄÔ£¬×îÖ÷ÒªÔ­ÒòÊÇËûÏ ......

Linux²Ù×÷ϵͳÄÚºËÆô¶¯²ÎÊýÏêϸ½âÎö

 
LinuxÄÚºËÔÚÆô¶¯µÄʱºò£¬ÄܽÓÊÕijЩÃüÁîÐÐÑ¡Ïî»òÆô¶¯Ê±²ÎÊý¡£µ±Äں˲»ÄÜʶ±ðijЩӲ¼þ½ø¶ø²»ÄÜÉèÖÃÓ²¼þ²ÎÊý»òÕßΪÁ˱ÜÃâÄں˸ü¸ÄijЩ²ÎÊýµÄÖµ£¬¿ÉÒÔͨ¹ýÕâÖÖ·½Ê½ÊÖ¶¯½«ÕâЩ²ÎÊý´«µÝ¸øÄںˡ£
¡¡¡¡Èç¹û²»Ê¹ÓÃÆô¶¯¹ÜÀíÆ÷£¬±ÈÈçÖ±½Ó´ÓBIOS»òÕß°ÑÄÚºËÎļþÓÓcp zImage /dev/fd0”µÈ·½·¨Ö±½Ó´ÓÉ豸Æô¶¯£¬¾Í²»Ä ......

linuxÏÂsamba¹²Ïí´òÓ¡»ú


      ÏÈ˵ÐèÇ󣬹«Ë¾ÓÐһ̨ÐͺÅΪHP LaserJet m1120 mfpµÄ´òÓ¡»ú£¬ÓÉÓÚ²»ÊÇÍøÂç´òÓ¡»úʹÓÃÆðÀ´Ê®·Ö²»±ã£¬¹«Ë¾ÀÏ´óÒªÇó½«Õą̂´òÓ¡»úÁ¬ÔÚ¹«Ë¾µÄÄÚÍølinux·þÎñÆ÷ÉÏ£¨CentOS£©£¬È»ºóÅäÖÃsamba¹²Ïí´òÓ¡»ú¡£ÏÂÃæ¿ª¹¤£¬Ö÷Òª·ÖÈý´ó²½Ö裬Èç·ûºÏÄãµÄÐèÇó£¬Çë¼ÌÐøÔĶÁ¡£
µÚÒ»²½£¬Òª±£Ö¤ÄãµÄ´òÓ¡»úÔÚlinu ......

LinuxÐéÄâÖ÷»úÖ»ÓÐÓʾֺÍBIND²¿·Ö

С½á£º
      ÔÚ°²×°postfixʱ£¬rrdtoolÕâ¸öÈí¼þÐèÒªÓÃyumÀ´×°¡£·½·¨²½ÖèÈçÏ£º
      1>£ºwget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
      2>£º
rpm -ivh rpmforge-release-0.3.6-1. ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ