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

linuxÄÚºË(2.6)ÖеÄ˫ѭ»·Á´±ídzÎö

       Linux 2.6ÄÚºËÁ´±íÊý¾Ý½á¹¹µÄʵÏÖ
ÔÚ¼ÆËã»ú¿ÆÑ§ÖУ¬Á´±íÊǷdz£Í¨ÓõÄÊý¾Ý½á¹¹£¬¹á´©ÓÚÕû¸ölinuxµÄÄںˡ£ÔÚlinuxÄÚºËÖУ¬Á´±íͨ³£ÒÔ
˫ѭ»·Á´±íµÄ·½Ê½³öÏÖ¡£ËùÓÐÁ´±íµÄ´úÂëÔÚinclude/linux/list.hÎļþÖС£
¶¨ÒåÈçÏ£º
struct list_head {
struct list_head *next, *prev;
};
ÕâÀïµÄlist_headûÓÐÊý¾ÝÓò¡£ÔÚLinuxÄÚºËÁ´±íÖУ¬²»ÊÇÔÚÁ´±í½á¹¹Öаüº¬Êý¾Ý£¬¶øÊÇÔÚÊý¾Ý½á¹¹Öаüº¬Á´±í¡£
list.h»¹¶¨ÒåÁËÐí¶àʹÓõĺêºÍÄÚÁªº¯Êý£¬ÏÂÃæ½éÉܼ¸¸öµäÐ͵ģº
#define LIST_HEAD_INIT(name) { &(name), &(name) }
#define LIST_HEAD(name) \
struct list_head name = LIST_HEAD_INIT(name)
static inline void INIT_LIST_HEAD(struct list_head *list)
{
list->next = list;
list->prev = list;
}

ÔÚlinuxµÄºê¶¨ÒåÖУ¬Ê±³£Óõ½do{}while(0)£¬ÕâÊÇΪÁË·½±ãÔٺ궨ÒåÖаüº¬¶àÐдúÂ룬
¹ØÓÚÕâ¸öµÄ˵Ã÷ÔÚÍøÉÏ¿ÉÒÔÕÒµ½ºÜ¶àÏêϸµÄ½éÉÜ¡£
ÔÚºêINIT_LIST_HEADÖУ¬½«Ëü³õʼ»¯ÎªÇ°ºó¶¼Ö¸Ïò×Ô¼º
ÔÚlinuxÄں˵ÄÁ´±íÖУ¬Ò»¸ö¿ÕÁ´±í¶¨ÒåÈçÏ£º head->nextÖ¸ÏòÁ´±íµÄÍ·ÔªËØ¡£
list.hÖл¹¶¨ÒåÁË list_add() £¬ list_add_tail()£¬list_del()µÈ»ù±¾µÄÁ´±í²Ù×÷º¯Êý£¬¶¼ÊDZȽϼòµ¥µÄ
CÓïÑÔÕâÀï²»ÏêÊö¡£
 
ÔÚlist.hÖм«ÆäÓÐÓõÄÒ»¸öºêÊÇlist_for_each_entry
#define list_for_each_entry(pos, head, member) \
for (pos = list_entry((head)->next, typeof(*pos), member); \
prefetch(pos->member.next), &pos->member != (head); \
pos = list_entry(pos->member.next, typeof(*pos), member))
Ëü¿ÉÒÔ±éÀúÕû¸öÁ´±í£¬ÔÚlinuxÓõķdz£¹ã·º£¬ÀýÈçµ±CPU¿ªÊ¼¹¤×÷ʱ£¬¼¤»îÔÚ¹¤×÷¶ÓÁÐÖеÄÿ¸ö½ø³Ì
-----------------------------------------------------------------------------
kernel/workqueue.c
59 struct workqueue_struct {
60   struct cpu_workqueue_struct cpu_wq[NR_CPUS];
61   const char *name;
62   struct list_head list; /* Empty if single thread */
63 };
  ...
466   case CPU_ONLINE:
467     /* Kick off worker threads. */
468     list_for_each_entry(wq, &workqueues, list)
469     &nb


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨ËÄ£© L2CAP²ã±à³Ì

£¨L2CAPЭÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPЭÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼­Á¬½Ó¿ØÖƺÍÊÊÅäЭÒé (L2CAP) ΪÉϲãЭÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àЭÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãЭÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......

LinuxÉ豸ģÐÍÖ®input×ÓϵͳÏê½â

Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......

linux ¿âµÄÀí½â

 
Ò».¿âµÄ·ÖÀà
    ÓÐÁ½ÖÖ˵·¨£¬Èç¹ûÊìϤWINƽ̨ϵÄDLL£¬ÏàÐŲ»ÄÑÀí½â£º
   
¿â¿ÉÒÔÓÐÈýÖÖʹÓõÄÐÎʽ£º¾²Ì¬¡¢¹²ÏíºÍ¶¯Ì¬¡£¾²Ì¬¿âµÄ´úÂëÔÚ±àÒëʱ¾ÍÒÑÁ¬½Óµ½¿ª·¢ÈËÔ±¿ª·¢µÄÓ¦ÓóÌÐòÖУ¬¶ø¹²Ïí¿âÖ»ÊÇÔÚ³ÌÐò¿ªÊ¼ÔËÐÐʱ²ÅÔØÈ룬ÔÚ±àÒëʱ£¬
Ö»ÊǼòµ¥µØÖ¸¶¨ÐèҪʹÓõĿ⺯Êý¡£¶¯Ì¬¿âÔòÊÇ ......

С¼ÇVMWareϸølinuxÌí¼ÓÐÂÓ²ÅÌ£¨±¸Íü£©

֮ǰÔÚVMWareÏÂ×°µÄlinuxϵͳµÄ¿ÉÓÃÓ²Å̿ռäÔ½À´Ô½ÉÙ£¬ÒѾ­ÑÏÖØÓ°ÏìÕý³£µÄʹÓÃÁË£¬ÓÚÊǾ͸øËüÔÚVMWareϼÓÁË¿éÓ²ÅÌ£¬²½ÖèÈçÏ£º 1¡¢Í¨¹ýVMWare¸ølinuxϵͳÌí¼ÓÒ»¸öÐÂÓ²ÅÌ 2¡¢ÖØÆôlinuxϵͳ£¬¼üÈë fdisk –l ÃüÁî²é¿´ÐÂÔöÓ²Å̵ÄÅÌ·û£¨Í¨³£»áÓÐ ¡°doesn't contain a valid partion table¡±µÄÌáʾÐÅÏ¢£©£¬¼ÙÉèΪ /dev/s ......

linuxϰ²×°gd¿â²¢ÇÒÖ§³Ösocket

Ò»¡¢ÏÂÔØ
gd-2.0.33.tar.gz http://www.boutell.com/gd/
jpegsrc.v6b.tar.gz http://www.ijg.org/
libpng-1.2.7.tar.tar http://sourceforge.net/projects/libpng/
zlib-1.2.2.tar.gz http://sourceforge.net/projects/zlib/
freetype-2.1.9.tar.gz http://sourceforge.net/projects/freetype/
php-4.3.9.tar.g ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ