Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

LinuxÏÂMakefile µÄautomakeÉú³ÉÏê½â

 Ò»¡¢Makefile½éÉÜ
¡¡¡¡MakefileÊÇÓÃÓÚ×Ô¶¯±àÒëºÍÁ´½ÓµÄ£¬Ò»¸ö¹¤³ÌÓкܶàÎļþ×é³É£¬Ã¿Ò»¸öÎļþµÄ¸Ä±ä¶¼»áµ¼Ö¹¤³ÌµÄÖØÐÂÁ´½Ó£¬µ«ÊDz»ÊÇËùÓеÄÎļþ¶¼ÐèÒªÖØÐ±àÒ룬MakefileÖмͼÓÐÎļþµÄÐÅÏ¢£¬ÔÚmakeʱ»á¾ö¶¨ÔÚÁ´½ÓµÄʱºòÐèÒªÖØÐ±àÒëÄÄЩÎļþ¡£
¡¡¡¡MakefileµÄ×ÚÖ¼¾ÍÊÇ£ºÈñàÒëÆ÷ÖªµÀÒª±àÒëÒ»¸öÎļþÐèÒªÒÀÀµÆäËûµÄÄÄЩÎļþ¡£µ±ÄÇЩÒÀÀµÎļþÓÐÁ˸ı䣬±àÒëÆ÷»á×Ô¶¯µÄ·¢ÏÖ×îÖÕµÄÉú³ÉÎļþÒѾ­¹ýʱ£¬¶øÖØÐ±àÒëÏàÓ¦µÄÄ£¿é¡£
¡¡¡¡MakefileµÄ»ù±¾½á¹¹²»ÊǺܸ´ÔÓ£¬µ«µ±Ò»¸ö³ÌÐò¿ª·¢ÈËÔ±¿ªÊ¼Ð´Makefileʱ£¬¾­³£»á»³ÒÉ×Ô¼ºÐ´µÄÊÇ·ñ·ûºÏ¹ßÀý£¬¶øÇÒ×Ô¼ºÐ´µÄMakefile¾­³£ºÍ×Ô¼ºµÄ¿ª·¢»·¾³Ïà¹ØÁª£¬µ±ÏµÍ³»·¾³±äÁ¿»ò·¾¶·¢ÉúÁ˱仯ºó£¬Makefile¿ÉÄÜ»¹Òª¸ú×ÅÐ޸ġ£ÕâÑù¾ÍÔì³ÉÁËÊÖ¹¤ÊéдMakefileµÄÖî¶àÎÊÌ⣬automakeÇ¡ºÃÄܺܺõذïÖúÎÒÃǽâ¾öÕâЩÎÊÌâ¡£
¡¡¡¡Ê¹ÓÃautomake£¬³ÌÐò¿ª·¢ÈËÔ±Ö»ÐèҪдһЩ¼òµ¥µÄº¬ÓÐÔ¤¶¨ÒåºêµÄÎļþ£¬ÓÉautoconf¸ù¾ÝÒ»¸öºêÎļþÉú³Éconfigure£¬ÓÉautomake¸ù¾ÝÁíÒ»¸öºêÎļþÉú³ÉMakefile.in£¬ÔÙʹÓÃconfigureÒÀ¾ÝMakefile.inÀ´Éú³ÉÒ»¸ö·ûºÏ¹ßÀýµÄMakefile¡£ÏÂÃæÎÒÃǽ«Ïêϸ½éÉÜMakefileµÄautomakeÉú³É·½·¨¡£
¶þ¡¢Ê¹ÓõĻ·¾³
¡¡¡¡±¾ÎÄËùÌáµ½µÄ³ÌÐòÊÇ»ùÓÚLinux·¢Ðа汾£ºFedora Core release 1£¬Ëü°üº¬ÁËÎÒÃÇÒªÓõ½µÄautoconf£¬automake¡£
Èý¡¢´ÓhelloworldÈëÊÖ
ÎÒÃÇ´Ó´ó¼Ò×ʹÓõÄÀý×Ó³ÌÐòhelloworld¿ªÊ¼¡£
ÏÂÃæµÄ¹ý³ÌÈç¹û¼òµ¥µØËµÀ´¾ÍÊÇ£º
н¨Èý¸öÎļþ£º
helloworld.c
configure.in
Makefile.am
È»ºóÖ´ÐУº
aclocal; autoconf; automake --add-missing; ./configure; make; ./helloworld
¾Í¿ÉÒÔ¿´µ½Makefile±»²úÉú³öÀ´£¬¶øÇÒ¿ÉÒÔ½«helloworld.c±àÒëͨ¹ý¡£
ºÜ¼òµ¥°É£¬¼¸ÌõÃüÁî¾Í¿ÉÒÔ×ö³öÒ»¸ö·ûºÏ¹ßÀýµÄMakefile£¬¸Ð¾õÈçºÎѽ¡£
ÏÖÔÚ¿ªÊ¼½éÉÜÏêϸµÄ¹ý³Ì£º
1¡¢½¨Ä¿Â¼
ÔÚÄãµÄ¹¤×÷Ŀ¼Ï½¨Ò»¸öhelloworldĿ¼£¬ÎÒÃÇÓÃËüÀ´´æ·Åhelloworld³ÌÐò¼°Ïà¹ØÎļþ£¬ÈçÔÚ/home/my/buildÏ£º
$ mkdir helloword
$ cd helloworld
2¡¢ helloworld.c
È»ºóÓÃÄã×Ô¼º×îϲ»¶µÄ±à¼­Æ÷дһ¸öhellowrold.cÎļþ£¬ÈçÃüÁvi helloworld.c¡£Ê¹ÓÃÏÂÃæµÄ´úÂë×÷Ϊhelloworld.cµÄÄÚÈÝ¡£
int main(int argc, char** argv)
{
printf("Hello, Linux World!\n");
return 0;
}
Íê³Éºó±£´æÍ˳ö¡£
ºÃÁË£¬ÏÖÔÚÔÚhelloworldĿ¼Ï¾ÍÓ¦¸ÃÓÐÒ»¸öÄã×Ô¼ºÐ´µÄhelloworld.cÁË¡£
3¡¢Éú³Éconfigure
ÎÒÃÇʹÓÃautoscanÃüÁîÀ´°ïÖúÎÒÃǸù¾ÝĿ¼ÏµÄÔ´´úÂëÉú³ÉÒ


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì(Áù) 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 ......

[תÌû]LinuxÇý¶¯¿ª·¢Ñ§Ï°µÄһЩ±ØÒª²½Öè

 1. ѧ»áд¼òµ¥µÄmakefile
2. ±àһЩӦÓÃ
³ÌÐò
£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯
µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod£¬ lsmod£¬ rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world£¬insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö
¡£
5. дһÍêÕûÇý¶¯£¬ ¼ÓÉÏread£¬ write£¬ ioctl£¬ pollingµÈ¸ ......

LinuxÐÔÄܲâÊÔ¹¤¾ß(ת)

Linuxϵͳ³öÏÖÎÊÌâʱ£¬ÎÒÃDz»½öÐèÒª²é¿´ÏµÍ³ÈÕÖ¾ÐÅÏ¢£¬¶øÇÒ»¹ÒªÊ¹ÓôóÁ¿µÄÐÔÄܼà²â¹¤¾ßÀ´ÅжϾ¿¾¹ÊÇÄÄÒ»²¿·Ö£¨ÄÚ´æ¡¢CPU¡¢Ó²ÅÌ……£©³öÁËÎÊÌâ¡£ÔÚLinuxϵͳÖУ¬ËùÓеÄÔËÐвÎÊý±£´æÔÚÐéÄâĿ¼/procÖУ¬»»¾ä»°Ëµ£¬ÎÒÃÇʹÓõÄÐÔÄÜ¼à¿Ø¹¤¾ßÈ¡µ½µÄÊý¾Ýֵʵ¼ÊÉϾÍÊÇÔ´×ÔÓÚÕâ¸öĿ¼£¬µ±Éæ¼°µ½ÏµÍ³¸ß¹Àʱ£¬ÎÒÃǾͿÉÒÔÐÞ ......

[LinuxѧϰÈÕ¼Ç]UbuntuÍÆ¼öÈí¼þÒÔ¼°¼òµ¥½Å±¾±àд

¡¡¡¡×òÌìÒѾ­½«Ubuntu 9.10µÄ°²×°¹ý³ÌдÁËÒ»±é£¬µ±È»½ö½ö×°ºÃϵͳ»¹ÊÇʲô¶¼×ö²»ÁË¡£½ñÌìÖ÷ÒªÍÆ¼öÏÂÎÒÕâЩÌìÓõÄÈí¼þºÍдһЩ¼òµ¥µÄ½Å±¾Ê¹ÏµÍ³¸üÒ×ÓÚʹÓá£
¡¡¡¡UbuntuÊÇÒ»¸öºÜÒÀÀµÍøÂçµÄLinux·¢Ðа汾£¬°²×°Îļþ½ö½ö700M£¬³ýÁË»ù±¾µÄϵͳÐèÒªµÄ²¿·Ö¼¸ºõ¶¼ÐèҪͨ¹ýÍøÂç½øÐиüС£Ê×ÏÈÎÒÃÇÐèÒªÅäÖà UbuntuµÄÈí¼þÔ´£¬Ä¬È쵀 ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ