LinuxÄÚºËÊý¾Ý½á¹¹
1.1.Á´±ílist_head
include/linux/list.h
ºÜ¾µä£¬Á´±íÔÚÄÚºËÖкܳ£Óã¬ÀýÈç¹ÜÀí½ø³Ì£¬½ø³ÌµÄ¸÷¸ö״̬¶ÓÁж¼ÊÇʹÓÃÕâ¸öË«ÏòÁ´±íʵÏֵġ£ÄÚºËÖеÄÁ´±í¶¨Òå³ÉºÍÊý¾ÝÎ޹صÄÐÎʽ£¬¶ø²»ÊÇͨ³£ÎÒÃÇʹÓõÄÁ´±í¸ñʽ£¬ÀýÈç
typedef struct _list{
Elemtype elem;
struct _list *next;
}list;
ÄÚºËÖеÄÁ´±í¶¨ÒåΪ
struct list_head{
struct list_head *next, *prev;
};
¿É¼û£¬Õâ¸öÁ´±í½ÚµãÖв»°üº¬ÈκÎÊý¾Ý£¬Ö»ÓÐÁ½¸öÖ¸Õë¡£µ±ÐèҪʹÓÃÁ´±íÀ´×éÖ¯Êý¾Ý½á¹¹Ê±£¬Õâ¸ö½á¹¹ÖоͰüº¬Ò»¸ölist_head³ÉÔ±£¬ÀýÈç
struct _list_struct{
Elemtype elem;
struct list_head list;
...
};
ÏÔ¶øÒ×¼û£¬Á´±íʵÏֳɺÍÊý¾Ý·ÖÀëµÄºÃ´¦ÊÇ£¬²»ÓÃΪÿÖÖÊý¾Ý¶¼¶¨ÒåÁ´±í²Ù×÷£¬¿ÉÒÔʹÓÃͳһµÄÁ´±í²Ù×÷¼´¿É¡£µ«ÊÇÎÊÌâÊÇ£ºÖ»ÖªµÀÊý¾Ý³ÉÔ±listµÄµØÖ·£¬ÔõÑùÈ¥·ÃÎÊ×ÔÉíÒÔ¼°ÆäËû³ÉÔ±ÄØ£¿
#define list_entry(ptr,type,member) \
container_of(ptr,type,member)
¶øcontainer_of(ptr,type,member)ºê¶¨ÒåÔÚinclude/list/kernel.hÖÐ
#define container_of(ptr,type,member) ({
const typeof( ((type *)0)->member) *__ptr=ptr;
(type *)( (char *)__ptr - offsetof(type,member));})
ÉÏÃæµÄºêÓм¸µãÐèÒª½âÊÍ£º
1£©typeof(type) ºê
typeof(type) ºê·µ»Ø±äÁ¿typeµÄÀàÐÍ£¬ÀýÈ磺int a; typeof(a) b;µÈ¼ÛÓÚint b;
2£©offsetof(type,member)ºê
Ëü¶¨ÒåÔÚinclude/linx/stddef.hÖУ¬ÈçÏ£º
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
Õâ¸öºê·µ»ØmemberÔÚtypeÀàÐÍÖÐµÄÆ«ÒÆÁ¿£¬typeÊÇÒ»¸ö½á¹¹£¬ÀýÈ磺
typeof(list_head,next);·µ»Ø0£¬Ò²¾ÍÊÇ·µ»ØÏà¶ÔÓڽṹÆðʼµØÖ·µÄÆ«ÒÆÁ¿¡£
3£©ÎªÊ²Ã´ÒªÊ¹ÓÃtypeof(((type *)0)->member)À´¶¨ÒåÖ¸Õë __ptr£¬¶ø²»ÊÇÕâÑù£º
const typeof(member) *__ptr=ptr;£¿
Æäʵ£¬Õâ¸öºÜ¼òµ¥£¬ÒòΪmemberÊǽṹµÄ³ÉÔ±£¬Ö»ÄÜͨ¹ý½á¹¹À´·ÃÎÊ£¡
4£©·ÃÎÊÊý¾Ý
ÔÚÎļþinclude/linux/list.hÖУ¬ÓзÃÎÊÁ´±íÊý¾ÝµÄ´úÂë
#define list_for_each_entry(pos, h
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
apache-tomactµÄ°²×°
Ò».JDKµÄ°²×°
1. ÏÈ´ÓÍøÉÏÏÂÔØjdk(jdk-1_5_0-linux-i586.rpm) £¬ÍƼöSUNµÄ¹Ù·½ÍøÕ¾http://www.sun.com/£¬ÏÂÔØºó·ÅÔÚ/homeĿ¼ÖУ¨¿ÉÒÔʹÓÃwinscpÈí¼þÊ©ÐÐÉÏ´«£©£¬µ±È»ÆäËüµØ·½Ò²ÐС£
½øÈ밲װĿ¼
#cd /home
#cp jdk-1_5_0_-linux-i586.rpm.bin /usr/local £¨¿½±´ÃüÁ
#cd /usr/lo ......
df ÊÇÀ´×ÔÓÚcoreutils Èí¼þ°ü£¬ÏµÍ³°²×°Ê±£¬¾Í×Ô´øµÄ£»ÎÒÃÇͨ¹ýÕâ¸öÃüÁî¿ÉÒԲ鿴´ÅÅ̵ÄʹÓÃÇé¿öÒÔ¼°Îļþϵͳ±»¹ÒÔØµÄλÖá£
¾ÙÀý£º
[root@localhost beinan]# df -lh
Filesystem ÈÝÁ¿ ÒÑÓà ¿ÉÓà ÒÑÓÃ% ¹ÒÔØµã
/dev/hda8 11G 6.0G 4.4G 58% /
/dev/shm 236M 0 236M 0% /dev/shm
/dev/sda1 56G 22G 35G 39% /mnt/sda1
......