LinuxÏÂCºÍC++¿ª·¢»ù´¡
LinuxÏÂCºÍC++¿ª·¢»ù´¡
»ù±¾±à³Ì¸ÅÄî
n ±à³ÌÓïÑÔ£ºC ¡¢C++
n ±àÒë(compile)£ºÔ´Îļþ£¨.c£©->Ä¿±êÎļþ(.o)
n Á¬½Ó(link)£ºÄ¿±êÎļþ(.o)->¿ÉÖ´ÐÐÎļþ
n ¿â(library)£º¾²Ì¬Á¬½Ó¿â(.a)¡¢¶¯Ì¬Á¬½Ó¿â(.so)
LinuxÏ¿ª·¢¹¤¾ß
n±à¼Æ÷£ºvi¡¢emacs¡¢´°¿Ú±à¼Æ÷
n±àÒëÆ÷£ºGCC
nµ÷ÊÔÆ÷£ºGDB
n¿ÉÖ´ÐÐÎļþ¹¤¾ß£ºBinutils
nÁ¬½ÓÆ÷£ºld
n»ã±à³ÌÐò£ºas
n¿â¹ÜÀí¹¤¾ß£ºar
n¿ÉÖ´ÐÐÎļþ·ûºÅ¹ÜÀí£ºnm
nÏÔʾ¿ÉÖ´ÐÐÎļþÐÅÏ¢£ºobjdump
¼òµ¥³ÌÐòʾÀý(CÓïÑÔ)£º
n hello.c
/***************************
C´úÂë
££i nclude <stdio.h>
int main(int argc,char **argv)
{
printf("HelloWorld!\n");
return 0;
}
/***************************
n±àÒë·½·¨£ºgcc –o hello hello.c
nÔËÐз½·¨£º./hello
¼òµ¥³ÌÐòʾÀý(C++ÓïÑÔ)£º
££i nclude <stdio.h>
int main(int argc,char **argv)
{
printf("HelloWorld!\n");
return 0;
}
/***************************
n±àÒë·½·¨£ºgcc –o hello hello.c
nÔËÐз½·¨£º./hello
¼òµ¥³ÌÐòʾÀý(C++ÓïÑÔ)£º
n hello.cpp
/*******************************
C´úÂë
££i nclude <iostream>
using namespace std;
int main(int argc,char **argv)
{
cout << "Hello World!“ << endl;
return 0;
}
££i nclude <iostream>
using namespace std;
int main(int argc,char **argv)
{
cout << "Hello World!“ << endl;
return 0;
}
/*******************************
n ±àÒë·½·¨£ºg++ –o hello hello.cpp
n ÔËÐз½·¨£º./hello
GCC±àÒëÆ÷
n GNUƽ̨ÏÂÖ÷Á÷±àÒëÆ÷
nĿǰ×îÐÂÎȶ¨°æ4.0
n¹Ù·½ÍøÕ¾£ºhttp://gcc.gnu.org
nÖ§³Ö±àÒëÓïÑÔ£ºC¡¢C++¡¢Objective-C¡¢
Objective-C++¡¢Java¡¢Fortran¡¢Ada
n¿çƽ̨֧³Ö£ºÖ§³Ö¼¸ºõËùÓÐÖ÷Á÷²Ù×÷ϵͳ£¬Èç
Linux¡¢UNIX¡¢WindowsµÈ¡£Ö§³Ö¶àÖÖÓ²¼þƽ
̨£¬ÈçX86¡¢ARM¡¢PPC¡¢MIPSµÈ
n½»²æ±àÒë
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ 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 ......
×î½ü±¾À´ÊÇҪȥÄÇǶÈëʽ¿ÎµÄ£¬µ«ÊÇÄǿξ¹È»ËµÈËÊýÌ«ÉÙ£¬¿ª²»ÁË£¬¿¿¡£ËùÒÔÕâÁ½ÌìÖ»ÄÜ×Ô¼ºÑо¿µã¶«Î÷ÁË¡£¼ÇµÃ×Ô¼ºÒÔǰ¾ÍÏ붯ÊÖдһ¸ö¹ØÓÚdomµÄ½âÎöÒýÇæ£¬Ö»¹Ö×Ô¼ºÌ«ÀÁ£¬Ò»Ö±Ã»¶¯±Ê¡£×î½üÔÚ¼ÒҲûʲôÊÂ×ö£¬¾Í×Ô¼º¶¯ÊÖдһ¸ö£¬»¨ÁËÒ»Ììʱ¼äдµÄ²î²»¶àÁË£¬ÕýºÃ¶ÍÁ¶×Ô¼ºµÄc++ˮƽ°É¡£
&nb ......
TinyXML£ºÒ»¸öÓÅÐãµÄC++ XML½âÎöÆ÷
¶ÁÈ¡ºÍÉèÖÃxmlÅäÖÃÎļþÊÇ×î³£ÓõIJÙ×÷£¬ÊÔÓÃÁ˼¸¸öC++µÄXML½âÎöÆ÷£¬¸öÈ˸оõTinyXMLÊÇʹÓÃÆðÀ´×îÊæ·þµÄ£¬ÒòΪËüµÄAPI½Ó¿ÚºÍJavaµÄÊ®·ÖÀàËÆ£¬ÃæÏò¶ÔÏóÐԺܺá£
TinyXMLÊÇÒ»¸ö¿ªÔ´µÄ½âÎöXMLµÄ½âÎö¿â£¬Äܹ»ÓÃÓÚC++£¬Äܹ»ÔÚWindows»òLinuxÖбàÒë¡£Õâ¸ö½âÎö¿âµÄÄ£ÐÍͨ¹ý½âÎöXMLÎļþ£¬È»ºóÔ ......