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

linuxÄÚºËÖеÄHlistÓëList_head½á¹¹

List_Head
²Ù×÷ϵͳÄں˾­³£ÐèҪά»¤Êý¾Ý½á¹¹¡£ÄÚºËÓбê×¼µÄÑ­»·Á´±í¡¢Ë«ÏòÁ´±íµÄʵÏÖ¡£ÔÚ<Linux/list.h>ÎļþÖж¨ÒåÁËÒ»¸ölist_headÀàÐͼòµ¥½á¹¹£º
struct list_head {
   struct list_head *next, *prev;
};
 
ͨÓÃÁ´±íµÄ³£ÓÃÓÃ;Êǽ«Ä³Ò»¸öÊý¾Ý½á¹¹±¾Éí´®³ÉÁ´±í£¬»ò½«Ä³Ð©Á´±íÓëÒ»¸öÊý¾Ý½á¹¹ÁªÏµÆðÀ´£¬ÕâÁ½ÖÖÇé¿öʵÖÊÉ϶¼ÊÇÓɽṹlist_head×é³ÉÁ´±í£¬Ö»ÊÇlist_headËù“±³¸º”µÄ¸ºÔز»Ò»Ñù¡£ÏÂÃæ·Ö±ð¾ÙÀý˵Ã÷ÕâÁ½ÖÖÓÃ;¡£
ÒÔÏÂʾÀý˵Ã÷ÁËÈçºÎ½«Ä³Ò»¸öÊý¾Ý½á¹¹±¾Éí´®³ÉÁ´±í£¬²¢¶ÔÁ´±í½øÐвÙ×÷£¬Í¬Ê±»¹ËµÃ÷list_head½á¹¹µÄʵÏÖÓëʹÓá£
ʾÀý£º½«Ä³Ò»¸öÊý¾Ý½á¹¹±¾Éí´®³ÉÁ´±í¡£
£¨1£©¼ÓÈëlist_head½á¹¹³ÉÔ±¡£
¼ÙÉèÓÐÒ»¸öexample_struct½á¹¹ÐèÁ¬½Ó³ÉÁ´±í£¬Òò¶øÔÚÆä½á¹¹ÀïÃæ¼ÓÉÏlist_head³ÉÔ±£¬¾Í×é³ÉÁ˽ṹÁ´±í£¬ÈçÏ£º
struct example_struct {
   struct list_head list;
   int priority; 
   ……//ÆäËû³ÉÔ±
};
 
ÔÚexample_struct½á¹¹ÖеÄlist³ÉÔ±£¬ÓÃÀ´½«example_struct½á¹¹´®³ÉÁ´±í¡£¿ÉÀí½âΪlist_head“±³¸º”µÄ¸ºÔØÊÇexample_struct½á¹¹¡£
£¨2£©´´½¨list_head½á¹¹¡£
ʹÓÃǰ±ØÐëÉêÇëÁ´±íÍ·²¢Óà INIT_LIST_HEAD ºêÀ´³õʼ»¯Á´±íÍ·¡£¿ÉʹÓÃÁ½ÖÖ·½·¨¡£
·½·¨1£º
struct list_head example_list;
INIT_LIST_HEAD(&example_list);
 
·½·¨2£º
LIST_HEAD(example_list);
 
ÆäÖУ¬ÕâÁ½¸öºêÔÚinclude/Linux/list.hÖж¨ÒåÈçÏ£º
#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)
 
ºê¶¨ÒåINIT_LIST_HEAD³õʼ»¯ÁËÁ´±íÍ·£¬¼´Ïòǰ¡¢ÏòºóµÄÖ¸Õë¶¼Ö¸ÏòÁ´±íÍ·¡£ÕâÑù£¬¾ÍÒѳõʼ»¯ÁËÒ»¸öexample_listµÄÁ´±íÍ·£¬ÒÔºó¾Í¿ÉÒÔÏòÁ´±íÖÐÔö¼ÓÁ´±íÔªËØÁË¡£
£¨3£©Á´±íÓëÓû§½á¹¹Á¬½Ó¡£
list_entryºê½«exmplelistÁ´±íÓëexmple_struct½á¹¹ÀàÐÍÁ¬½ÓÆðÀ´¡£
ÓÐÁ½ÏîÁ´±íµÄÁ´±íÍ·
List_entryºêµÄЧ¹û
º¬list_headµÄ¶¨Öƽṹ
next
prev
list_head½á¹¹
¿ÕÁ´±í
<linux/list. h>ÖеÄÁ´±í
ÏÂÃæÕâ¸ö´úÂëÐоÍÊÇ´ÓexamplelistÁ´±íÖеõ½½Úµã¶ÔÓ¦µÄexample_struct½á¹¹Ö¸Õ룬ÆäÖÐptrÊÇexampleli


Ïà¹ØÎĵµ£º

linuxÍøÂç±à³Ì±Ê¼Ç

Ò» ÈýÖÖÀàÐ͵ÄÌ×½Ó×Ö£º
1.Á÷ʽÌ×½Ó×Ö£¨SOCKET_STREAM)
    Ìá¹©ÃæÏòÁ¬½ÓµÄ¿É¿¿µÄÊý¾Ý´«Êä·þÎñ¡£Êý¾Ý±»¿´×÷ÊÇ×Ö½ÚÁ÷£¬ÎÞ³¤¶ÈÏÞÖÆ¡£ÀýÈçFTPЭÒé¾Í²ÉÓÃÕâÖÖ¡£
2.Êý¾Ý±¨Ê½Ì×½Ó×Ö£¨SOCKET_DGRAM£©
    ÌṩÎÞÁ¬½ÓµÄÊý¾Ý´«Êä·þÎñ£¬²»±£Ö¤¿É¿¿ÐÔ¡£
3.ԭʼʽÌ×½Ó×Ö£¨SOCKET_RAW£©
   ......

Linux ÏÂgetch()ºÍgetche()

LinuxÏÂgetch()ºÍgetche()
I would recommend never mixing input techniques in a program. Don't mix fgets() or scanf() with getchar(). Don't mix any standerd C library input function with a non-standard function that bypasses the C stream mechanism, be that getch(), getche(), bioskey(), or anything el ......

Linux¶àÏ̱߳à³Ì


Ïß³Ì
ÊǼÆËã»úÖжÀÁ¢ÔËÐеÄ×îСµ¥Î»£¬ÔËÐÐʱռÓúÜÉÙµÄϵͳ×ÊÔ´¡£¿ÉÒÔ°ÑÏ߳̿´³ÉÊDzÙ×÷ϵͳ·ÖÅäCPUʱ¼äµÄ»ù±¾µ¥Ôª¡£Ò»¸ö½ø³Ì¿ÉÒÔÓµÓÐÒ»¸öÖÁ¶à¸öÏ̡߳£ËüÏß³ÌÔÚ½ø³ÌÄÚ²¿¹²ÏíµØÖ·¿Õ¼ä¡¢´ò¿ªµÄÎļþÃèÊö·ûµÈ×ÊÔ´¡£Í¬Ê±Ïß³ÌÒ²ÓÐÆä˽ÓеÄÊý¾ÝÐÅÏ¢£¬°üÀ¨£ºÏ̺߳š¢¼Ä´æÆ÷£¨³ÌÐò¼ÆÊýÆ÷ºÍ¶ÑÕ»Ö¸Õ룩¡¢¶ÑÕ»¡¢ÐźÅÑÚÂë¡¢ÓÅÏȼ¶¡¢Ïß³ ......

¡¾×ª¡¿LinuxÐéÄâ»úÏÂÈçºÎ¹²ÏíADSL²¦ºÅÉÏÍø


 
 
 
¡¾×ª¡¿LinuxÐéÄâ»úÏÂÈçºÎ¹²ÏíADSL²¦ºÅÉÏÍø
2010-01-20 11:55
½ñÌìÔÚvmwareÉÏ×°ÁËÒ»¸öRed Hat Enterprise Linux 5£¬×°ºÃÖ®ºó£¬ÎÒÏëÔÚÐéÄâ»úÉϹ²ÏíÎÒµÄadsl²¦ºÅÉÏÍø£¬ÉèÖùý³ÌÈçÏÂ:
¡¡¡¡1. ÏÈÔÚadslÁ¬½ÓÊôÐÔÉÏÔÊÐí¹²ÏíInternetÁ¬½Ó:
¡¡¡¡2.ÕâÑù×öºó»áµ¯³öÒ»¸ö¶Ô»°¿ò£¬¸æËßÄã»á°Ñ±¾µØÁ¬½ÓµÄipµØ ......

ÔÚLinuxÏ¿´µçÊÓ

ÔÚLinuxÏ¿´µçÊÓ
ʱ¼ä£º2009-12-09 13:37:00  À´Ô´£ºÍøÂç  ×÷ÕߣºÐ¡Â¬
¡¡¡¡³¤ÆÚÒÔÀ´£¬ÔÚLinux²Ù×÷ϵͳÏÂʹÓõçÊÓ¿¨ÊÇÒ»¼þ±È½ÏÂé·³µÄÊ£¬ÕâÊÇÒòΪ¸÷¼ÒµçÊÓ¿¨Éú²ú³§É̶¼Ã»ÓÐÌṩ¹Ù·½µÄLinuxÇý¶¯£¬Ö»ÓÐWindowsϵÄWDMÇý¶¯¡£
¡¡¡¡LinuxϵĵçÊÓ¿¨Çý¶¯£¬Ò»Ö±ÓÉlinux.bytesex.orgµÄLinux°®ºÃÕ߸ºÔ𿪷¢¡£¸ÃÇý¶¯ÓÐÁ½ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ