LinuxÏÂc¿ª·¢ Ö® Ïß³ÌͨÐÅ
1.Linux“Ï߳̔
½ø³ÌÓëÏß³ÌÖ®¼äÊÇÓÐÇø±ðµÄ£¬²»¹ýLinuxÄÚºËÖ»ÌṩÁËÇáÁ¿½ø³ÌµÄÖ§³Ö£¬Î´ÊµÏÖÏß³ÌÄ£ÐÍ¡£LinuxÊÇÒ»ÖÖ“¶à½ø³Ìµ¥Ï߳̔µÄ²Ù×÷ϵͳ¡£Linux±¾ÉíÖ»Óнø³ÌµÄ¸ÅÄ¶øÆäËùνµÄ“Ï߳̔±¾ÖÊÉÏÔÚÄÚºËÀïÈÔÈ»Êǽø³Ì¡£
´ó¼ÒÖªµÀ£¬½ø³ÌÊÇ×ÊÔ´·ÖÅäµÄµ¥Î»£¬Í¬Ò»½ø³ÌÖеĶà¸öÏ̹߳²Ïí¸Ã½ø³ÌµÄ×ÊÔ´£¨Èç×÷Ϊ¹²ÏíÄÚ´æµÄÈ«¾Ö±äÁ¿£©¡£LinuxÖÐËùνµÄ“Ïֻ߳̔ÊÇÔÚ±»´´½¨Ê±cloneÁ˸¸½ø³ÌµÄ×ÊÔ´£¬Òò´Ëclone³öÀ´µÄ½ø³Ì±íÏÖΪ“Ï߳̔£¬ÕâÒ»µãÒ»¶¨ÒªÅªÇå³þ¡£Òò´Ë£¬Linux“Ï߳̔Õâ¸ö¸ÅÄîÖ»ÓÐÔÚ´òðºÅµÄÇé¿öϲÅÊÇ×î׼ȷµÄ¡£
Ä¿Ç°LinuxÖÐ×îÁ÷ÐеÄÏ̻߳úÖÆΪLinuxThreads£¬Ëù²ÉÓõľÍÊÇỊ̈߳½ø³Ì“Ò»¶ÔÒ»”Ä£ÐÍ£¬µ÷¶È½»¸øºËÐÄ£¬¶øÔÚÓû§¼¶ÊµÏÖÒ»¸ö°üÀ¨ÐźŴ¦ÀíÔÚÄÚµÄÏ̹߳ÜÀí»úÖÆ¡£LinuxThreadsÓÉXavier Leroy (Xavier.Leroy@inria.fr)¸ºÔ𿪷¢Íê³É£¬²¢ÒÑ°ó¶¨ÔÚGLIBCÖз¢ÐУ¬ËüʵÏÖÁËÒ»ÖÖBiCapitalizedÃæÏòLinuxµÄPosix 1003.1c “pthread”±ê×¼½Ó¿Ú¡£Linuxthread¿ÉÒÔÖ§³ÖIntel¡¢Alpha¡¢MIPSµÈƽ̨ÉϵĶദÀíÆ÷ϵͳ¡£
¡¡¡¡°´ÕÕPOSIX 1003.1c ±ê×¼±àдµÄ³ÌÐòÓëLinuxthread ¿âÏàÁ´½Ó¼´¿ÉÖ§³ÖLinuxƽ̨ÉϵĶàỊ̈߳¬ÔÚ³ÌÐòÖÐÐè°üº¬Í·Îļþpthread. h£¬ÔÚ±àÒëÁ´½ÓʱʹÓÃÃüÁ
gcc -D -REENTRANT -lpthread xxx. c
¡¡¡¡ÆäÖÐ-REENTRANTºêʹµÃÏà¹Ø¿âº¯Êý(Èçstdio.h¡¢errno.hÖк¯Êý) ÊÇ¿ÉÖØÈëµÄ¡¢Ḭ̈߳²È«µÄ(thread-safe)£¬-lpthreadÔòÒâζ×ÅÁ´½Ó¿âĿ¼ÏµÄlibpthread.a»òlibpthread.soÎļþ¡£Ê¹ÓÃLinuxthread¿âÐèÒª2.0ÒÔÉÏ°æ±¾µÄLinuxÄں˼°ÏàÓ¦°æ±¾µÄC¿â(libc 5.2.18¡¢libc 5.4.12¡¢libc 6)¡£
2.“Ï߳̔¿ØÖÆ
¡¡¡¡Ï̴߳´½¨
¡¡¡¡½ø³Ì±»´´½¨Ê±£¬ÏµÍ³»áΪÆä´´½¨Ò»¸öÖ÷Ị̈߳¬¶øÒªÔÚ½ø³ÌÖд´½¨ÐµÄỊ̈߳¬Ôò¿ÉÒÔµ÷ÓÃpthread_create£º
pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *
(start_routine)(void*), void *arg);
¡¡¡¡start_routineΪÐÂÏ̵߳ÄÈë¿Úº¯Êý£¬argΪ´«µÝ¸østart_routineµÄ²ÎÊý¡£
¡¡¡¡Ã¿¸öÏ̶߳¼ÓÐ×Ô¼ºµÄÏß³ÌID£¬ÒÔ±ãÔÚ½ø³ÌÄÚÇø·Ö¡£Ïß³ÌIDÔÚpthread_createµ÷ÓÃʱ»Ø·µ¸ø´´½¨Ï̵߳ĵ÷ÓÃÕߣ»Ò»¸öÏß³ÌÒ²¿ÉÒÔÔÚ´´½¨ºóʹÓÃpthread_self()µ÷ÓûñÈ¡×Ô¼ºµÄÏß³ÌID£º
pthread_self (void) ;
¡¡¡¡Ïß³ÌÍ˳ö
¡¡
Ïà¹ØÎĵµ£º
¹ØÓÚCÓïÑÔÄÚ´æ·½ÃæµÄ»°ÌâÒªÕæ˵ÆðÀ´µÄ»°ÄÇ¿ÖžÍûͷÁË£¬ËùÒÔ±¾ÎĽö½öÊÇÒ»¸ödz̸¡£
¹ØÓÚÄÚ´æÎÊÌâ
²»Í¬Æ½Ì¨Ö®¼äÓÐÒ»¶¨µÄÇø±ð¡£±¾ÎÄËùÖ¸µÄƽ̨ÊÇx86µÄLinux
ƽ̨
ÓÃCÓïÑÔ×ö³ÌÐò£¨ÆäʵÆäËûÓïÑÔÒ²Ò»Ñù£©£¬²»½öÒªÊìϤÓï·¨£¬ÆäʵºÜ¶àÏà¹ØµÄ±³¾°ÖªÊ¶Ò²ºÜÖØÒª¡£ÔÚѧϰºÍÑо¿CÓïÑÔÖÐÄÚ´æ·ÖÅäµÄÎÊÌâÇ°£¬Ê×ÏÈÒªÁ˽âÒ»ÏÂLinux·ÖÅä¸ø ......
Ç°Ãæ½²ÁËʹÓà ioctl·¢ËÍHCI CommandµÄ·½·¨¡£µ«HCI protocol»¹ÓÐһЩCommand£¬±ÈÈçInquiryµÈ£¬ËûÃÇÔò²»ÐèҪʹÓÃioctlÀ´·¢ËÍ¡£blueZ Ö±½ÓÌṩÁËÖ§³Ö£¬ËäÈ»ËûÃǵÄ×îÖÕ¶¼ÊÇÓÃͬÑù°ì·¨ÊµÏֵġ£
ÔÚÓ¦ÓóÌÐòÖУº
hci_inquiry(dev_id, length, num_rsp, NULL, &info, flags);
ÕâÑùÐèÒª°üº¬blueZ Í·ÎļþÈçÏ£º
#include //BT ......
¸Õ¿ªÊ¼½Ó´¥Linux,ÄÇô¶àµÄ°æ±¾,Õæ²»ÖªµÀ¸ÃÓÃʲôÑùµÄºÃ.¿´ÁËÍøÉϵÄÆÀÂÛ,¶¼ËµUbuntnºÃ.ÏÂÁËÒ»¸ö,ÔÚÐéÄâ»úÉÏ×°Á˼¸±é.·¢ÏÖµÚÒ»´Î°²×°µÄʱºòºÜ¿ì,ÒÔºó¾Í×Ü¿¨ÔÚAptÅäÖÃÄÇ,²»ÖªµÀÊÇΪʲô.
ºóÀ´,·¢ÏÖºìÆìLinux.µ«ÍøÉϵÄÆÀÂÛ¸÷Òì,²»¹ýÎÒ»¹ÊÇÑ¡ÔñÁ˺ìÆì.û±ðµÄÔÒò,¾ÍÒòΪËýÊÇÖйúµÄ.
¶ÔÓÚûÓÐÒ»µãLINUX¾ÑéµÄ³õѧÕß,±¾ÈËÈÏΪ»¹Ê ......
ÆäʵlinuxµÄºº»¯£¬ºÜ¼òµ¥
½øÈëÄãµÄxpϵͳÅÌ£¬È»ºó½øÈëwindows£¬½«ÄãµÄfontsÎļþ¼ÐÈ«²¿¸´ÖƵ½uÅÌÖУ¬½øÈëlinux£¬Ñ°ÕÒÄãµÄlinux×ÖÌåÔÚÄÇÀȻºó°ÑfontsµÄÄÚÈÝÈ«²¿¸´ÖƽøÈ¥
Èç¹û²»ÖªµÀlinuxµÄ×ÖÌåÔÚÄÄ£¿°´Èçϲ½Ö裺
½øÈëÖÕ¶Ë
ÊäÈë“locate £ª.ttf”£¨Èç¹ûlocate£¬²»ÄÜÓã¬ÊäÈë“updatedb”£¬»Ø³µ£¬µ ......
## Á¬½Ó·ûÓë# ·û
¡¡¡¡## Á¬½Ó·ûºÅÓÉÁ½¸ö¾®ºÅ×é³É£¬Æ书ÄÜÊÇÔÚ´ø²ÎÊýµÄºê¶¨ÒåÖн«Á½¸ö×Ó´®(token)Áª½ÓÆðÀ´£¬´Ó¶øÐγÉÒ»¸öеÄ×Ó´®¡£µ«Ëü²»¿ÉÒÔÊǵÚÒ»¸ö»òÕß×îºóÒ»¸ö×Ó´®¡£ËùνµÄ×Ó´®(token)¾ÍÊÇÖ¸±àÒëÆ÷Äܹ»Ê¶±ðµÄ×îСÓï·¨µ¥Ôª¡£¾ßÌåµÄ¶¨ÒåÔÚ±àÒëÔÀíÀïÓÐÏ꾡µÄ½âÊÍ£¬µ«²»ÖªµÀÒ²ÎÞËùν¡£Í¬Ê±ÖµµÃ×¢ÒâµÄÊÇ#Á¬½Ó·ûÊÇ°Ñ´«µÝ¹ý ......