LinuxÄں˵ÄÁ´±í
×Ô2.1Äں˿ª·¢°æÒÔÀ´£¬linux¾ÍÒýÈëÁËÕýʽµÄÁ´±íʵÏÖ,²ÉÓõÄÊÇË«ÏòÑ»·Á´±í¡£Òò´Ë£¬ÔÚ¿ª·¢¹ý³ÌÖÐÓ¦¸ÃʹÓÃÕâЩÒÑÓеĽӿڡ£
1. ¶¨Òå
Á´±í½á¹¹Ì嶨ÒåÔÚÎļþ<linux/list.h>ÖС£
struct list£ßhead {
struct list_head *next;
struct list_head *prev;
};
ʹÓÃʱͨ³£ÐèÒª°ÑËüǶÈëµ½Äã×Ô¼ºµÄ½á¹¹ÌåÖС£
Àý£º
struct my_struct {
struct list_head list;
unsigned long dog;
void * cat;
};
ÏÂÃæ¸ø³öһЩ½Ó¿Ú£º
struct my_struct *p;
³õʼ»¯£º
/*¶¯Ì¬³õʼ»¯*/
p->dog = 0;
p->cat = NULL;
INIT_LIST_HEAD(&p->list);
/*¾²Ì¬³õʼ»¯*/
struct my_struct mine = {
.list = LIST_HDAD_INIT(mine.list);
.dog = 0;
.cat = NULL;
};
/*Ö±½ÓÉùÃ÷²¢³õʼ»¯*/
static LIST_HEAD(fox); /*ÉùÃ÷²¢³õʼ»¯Ò»¸öÃûΪfoxµÄ¾²Ì¬Á´±í*/
2. »ù±¾²Ù×÷
¸øÁ´±íÔö¼ÓÒ»¸ö½Úµã£º
list_add(struct list_head *new, struct list_head *head);
/*¸Ãº¯ÊýÏòÖ¸¶¨Á´±íµÄhead½Úµãºó²åÈënew½Úµã¡£*/
list_add_tail(struct list_head *new, struct list_head *head);
/*¸Ãº¯ÊýÏòÖ¸¶¨Á´±íµÄhead½Úµãǰ²åÈënew½Úµã¡£*/
´ÓÁ´±íÖÐɾ³ýÒ»¸ö½Úµã£º
list_del(struct list_head *entry);
/*¸Ãº¯Êý½ö½öÊǽ«entryÔªËØ´ÓÁ´±íÖÐÒÆ×ß¡£*/
list_del_init(struct list_head *entry);
/*¸Ãº¯Êý½«entryÔªËØ´ÓÁ´±íÖÐÒÆ×ß²¢Ôٴγ
Ïà¹ØÎĵµ£º
¹²Ïí¿â
½éÉܹ²Ïí¿â
Linux ϵͳÉÏÓÐÁ½Àà¸ù±¾²»Í¬µÄ Linux ¿ÉÖ´ÐгÌÐò¡£µÚÒ»ÀàÊǾ²Ì¬Á´½ÓµÄ¿ÉÖ´ÐгÌÐò¡£¾²Ì¬¿ÉÖ´ÐгÌÐò°üº¬Ö´ÐÐËùÐèµÄËùÓк¯Êý — »»¾ä»°Ëµ£¬ËüÃÇÊÇ“ÍêÕûµÄ”¡£ÒòΪÕâÒ»ÔÒò£¬¾²Ì¬¿ÉÖ´ÐгÌÐò²»ÒÀÀµÈκÎÍⲿ¿â¾Í¿ÉÒÔÔËÐС£
µÚ¶þÀàÊǶ¯Ì¬Á´½ÓµÄ¿ÉÖ´ÐгÌÐò¡£
¾²Ì¬¿ÉÖ´ÐгÌÐòÓ붯 ......
×ªÔØÊ±Çë×¢Ã÷³ö´¦ºÍ×÷ÕßÁªÏµ·½Ê½
ÎÄÕ³ö´¦£ºhttp://www.limodev.cn/blog
×÷ÕßÁªÏµ·½Ê½£ºÀîÏȾ² <xianjimli at hotmail dot com>
Ëæ×ÅXPµÄÁ÷ÐУ¬ÈËÃÇÔ½À´Ô½×¢ÖØÈí¼þµÄǰÆÚÉè¼Æ¡¢ºóÆÚµÄʵÏÖ£¬ÒÔ¼°¹á´©ÓÚÆäÖеIJâÊÔ¹¤×÷£¬¾¹ýÕâ¸ö¹ý³Ì³öÀ´µÄ×ÔÈ»ÊǸßÖÊÁ¿µÄÈí¼þ¡£ÉõÖÁÓÐÈËÉù³ÆXP»áÌÔ̵÷ÊÔÆ÷£¡Õ⵱ȻÊÇÓÐÒ»¶¨µÀÀíµÄ£¬È ......
ÏÈroot´ò²¹¶¡£ºp3006854_9204_linux.zip
ÔÙÉèoracle»·¾³±äÁ¿
°²×°
°²×°½áÊø½¨¿â֮ǰÐèÒª´òµÄ²¹¶¡ÓУº
p2617419_220_GENERIC.zip
p3119415_9204_linux.zip
¾ßÌå²Î¿¼ÕâÆªÎÄÕ£º
Redhat Enterprise Linux 4°²×°oracle
¹Ø¼ü×Ö: redhat el4 oracle °²×°
Ò». °²×°×¼±¸
1. as4°²×°Íêºó£¬ÐèÒª¼ì²éÏÂÁÐÈí¼þ ......
°²×°telnet-server…,±ØÐëÏÈ×°xinetd
°²×°telnet·þÎñ:rpm -ihv telnet-server…
Æô¶¯:service xinetd start
&nb ......