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

Ïê½âLinuxÄÚºË֮˫ÏòÑ­»·Á´±í(ת)

ÕªÒª: ±¾ÎÄÏê½âÁËÄÚºËÖÐÃæÏò¶ÔÏóµÄlist½á¹¹µÄÔ­Àí£¬ÒÔ¼°ÈçºÎÒÔlistΪÄÚǶ¶ÔÏóÀ´¹¹Ôì×Ô¼ºµÄÁ´±í½á¹¹£¬ÈçºÎ´ÓÄÚǶlist¶ÔÏó»ñµÃ×Ô¶¨ÒåµÄ¶ÔÏóÖ¸Õ룻̽ÌÖÁ˸÷ÖÖºê»òÕߺ¯ÊýµÄÏêϸʹÓ÷½·¨¼°ÔõÑùÒÔͨÓÃlist½á¹¹À´²Ù×÷×Ô¶¨Òå¶ÔÏó¡£
¹Ø¼ü×Ö:Ë«ÏòÑ­»·Á´±í£¬list£¬list_entry£¬typeof£¬containerof£¬list_for_each,list_for_each_entry
1¡¢Ë«Ñ­»·Á´±í´«Í³ÊµÏÖ
2¡¢LinuxÄÚºËÖÐ˫ѭ»·Á´±íʵÏÖ
3¡¢¶¨ÒåºÍ³õʼ»¯
4¡¢Í¨ÓÃÁ´±í²Ù×÷½Ó¿Ú
  4.1Ìí¼Ó½Úµã  4.2ɾ³ý½Úµã  4.3ÒÆ¶¯½Úµã  4.4Á´±íÅпՠ 4.5Á´±íºÏ²¢
5¡¢»ñÈ¡ËÞÖ÷¶ÔÏóÖ¸Õë
6¡¢±éÀú
   6.1 List-headÁ´±í±éÀú  6.2±éÀúËÞÖ÷¶ÔÏó
7¡¢ÈçºÎʹÓÃLinuxÖеÄ˫ѭ»·Á´±í
1¡¢Ë«Ñ­»·Á´±í´«Í³ÊµÏÖ
    ÔÚ´«Í³µÄ˫ѭ»·Á´±íʵÏÖÖУ¬Èç¹û´´½¨Ä³ÖÖÊý¾Ý½á¹¹µÄ˫ѭ»·Á´±í£¬Í¨³£²ÉÓõİ취ÊÇÔÚÕâ¸öÊý¾Ý½á¹¹µÄÀàÐͶ¨ÒåÖмÓÈëÁ½¸ö£¨Ö¸Ïò¸ÃÀàÐͶÔÏóµÄ£©Ö¸ÕënextºÍprev¡£ÀýÈ磺
typedef struct foo {
    …
    struct foo *prev;
    struct foo *next;
    …
} foo_t;
ÕâÀï¸ø³öÁ˶ÔÓ¦µÄ½Úµã½á¹¹¡¢¿ÕµÄ˫ѭ»·Á´±íºÍ·Ç¿ÕµÄ˫ѭ»·Á´±íʾÒâͼ¡£
2¡¢LinuxÄÚºËÖÐ˫ѭ»·Á´±íʵÏÖ
    ÔÚlinuxÄÚºËÖУ¬ÓдóÁ¿µÄÊý¾Ý½á¹¹ÐèÒªÓõ½Ë«Ñ­»·Á´±í£¬ÀýÈç½ø³Ì¡¢Îļþ¡¢Ä£¿é¡¢Ò³ÃæµÈ¡£Èô²ÉÓÃ˫ѭ»·Á´±íµÄ´«Í³ÊµÏÖ·½Ê½£¬ÐèҪΪÕâЩÊý¾Ý½á¹¹Î¬»¤¸÷×ÔµÄÁ´±í£¬²¢ÇÒΪÿ¸öÁ´±í¶¼ÒªÉè¼Æ²åÈ롢ɾ³ýµÈ²Ù×÷º¯Êý¡£ÒòΪÓÃÀ´Î¬³ÖÁ´±íµÄnextºÍprevÖ¸ÕëÖ¸Ïò¶ÔÓ¦ÀàÐ͵ĶÔÏó£¬Òò´ËÒ»ÖÖÊý¾Ý½á¹¹µÄÁ´±í²Ù×÷º¯Êý²»ÄÜÓÃÓÚ²Ù×÷ÆäËüÊý¾Ý½á¹¹µÄÁ´±í¡£
    ÔÚLinuxÔ´´úÂëÊ÷µÄinclude/linux/list.hÎļþÖУ¬²ÉÓÃÁËÒ»ÖÖÀàÐÍÎ޹صÄ˫ѭ»·Á´±íʵÏÖ·½Ê½¡£Æä˼ÏëÊǽ«Ö¸ÕëprevºÍnext´Ó¾ßÌåµÄÊý¾Ý½á¹¹ÖÐÌáÈ¡³öÀ´¹¹³ÉÒ»ÖÖͨÓõÄ"Ë«Á´±í"Êý¾Ý½á¹¹list_head¡£Èç¹ûÐèÒª¹¹ÔìijÀà¶ÔÏóµÄÌØ¶¨Á´±í£¬ÔòÔÚÆä½á¹¹£¨±»³ÆÎªËÞÖ÷Êý¾Ý½á¹¹£©Öж¨ÒåÒ»¸öÀàÐÍΪlist_headÀàÐ͵ijÉÔ±£¬Í¨¹ýÕâ¸ö³ÉÔ±½«ÕâÀà¶ÔÏóÁ¬½ÓÆðÀ´£¬ÐγÉËùÐèÁ´±í£¬²¢Í¨¹ýͨÓÃÁ´±íº¯Êý¶ÔÆä½øÐвÙ×÷¡£ÆäÓŵãÊÇÖ»Ðè±àдͨÓÃÁ´±íº¯Êý£¬¼´¿É¹¹ÔìºÍ²Ù×÷²»Í¬¶ÔÏóµÄÁ´±í£¬¶øÎÞÐèΪÿÀà¶ÔÏóµÄÿÖÖÁбí±àдרÓú¯Êý£¬ÊµÏÖÁË´úÂëµÄÖØÓá£
list_head½á¹¹
-----------struct list_head{}¼°³õʼ»¯ºê---------
struct list_head
{
    


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì(Áù) L2CAP±à³ÌʵÀý

ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
 Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......

linux 2.6Ô´´úÂëÇé¾°·ÖÎö±Ê¼ÇÖ®ÖжÏÓëÒì³£5

Öжϴ¦ÀíÒÀÀµÓÚÖжÏÀàÐÍ£¬ÓÐÈýÖÖÖ÷ÒªµÄÖжÏÀàÐÍ£º
i/oÖжϣºÄ³Ð©i/É豸ÐèÒª¹Ø×¢£»ÏàÓ¦µÄÖжϴ¦Àí³ÌÐò±ØÐë²éѯÉ豸ÒÔÈ·¶¨Êʵ±µÄ²Ù×÷¹ý³Ì¡£
ʱÖÓÖжϣºÄ³ÖÖʱÖÓ£¨»òÕßÊÇÒ»¸ö±¾µØapicʱÖÓ£¬»òÕßÊÇÒ»¸öÍⲿʱÖÓ£©²úÉúÒ»¸öÖжϣ»ÕâÖÖÖжϸæËßÄÚºËÒ»¸ö¹Ì¶¨µÄʱ¼ä¼ä¸ôÒѾ­¹ýÈ¥¡£ÕâЩÖжϴ󲿷ÖÊÇ×÷Ϊi/oÖжÏÀ´´¦ÀíµÄ¡£
´¦ÀíÆ÷¼ä ......

linuxÀï²é¿´ËùÓÐÓû§ºÍÓû§×é

1¡¢linuxÀï²é¿´ËùÓÐÓû§
£¨1£©ÔÚÖÕ¶ËÀï.ÆäʵֻÐèÒª²é¿´ /etc/passwdÎļþ¾ÍÐÐÁË.
£¨2£©¿´µÚÈý¸ö²ÎÊý:500ÒÔÉϵÄ,¾ÍÊǺóÃæ½¨µÄÓû§ÁË.ÆäËüÔòΪϵͳµÄÓû§.
»òÕßÓÃcat /etc/passwd |cut -f 1 -d :
2¡¢Óû§¹ÜÀíÃüÁî
useradd ×¢£ºÌí¼ÓÓû§
adduser ×¢£ºÌí¼ÓÓû§
passwd ×¢£ºÎªÓû§ÉèÖÃÃÜÂë
usermod ×¢£ºÐÞ¸ÄÓû§ÃüÁ ......

Linux ÖÐÎÄ×ÖÌåÂÒÂëÐÞ¸Ä i18n Îļþ

ÕâôÄã¾ÍÐèÒªÐÞ¸ÄÒ»ÏÂ×Ö·û±àÂëµÄÅäÖá£
# cd /etc/sysconfig
# vi i18n
-------------------ÎļþÄÚÈÝ------------------
LANG="zh_CN.GB18030"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en:zh_CN.GB18030"
SYSFONT="latarcyrheb-sun16"
-----------------------£ºqw ±£´æÍ ......

Linux»ã±àÓï·¨¿ª·¢

»ã±àÓïÑÔµÄÓŵãÊÇËٶȿ죬¿ÉÒÔÖ±½Ó¶ÔÓ²¼þ½øÐвÙ×÷£¬Õâ¶ÔÖîÈçͼÐδ¦ÀíµÈ¹Ø¼üÓ¦ÓÃÊǷdz£ÖØÒªµÄ¡£Linux ÊÇÒ»¸öÓà C ÓïÑÔ¿ª·¢µÄ²Ù×÷ϵͳ£¬ÕâʹµÃºÜ¶à³ÌÐòÔ±¿ªÊ¼Íü¼ÇÔÚ Linux Öл¹¿ÉÒÔÖ±½ÓʹÓûã±àÕâÒ»µ×²ãÓïÑÔÀ´ÓÅ»¯³ÌÐòµÄÐÔÄÜ¡£±¾ÎÄΪÄÇЩÔÚLinux ƽ̨Éϱàд»ã±à´úÂëµÄ³ÌÐòÔ±ÌṩָÄÏ£¬½éÉÜ Linux »ã±àÓïÑÔµÄÓï·¨¸ñʽºÍ¿ª·¢¹¤¾ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ