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

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 bs=1024k count=130 ת»»ºÍ¿½±´Îļþ£¬´ÓÊäÈëifµÄÔ´ÍùofµÄÄ¿µÄµØÖ·¿½±´£¬Ã¿¸öblock1024k£¬Ò»¹²¿½±´130¸ö¡£]
·Ö±ðÓÃfread,readºÍfgetsÒ»´Î¶ÁÈëÈ«²¿´óСÎļþËùÏûºÄʱ¼ä¶Ô±È,ÆäÖÐ
size=130*1024*1024
char *buf=new char[size];
ÏÂÃæÊDzâÊÔ½á¹û(»úÆ÷Intel(R) Pentium(R) 4 CPU 3.20GHz, Mem 1G):
1.fread(buf,size,1,fp)Ò»´Î¶ÁÈë
real    0m0.187s
user    0m0.000s
sys     0m0.180s
2.read(fdin,(void *)buf,size)Ò»´Î¶ÁÈë
real    0m0.187s
user    0m0.000s
sys     0m0.184s
3.¶à´Îfgets(buf,size,fp),ÿ´Î1k
real    0m0.356s
user    0m0.136s
sys     0m0.220s
4.fgets(buf,size,fp)Ò»´Î¶ÁÈë
real    0m0.305s
user    0m0.072s
sys     0m0.232s
ÉÏÃæ¿´µ½Ô½¼òµ¥µÄº¯Êý(read()ºÍfread())£¬ËÙ¶ÈÔ½¿ì£¬ÆäËûµÄÊäÈë·â×°º¯ÊýÖ»²»¹ýÊÇΪÁË·½±ãÂú×ãÌØÊâÐèÒª£¬²¢²»¼ûµÃ¶ÁµÄËÙ¶È»áºÜ¿ì¡£¶ÔÓÚ3ºÍ 4,ÒòΪÔÚsys_read()ÄÚ²¿ÓжԶÁÈë´óСµÄÅжϺÍwhileÑ­»·£¬ËùÒÔ´óÎļþ¶ÁȡҲû±ØÒªÏñ3ÄÇÑù·Ö¶à´Îµ÷ÓÃfgets()À´¶ÁÎļþ.
ÁíÍâÓÃmmap()ÄÚ´æÓ³ÉäÀ´¶ÁÈëÎļþµÄʱ¼äÈçÏÂ:
real    0m0.231s
user    0m0.068s
sys     0m0.164s
Ò²²¢Ã»ÓбÈÖ±½Óread()¿ì£¬ÍøÉÏÕÒµ½Ò»ÖÖ½âÊÍÊǶÔÓÚÐèҪƵ·±¶Áд²Ù×÷µÄ£¬mmapЧÂʲŻáÏÔÖøÌá¸ß¡£ÏÂÃæÀ´Ä£ÄâÆµ·±¶Áд²Ù×÷¡£
¶þ. ÎļþƵ·±¶ÁдËٶȲâÊÔ
1. ÕâÒ»¸ö²âÊÔÄ£ÄâÆµ·±Îļþ¶Áд²Ù×÷£¬500M´óСµÄÊý¾ÝÎļþdata.in£¬Ã¿´Î´ÓÖжÁÈë1k¸ö×Ö½Ú¶Ôÿ¸ö×Ö½Ú×ö¼Ó1¼òµ¥¼ÆË㣬ÔÙдµ½ÁíÒ»¸öÎļþdata.outÖС£
//mmapx1.c
#define size 1024*1024*500
#define LEN 1024
#include <stdio.h>
int main()
{
    FILE *fp1,*fp2;
    char *buf=new char[LEN];
    int i,j;
&nb


Ïà¹ØÎĵµ£º

ʵս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 Bluetooth±à³Ì (Æß) SDPЭÒé

Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖЭÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀЭÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......

Éî¿ÌÀí½âLinux½ø³Ì¼äͨÐÅ£¨IPC£©


Éî¿ÌÀí½âLinux½ø³Ì¼äͨÐÅ£¨IPC£©
ÎĵµÑ¡Ïî
<tr
valign="top"><td width="8"><img alt="" height="1" width="8"
src="//www.ibm.com/i/c.gif"/></td><td width="16"><img alt="" width="16&q ......

LinuxÖÐALIGNºêµÄÔ­Àí

1. Òý×Ó
int a;  
int size = 8;
   
Èç¹ûÈÃaΪ(size =8)µÄÕûÊý±¶±íʾ³É¶þ½øÖÆÓ¦ÊÇʲôÑù×ÓÄØ£¿ÄǾÍÊÇÈÃÕâ¸öÊý±íʾ³É¶þ½øÖÆÊ±µÄ×îºóÈýλΪ0.
¶øÒª´ïµ½ÕâһĿ±ê£¬Ö»ÒªÏÂÃæÕâ¸öÊýÓëËü½øÐÐÓëÔËËã¾Í¿ÉÒÔÁË:
  11111111 11111111 11111111 11111000  
¶øÉÏÃæÕâ¸öÊýʵ¼ÊϾÍÊ ......

Linux±³ºóµÄÈË

1. LinusºÍBill
ËÆºõÔÚÒ»Ò¹Ö®¼ä£¬Õâ¸öÃû×ÖͻȻ±äµÃͬÏó±È¶û¡£¸Ç´ÄÒ»ÑùµÄ¶úÊìÄÜÏê¡£µ«ÊDZȶû¡£¸Ç´Ä£¬
ÄÄÅÂÉí¼ÛÓÐÊý²»Çå±¶µÄ°ÙÍòÃÀ½ð£¬Ò²ÓÀÔ¶²»»á±ä³ÉLinux Torvalds¡£Õâλ29ËêµÄ·ÒÀ¼ÈË£¬
¼òµ¥¶øÇ¿´óµÄLinux²Ù×÷ϵͳµÄ´´ÔìÕߣ¬³¬Ô½Á˸ǴĵÄÉñ»°¡£Ò²Óд«ÎÅ˵¸Ç´ÄÊÇÒ»¸ö
׿ԽµÄ³ÌÐòÔ±£¬µ«LinusÊÇ»õÕæ¼ÛʵµÄ¸ßÊÖ¡£»¹ÔÚ´óѧÀï ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ