[Linux]GNU×Ô¶¯»¯¹¤¾ß£¨automake¹¤¾ßÁ´£©
Filename
£º
[Linux]GNU
×Ô¶¯»¯¹¤¾ß£¨
automake
¹¤¾ßÁ´£©
Version
£º
V1.0
Date
£º
12/01/2009
Author
£º
S.C.Leon <leonsc@126.com>
=====================================================================
GNU
×Ô¶¯»¯¹¤¾ß£¨
automake
¹¤¾ßÁ´£©
Ò»¡¢
Makefile
½éÉÜ
Makefile
ÊÇÓÃÓÚ×Ô¶¯±àÒëºÍÁ´½ÓµÄ£¬Ò»¸ö¹¤³ÌÓкܶàÎļþ×é³É£¬Ã¿Ò»¸öÎļþµÄ¸Ä±ä¶¼»áµ¼Ö¹¤³ÌµÄÖØÐÂÁ´½Ó£¬µ«ÊDz»ÊÇËùÓеÄÎļþ¶¼ÐèÒªÖØÐ±àÒ룬
Makefile
ÖмͼÓÐÎļþµÄÐÅÏ¢£¬ÔÚ
make
ʱ»á¾ö¶¨ÔÚÁ´½ÓµÄʱºòÐèÒªÖØÐ±àÒëÄÄЩÎļþ¡¡
Makefile
µÄ×ÚÖ¼¾ÍÊÇ£ºÈñàÒëÆ÷ÖªµÀÒª±àÒëÒ»¸öÎļþÐèÒªÒÀÀµÆäËûµÄÄÄЩÎļþ¡£µ±ÄÇЩÒÀÀµÎļþÓÐÁ˸ı䣬±àÒëÆ÷»á×Ô¶¯µÄ·¢ÏÖ×îÖÕµÄÉú³ÉÎļþÒѾ¹ýʱ£¬¶øÖØÐ±àÒëÏàÓ¦µÄÄ£¿é¡£
¶þ¡¢
GNU
×Ô¶¯»¯¹¤¾ß
¡¡¡¡
Makefile
µÄ»ù±¾½á¹¹²»ÊǺܸ´ÔÓ£¬µ«µ±Ò»¸ö³ÌÐò¿ª·¢ÈËÔ±¿ªÊ¼Ð´
Makefile
ʱ£¬¾³£»á»³ÒÉ×Ô¼ºÐ´µÄÊÇ·ñ·ûºÏ¹ßÀý£¬¶øÇÒ×Ô¼ºÐ´µÄ
Makefile
¾³£ºÍ×Ô¼ºµÄ¿ª·¢»·¾³Ïà¹ØÁª£¬µ±ÏµÍ³»·¾³±äÁ¿»ò·¾¶·¢ÉúÁ˱仯ºó£¬
Makefile
¿ÉÄÜ»¹Òª¸ú×ÅÐ޸ġ£ÕâÑù¾ÍÔì³ÉÁËÊÖ¹¤Êéд
Makefile
µÄÖî¶àÎÊÌ⡣Ϊ¸¨ÖúʵÏÖ²»Í¬±àÒë»·¾³Ö®¼äµÄÔ´´úÂëµÄ¿ÉÒÆÖ²ÐÔ£¬ÈËÃÇ´´ÔìÁË
GNU
×Ô¶¯»¯¹¤¾ß£¨
autotools
£©£¬
autoconf
£¬
autoheader
£¬
libtools
£¬
automake
ºÍÆäËûÐí¶à½Å±¾¹¤¾ßÒ»Æð¹¤×÷²¢¹²Í¬¹¹³ÉÁË
GNU
±àÒëϵͳ¡£
ʹÓÃ
automake
£¬³ÌÐò¿ª·¢ÈËÔ±Ö»ÐèҪдһЩ¼òµ¥µÄº¬ÓÐÔ¤¶¨ÒåºêµÄÎļþ£¬ÓÉ
autoconf
¸ù¾ÝÒ»¸öºêÎļþÉú³É
configure
£¬ÓÉ
automake
¸ù¾ÝÁíÒ»¸öºêÎļþÉú³É
Makefile.in
£¬ÔÙʹÓÃ
configure
ÒÀ¾Ý
Makefile.in
À´Éú³ÉÒ»¸ö·ûºÏ¹ßÀýµÄ
Makefile
¡£ÏÂÃæÎÒÃǽ«Ïêϸ½éÉÜ
Makefile
µÄ
automake
Éú³É·½·¨¡£
¶þ¡¢Ê¹ÓõĻ·¾³
¡¡¡¡±¾ÎÄËùÌáµ½µÄ³ÌÐòÊÇ»ùÓÚ
Linux
·¢Ðа汾£º
Ubuntu 9.04
£¨
linux
Ö÷Á÷·¢Ðаæ¾ù¿É£©£¬Ëü°üº¬ÁËÎÒÃÇÒªÓõ½µÄ
autoconf
£¬
automake
¡£
Èý¡¢
helloworld
ʾÀý
´Ó×ʹÓõÄÀý×Ó³ÌÐò
helloworld
¿ªÊ¼¡£
ÓÉ
helloworld.c
Ô´Îļþͨ¹ý
automake
¹¤¾ßÁ´×Ô¶¯Éú³É
Makefile
£¬×îºóÉú³É¿ÉÖ´ÐÐÎļþµÄ¼òÒª²½ÖèÈçÏ£º
1
£©Ð½¨Èý¸öÎļþ£º
helloworld.c
configure.in
Makefile.am
ÆäÖÐ
configure.in
ºÍ
Makefile.am
ÊÇÐèÒªÎÒÃÇ×Ô¼º´´½¨µÄ¡£¾ßÌåд·¨Ïê¼ûºóÎÄ¡£
2)
È»ºóÖ´ÐУº
aclocal;
autoconf;
automake --add-missing;
./config
Ïà¹ØÎĵµ£º
£¨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 ......
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
ÔÚ×î½üµÄÒ»¸ö¹ØÓÚLKMLµÄÌÖÂÛÖУ¬Linus¸ø³öÁËΪʲô²»ÓÃC++À´Ð´LinuxÄں˵ÄÀíÓÉ£º
"In fact, in Linux we did try C++ once already, back in 1992. It sucks. Trust me - writing kernel code in C++ is a BLOODY STUPID IDEA.
“ÊÂʵÉÏ£¬ÎÒÃÇÔø¾³¢ÊÔ¹ýÓÃC++À´Ð´£¬ÊÇÔÚ1992ÄêµÄʱºò¡£ºÜÔã¸â¡£ÏàÐÅÎÒ--ÓÃC++À´Ð´ÄÚºË ......
¼¸ºõÿ¸ölinuxÇý¶¯¶¼Óиömodule_init¡£Ã»´í£¬Çý¶¯µÄ¼ÓÔØ¾Í¿¿Ëü¡£ÏÈÀ´·ÖÎöÒ»ÏÂmodule_init¡£¶¨ÒåÈçÏ£º
#define module_init(x) __initcall(x); //include\linux\init.h
#define ......