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

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 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¶ÁдÎļþËٶȲâÊÔ

Ò». ÎļþÒ»´Î¶ÁÈëËÙ¶È
linux϶ÁÎļþÕâ¶«Î÷×îºó¶¼ÊÇҪͨ¹ýϵͳµ÷ÓÃsys_read(fd,buf,count)À´ÊµÏֵģ¬ËùÒÔÈç¹ûÒªÌá¸ßËÙ¶È£¬¾ÍÊÇ×î¼òµ¥µØµ÷ÓÃsys_readµÄ·â×°£¬±ÈÈçÖ±½ÓÓÃread()»òfread()¡£ÏÂÃæÊÇÎÒÔÚlinuxÏµļ¸¸ö²âÊÔ¡£
Ê×ÏÈ´´½¨Ò»¸ö130MÊý¾ÝÎļþ dd if=/dev/zero of=data bs=1024k count=130
[dd if=/dev/zero of=data b ......

linuxϵͳ±à³Ì´úÂë1

#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/sysmacros.h>
#include <time.h>
#include <unistd.h>
#define TIME_STRING_BUF 50
char * timestring(time_t t,char *buf)
 {
   struct tm *local; ......

ÉîÈëÀí½âlinuxϵͳµ÷ÓÃÓëʹÓÃÖ®ÕûÀíÆª

ÉîÈëÀí½âlinuxϵͳµ÷ÓÃÓëʹÓÃÖ®ÕûÀíÆª
Ò»¡¢ ʲôÊÇϵͳµ÷ÓÃ
      ÔÚLinuxµÄÊÀ½çÀÎÒÃǾ­³£»áÓöµ½ÏµÍ³µ÷ÓÃÕâÒ»ÊõÓËùνϵͳµ÷Ó㬾ÍÊÇÄÚºËÌṩµÄ¡¢¹¦ÄÜÊ®·ÖÇ¿´óµÄһϵÁеĺ¯Êý¡£ÕâЩϵͳµ÷ÓÃÊÇÔÚÄÚºËÖÐʵÏֵģ¬ÔÙͨ¹ýÒ»¶¨µÄ·½Ê½°Ñϵͳµ÷ÓøøÓû§£¬Ò»°ã¶¼Í¨¹ýÃÅ(gate)ÏÝÈë(trap)ʵÏÖ¡£ÏµÍ³µ ......

[zz]ÔÚ linux ÏÂʹÓà CMake ¹¹½¨Ó¦ÓóÌÐò

Ô­ÎĵØÖ·£ºhttp://www.ibm.com/developerworks/cn/linux/l-cn-cmake/index.html
±¾ÎĽéÉÜÁËÒ»¸ö¿çƽ̨µÄ×Ô¶¯»¯¹¹½¨ÏµÍ³ CMake ÔÚ linux ÉϵÄʹÓ÷½·¨¡£ CMake ÊÇÒ»¸ö±È automake ¸ü¼ÓÈÝÒ×ʹÓõŤ¾ß£¬Äܹ»Ê¹³ÌÐòÔ±´Ó¸´ÔӵıàÒëÁ¬½Ó¹ý³ÌÖнâÍѳöÀ´¡£ÎÄÖÐͨ¹ýһЩÀý×Ó½éÉÜʹÓà CMake ´¦Àí¶àÔ´ÎļþĿ¼µÄ·½·¨¡¢²éÕÒ²¢Ê¹ÓÃÆäËû ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ