LinuxϵĹܵÀ±à³Ì¼¼Êõ dupº¯ÊýºÍdup2º¯Êý
dupºÍdup2Ò²ÊÇÁ½¸ö·Ç³£ÓÐÓõĵ÷Óã¬ËüÃǵÄ×÷Óö¼ÊÇÓÃÀ´¸´ÖÆÒ»¸öÎļþµÄÃèÊö·û¡£ËüÃǾ³£ÓÃÀ´Öض¨Ïò½ø³ÌµÄstdin¡¢stdoutºÍstderr¡£ÕâÁ½¸öº¯ÊýµÄ ÔÐÎÈçÏ£º
#include <unistd.h>
int dup( int oldfd );
int dup2( int oldfd, int targetfd )
ÀûÓú¯Êýdup£¬ÎÒÃÇ¿ÉÒÔ¸´ÖÆÒ»¸öÃèÊö·û¡£´«¸ø¸Ãº¯ÊýÒ»¸ö¼ÈÓеÄÃèÊö·û£¬Ëü¾Í»á·µ»ØÒ»¸öеÄÃèÊö·û£¬Õâ¸öеÄÃèÊö·ûÊÇ´«¸øËüµÄÃèÊö·ûµÄ¿½±´¡£ÕâÒâζ×Å£¬ÕâÁ½¸öÃèÊö·û¹²Ïíͬһ¸öÊý¾Ý½á¹¹
¡£ÀýÈ磬Èç¹ûÎÒÃǶÔÒ»¸öÎļþÃèÊö·ûÖ´ÐÐlseek²Ù×÷£¬µÃµ½µÄµÚÒ»¸öÎļþµÄλÖú͵ڶþ¸öÊÇÒ»ÑùµÄ¡£ÏÂÃæÊÇÓÃÀ´ËµÃ÷dupº¯ÊýʹÓ÷½·¨µÄ´úÂëÆ¬¶Î£º
int fd1, fd2;
...
fd2 = dup( fd1 );
ÐèҪעÒâµÄÊÇ£¬ÎÒÃÇ¿ÉÒÔÔÚµ÷ÓÃfork֮ǰ½¨Á¢Ò»¸öÃèÊö·û£¬ÕâÓëµ÷ÓÃdup½¨Á¢ÃèÊö·ûµÄЧ¹ûÊÇÒ»ÑùµÄ£¬×Ó½ø³ÌҲͬÑù»áÊÕµ½Ò»¸ö¸´ÖƳöÀ´µÄÃèÊö·û¡£
dup2º¯Êý¸údupº¯ÊýÏàËÆ£¬µ«dup2º¯ÊýÔÊÐíµ÷ÓÃÕ߹涨һ¸öÓÐЧÃèÊö·ûºÍÄ¿±êÃèÊö·ûµÄid¡£dup2º¯Êý³É¹¦·µ»ØÊ±£¬Ä¿±êÃèÊö·û£¨dup2º¯ÊýµÄµÚ
¶þ¸ö²ÎÊý£©½«±ä³ÉÔ´ÃèÊö·û£¨dup2º¯ÊýµÄµÚÒ»¸ö²ÎÊý£©µÄ¸´ÖÆÆ·£¬»»¾ä»°Ëµ£¬Á½¸öÎļþÃèÊö·ûÏÖÔÚ¶¼Ö¸Ïòͬһ¸öÎļþ£¬²¢ÇÒÊǺ¯ÊýµÚÒ»¸ö²ÎÊýÖ¸ÏòµÄÎļþ¡£ÏÂÃæ
ÎÒÃÇÓÃÒ»¶Î´úÂë¼ÓÒÔ˵Ã÷£º
int oldfd;
oldfd = open("app_log", (O_RDWR | O_CREATE), 0644 );
dup2( oldfd, 1 );
close( oldfd );
±¾ÀýÖУ¬ÎÒÃÇ´ò¿ªÁËÒ»¸öÐÂÎļþ£¬³ÆÎª“app_log”£¬²¢ÊÕµ½Ò»¸öÎļþÃèÊö·û£¬¸ÃÃèÊö·û½Ð×öfd1¡£ÎÒÃǵ÷ÓÃdup2º¯Êý£¬²ÎÊýΪoldfdºÍ1£¬Õâ»á
µ¼ÖÂÓÃÎÒÃÇдò¿ªµÄÎļþÃèÊö·ûÌæ»»µôÓÉ1´ú±íµÄÎļþÃèÊö·û£¨¼´stdout£¬ÒòΪ±ê×¼Êä³öÎļþµÄidΪ1£©¡£ÈκÎдµ½stdoutµÄ¶«Î÷£¬ÏÖÔÚ¶¼½«¸ÄΪд
ÈëÃûΪ“app_log”µÄÎļþÖС£ÐèҪעÒâµÄÊÇ£¬dup2º¯ÊýÔÚ¸´ÖÆÁËoldfdÖ®ºó£¬»áÁ¢¼´½«Æä¹Ø±Õ£¬µ«²»»á¹Øµôнü´ò¿ªµÄÎļþÃèÊö·û£¬ÒòΪÎļþÃèÊö
·û1ÏÖÔÚÒ²Ö¸ÏòËü¡£
ÏÂÃæÎÒÃǽéÉÜÒ»¸ö¸ü¼ÓÉîÈëµÄʾÀý´úÂë¡£»ØÒäһϱ¾ÎÄÇ°Ãæ½²µÄÃüÁîÐйܵÀ£¬ÔÚÄÇÀÎÒÃǽ«ls –1ÃüÁîµÄ±ê×¼Êä³ö×÷Ϊ±ê×¼ÊäÈëÁ¬½Óµ½wc –lÃüÁî¡£½ÓÏÂÀ´£¬ÎÒÃǾÍÓÃÒ»¸öC³ÌÐòÀ´¼ÓÒÔ˵Ã÷Õâ¸ö¹ý³ÌµÄʵÏÖ¡£´úÂëÈçÏÂÃæµÄʾÀý´úÂë3Ëùʾ¡£
ÔÚʾÀý´úÂë3ÖУ¬Ê×ÏÈÔÚµÚ9ÐдúÂëÖн¨Á¢Ò»¸ö¹ÜµÀ£¬È»ºó½«Ó¦ÓóÌÐò·Ö³ÉÁ½¸ö½ø³Ì£ºÒ»¸ö×Ó½
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
/lib/
— °üº¬Ðí¶à±» /bin/ ºÍ /sbin/ ÖеijÌÐòʹÓõĿâÎļþ¡£Ä¿Â¼ /usr/lib/ Öк¬Óиü¶àÓÃÓÚÓû§³ÌÐòµÄ¿âÎļþ¡£
/libĿ¼Ï·ÅÖõÄÊÇ/binºÍ/sbinĿ¼Ï³ÌÐòËùÐèµÄ¿âÎļþ¡£/libĿ¼ÏµÄÎļþµÄÃû³Æ×ñÑÏÂÃæµÄ¸ñʽ£º
libc.so.*
ld*
½ö½ö±»/usrĿ¼ÏµijÌÐòËùʹÓõĹ²Ïí¿â²»±Ø·Åµ½/libĿ¼Ï¡£Ö»ÓÐ/binºÍ/sbin ......
´ÓÓû§´ò¿ªµçÔ´µ½Óû§¿ÉÒԵǼµÄÕâ¶Ì¶ÌµÄÒ»¶Îʱ¼äÄÚ£¬Red Hat Enterprise Linuxµ½µ×¶¼×÷ÁËÄÄЩÊÂÇ飬ֻÓÐÖªµÀÁËÕâЩÊÂÇ飬Óû§ÔÚÒÔºóµÄʹÓùý³ÌÖУ¬Èç¹û³öÏÖÁËһЩÎÊÌ⣬ÎÒÃÇ¿ÉÒÔ½èÖúÕâЩ¹ý³ÌÀ´ÎªÎÒÃÇÅųýһЩ¹ÊÕÏ¡£
Red Hat Enterprise LinuxÔÚµçÄÔµÄÆô¶¯½×¶Î£¬Ò»¹²¾ÀúÒÔÏÂÁ½¸ö½×¶Î£¬Èçͼ1£º
BIOS×Ô¼ì
µ±µçÄÔ¿ª»úµÄʱº ......
KscopeÊÇLinuxϵÄÒ»¿îÀàËÆÓÚSourceInsight¹¤¾ß£¬ÏÂÃæ½«Æä°²×°¹ý³Ì×ܽáÈçÏ£º
1.ÏÈÏÂÔØkscope
kscope×îа²×°°æ±¾kscope-1.6.2.tar.gz
http://download.chinaunix.net/download/0006000/5469.shtml
°´ÕÕ˵Ã÷#./configure
#make
&nb ......