LinuxÄÚºËÖеÄ˫ѻ·Á´±í
LinuxÄÚºËÖеÄ˫ѻ·Á´±í
2006-11-27 19:14
˫ѻ·Á´±í´«Í³ÊµÏÖ
ÔÚ´«Í³µÄ˫ѻ·Á´±íʵÏÖÖУ¬Èç¹û´´½¨Ä³ÖÖÊý¾Ý½á¹¹µÄ˫ѻ·Á´±í£¬Í¨³£²ÉÓõİ취ÊÇÔÚÕâ¸öÊý¾Ý½á¹¹µÄÀàÐͶ¨ÒåÖмÓÈëÁ½¸ö£¨Ö¸Ïò¸ÃÀàÐͶÔÏóµÄ£©Ö¸ÕënextºÍprev¡£ÀýÈ磺
typedef struct foo {
…
struct foo *prev;
struct foo *next;
…
} foo_t;
ÕâÀï¸ø³öÁ˶ÔÓ¦µÄ½Úµã½á¹¹¡¢¿ÕµÄ˫ѻ·Á´±íºÍ·Ç¿ÕµÄ˫ѻ·Á´±íʾÒâͼ¡£
LinuxÄÚºËÖÐ˫ѻ·Á´±íʵÏÖ
ÔÚlinuxÄÚºËÖУ¬ÓдóÁ¿µÄÊý¾Ý½á¹¹ÐèÒªÓõ½Ë«Ñ»·Á´±í£¬ÀýÈç½ø³Ì¡¢Îļþ¡¢Ä£¿é¡¢Ò³ÃæµÈ¡£Èô²ÉÓÃ˫ѻ·Á´±íµÄ´«Í³ÊµÏÖ·½Ê½£¬ÐèҪΪÕâЩÊý¾Ý½á¹¹Î¬»¤¸÷×ÔµÄÁ´±í£¬²¢ÇÒΪÿ¸öÁ´±í¶¼ÒªÉè¼Æ²åÈ롢ɾ³ýµÈ²Ù×÷º¯Êý¡££¨ÓÉÓÚÓÃÀ´Î¬³ÖÁ´±íµÄnextºÍprevÖ¸ÕëÖ¸Ïò¶ÔÓ¦ÀàÐ͵ĶÔÏó£¬Òò´ËÒ»ÖÖÊý¾Ý½á¹¹µÄÁ´±í²Ù×÷º¯Êý²»ÄÜÓÃÓÚ²Ù×÷ÆäËüÊý¾Ý½á¹¹µÄÁ´±í¡££©
ÔÚLinuxÔ´´úÂëÊ÷µÄinclude/linux/list.hÎļþÖУ¬²ÉÓÃÁËÒ»ÖÖ£¨Êý¾Ý½á¹¹£©ÀàÐÍÎ޹صÄ˫ѻ·Á´±íʵÏÖ·½Ê½¡£Æä˼ÏëÊǽ«Ö¸ÕëprevºÍnext´Ó¾ßÌåµÄÊý¾Ý½á¹¹ÖÐÌáÈ¡´¦Àí¹¹³ÉÒ»ÖÖͨÓõÄ"Ë«Á´±í"Êý¾Ý½á¹¹list_head£¬¶ølist_head±»×÷Ϊһ¸ö³ÉԱǶÈëµ½ÒªÀÁ´µÄÊý¾Ý½á¹¹£¨±»³ÆÎªËÞÖ÷Êý¾Ý½á¹¹£©ÖС£ÕâÑù£¬Ö»ÐèÒªÒ»Ì×ͨÓõÄÁ´±í²Ù×÷º¯Êý¾Í¿ÉÒÔ½«list_head³ÉÔ±×÷Ϊ"Á¬½Ó¼þ"£¬°ÑËÞÖ÷Êý¾Ý½á¹¹Á´½ÓÆðÀ´¡£ÈçÏÂͼËùʾ£º
ÔÚLinuxÄÚºËÖеÄ˫ѻ·Á´±íʵÏÖ·½Ê½Ï£º
1. Á´±í½á¹¹×÷Ϊһ¸ö³ÉԱǶÈëµ½ËÞÖ÷Êý¾Ý½á¹¹ÄÚ£»
2. ¿ÉÒÔ½«Á´±í½á¹¹·ÅÔÚËÞÖ÷½á¹¹ÄÚµÄÈκεط½£»
3. ¿ÉÒÔΪÁ´±í½á¹¹È¡ÈκÎÃû×Ö£»
4. ËÞÖ÷½á¹¹¿ÉÒÔÓжà¸öÁ´±í½á¹¹¡£
ÏÂÃæÎÒÃǽ«»ùÓÚLinux 2.4.21·ÖÎöLinuxÄÚºË˫ѻ·Á´±íµÄʵÏÖ¼°Ó¦Óá£
ÉùÃ÷ºÍ³õʼ»¯
Á´±í½á¹¹¶¨ÒåÈçÏ£º
struct list_head {
struct list_head *next, *prev;
};
ÎÒÃÇ¿ÉÒÔÓÃstruct list_headÉùÃ÷Ò»¸öÁ´±í½Úµã¡£ÐèҪעÒâµÄÊÇ£¬Linux µÄÿ¸ö˫ѻ·Á´±í¶¼ÓÐÒ»¸öÁ´±íÍ·£¬Á´±íÍ·Ò²ÊÇÒ»¸ö½Úµã£¬Ö»²»¹ýËü²»Ç¶Èëµ½ËÞÖ÷Êý¾Ý½á¹¹ÖУ¬¼´²»ÄÜÀûÓÃÁ´±íÍ·¶¨Î»µ½¶ÔÓ¦µÄËÞÖ÷½á¹¹¡£
ÎÒÃÇ¿ÉÒÔµ÷ÓÃINIT_LIST_HEAD()ºê³õʼ»¯Á´±í½Úµã£¬½«nextºÍprevÖ¸Õë¶¼Ö¸ÏòÆä×ÔÉí¡£Èç¹ûÕâ¸ö½ÚµãÊÇÁ´±íÍ·£¬ÎÒÃǾ͹¹ÔìÁËÒ»¸ö¿ÕµÄ˫ѻ·Á´±í¡£
#define INIT_LIST_HEAD(ptr) do { \
(ptr)->next = (ptr); (ptr)->prev = (ptr); \
} while (0)
LIST_HEAD()ºê
Ïà¹ØÎĵµ£º
sourceÃüÁîÓ÷¨£º
source FileName
×÷ÓÃ:ÔÚµ±Ç°bash»·¾³Ï¶ÁÈ¡²¢Ö´ÐÐFileNameÖеÄÃüÁî¡£
×¢£º¸ÃÃüÁîͨ³£ÓÃÃüÁî“.”À´Ìæ´ú¡£
È磺source .bash_rc Óë . .bash_rc ÊǵÈЧµÄ¡£
sourceÃüÁî(´Ó C Shell ¶øÀ´)ÊÇbash shellµÄÄÚÖÃÃüÁî¡£µãÃüÁ¾ÍÊǸöµã·ûºÅ£¬(´ÓBourne Shell¶øÀ´)ÊÇsourceµÄÁíÒ»Ãû³Æ¡£Í¬Ñùµ ......
1) LinuxÖÐÖ÷ÒªÓÐÄļ¸ÖÖÄÚºËËø£¿
2) LinuxÖеÄÓû§Ä£Ê½ºÍÄÚºËģʽÊÇʲôº¬Ò⣿
3) ÔõÑùÉêÇë´ó¿éÄÚºËÄڴ棿
4) Óû§½ø³Ì¼äͨÐÅÖ÷ÒªÄļ¸ÖÖ·½Ê½£¿
5) ͨ¹ý»ï°éÏ ......
²Î¼û£ºhttp://isis.poly.edu/kulesh/stuff/src/klist/
Introduction:
Linux kernel is mostly written in the C language. Unlike many other languages C does not have
a good collection of data structures built into it or supported by a collection of standard libraries.
Therefore, you're probably excited ......
¶þ¡¢°²×°Mysql
¡¡¡¡1¡¢ÏÂÔØMySQLµÄ°²×°Îļþ
¡¡¡¡°²×°MySQLÐèÒªÏÂÃæÁ½¸öÎļþ£º
¡¡¡¡
MySQL-server-4.0.16-0.i386.rpm¡¡¡¡¡¡
¡¡¡¡MySQL-client-4.0.16-0.i386.rpm
¡¡
¡¡ÏÂÔØµØÖ·Îª£ºhttp://www.mysql.com/downloads/mysql-4.0.html£¬ ´ò¿ª´ËÍøÒ³
£¬
ÏÂÀÍøÒ³ÕÒµ½“Linux x86 RPM downloads”ÏÕÒµ½&ldq ......
Ò»¡¢¸ÅÒª
Ïêϸ½éÉÜ£ºhttp://www.ibm.com/developerworks/cn/linux/l-ipc/part2/index1.html
ÐźÅÊÇUNIXºÍLinuxϵͳÏìÓ¦½áÌõ¼þ¶ø²úÉúµÄÒ»¸öʼþ¡£½ÓÊÕµ½ÐźŵĽø³Ì»áÏàÓ¦µØ²ÉȡһЩÐж¯¡£
£¨1£© ÔÚϵͳ ......