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µÈÐÒé ......
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
ÈÕÖ¾¶ÔÓÚ°²È«À´Ëµ£¬·Ç³£ÖØÒª£¬Ëû¼Ç¼ÁËϵͳÿÌì·¢ÉúµÄ¸÷ÖÖ¸÷ÑùµÄÊÂÇ飬Äã¿ÉÒÔͨ¹ýËûÀ´¼ì²é´íÎó·¢ÉúµÄÔÒò£¬»òÕßÊܵ½¹¥»÷ʱ¹¥»÷ÕßÁôϵĺۼ£¡£ÈÕÖ¾Ö÷ÒªµÄ¹¦ÄÜÓУºÉó¼ÆºÍ¼à²â¡£Ëû»¹¿ÉÒÔʵʱµÄ¼à²âϵͳ״̬£¬¼à²âºÍ×·×ÙÇÖÈëÕߵȵȡ£
¡¡¡¡ÔÚLinuxϵͳÖУ¬ÓÐÈý¸öÖ÷ÒªµÄÈÕÖ¾×Óϵͳ£º
¡¡¡¡Á¬½Óʱ¼äÈÕÖ¾--Óɶà¸ö³ÌÐòÖ´ÐУ¬°Ñ¼ ......
ÀûÓÃsocket±àдwindowsºÍlinuxͨѶ³ÌÐò
socket±à³Ì´ó¼Ò¶¼ºÜÊìϤ£¬ÎÒÔÚÕâÀï¾Í²»ÔÙÂÞàÂÁË¡£Ö±½ÓÇÐÈëÕýÌâ¡£¸Ã³ÌÐò·ÖÁ½²¿·Ö£¬server¶ËºÍclient¶Ë£¨Ë¶¼ÖªµÀ£©¡£ÆäÖÐserver¶Ë²ÉÓÃwindowsƽ̨£¬ÄÇlinuxƽ̨µ±È»ÊÇclient¶ËÁË¡£
ÕâÀïÊÇserver¶Ë³ÌÐò£º
/**********************************/
/* it work ......
KscopeÊÇLinuxϵÄÒ»¿îÀàËÆÓÚSourceInsight¹¤¾ß£¬ÏÂÃæ½«Æä°²×°¹ý³Ì×ܽáÈçÏ£º
1.ÏÈÏÂÔØkscope
kscope×îа²×°°æ±¾kscope-1.6.2.tar.gz
http://download.chinaunix.net/download/0006000/5469.shtml
°´ÕÕ˵Ã÷#./configure
#make
&nb ......