linuxÖеĶ¯Ì¬¿âºÍ¾²Ì¬¿â
1.¸ÅÄîºÍÇø±ð£º
¾²Ì¬¿â¾ÍÊÇÔÚ±àÒë¹ý³ÌÖÐһЩĿ±êÎļþµÄ¼¯ºÏ¡£¾²Ì¬¿âÔÚ³ÌÐòÁ´½ÓµÄʱºòʹÓã¬Á´½ÓÆ÷»á½«³ÌÐòÖÐʹÓõ½º¯ÊýµÄ´úÂë´Ó¿âÎļþÖп½±´µ½Ó¦ÓóÌÐòÖС£Ò»µ©Á´½ÓÍê³É£¬ÔÚÖ´ÐгÌÐòµÄʱºò¾Í²»ÐèÒª¾²Ì¬¿âÁË¡£
ÓÉÓÚÿ¸öʹÓþ²Ì¬¿âµÄÓ¦ÓóÌÐò¶¼ÐèÒª¿½±´ËùÓú¯ÊýµÄ´úÂ룬ËùÒÔ¾²Ì¬Á´½ÓµÄÎļþ»á±È½Ï´ó¡£
Ïà¶ÔÓÚ¾²Ì¬º¯Êý¿â£¬¶¯Ì¬º¯Êý¿âÔÚ±àÒëµÄʱºò²¢Ã»Óб»±àÒë½øÄ¿±ê´úÂëÖУ¬¶øÖ»ÊÇ×÷Щ±ê¼Ç¡£È»ºóÔÚ³ÌÐò¿ªÊ¼Æô¶¯ÔËÐеÄʱºò£¬¶¯Ì¬µØ¼ÓÔØËùÐèÄ£¿é£¬Òò´Ë¶¯Ì¬º¯Êý¿âËù²úÉúµÄ¿ÉÖ´ÐÐÎļþ±È½ÏС¡£ÓÉÓÚº¯Êý¿âûÓб»ÕûºÏ½øÄãµÄ³ÌÐò£¬¶øÊdzÌÐòÔËÐÐʱ¶¯Ì¬µÄÉêÇë²¢µ÷Óã¬ËùÒÔ³ÌÐòµÄÔËÐл·¾³ÖбØÐëÌṩÏàÓ¦µÄ¿â¡£¶¯Ì¬º¯Êý¿âµÄ¸Ä±ä²¢²»Ó°ÏìÄãµÄ³ÌÐò£¬ËùÒÔ¶¯Ì¬º¯Êý¿âµÄÉý¼¶±È½Ï·½±ã¡£
2.ÃüÃû£º
¾²Ì¬¿âµÄÃû×ÖÒ»°ãΪlibxxxx.a£¬ÆäÖÐxxxxÊǸÃlibµÄÃû³Æ¡£
¶¯Ì¬¿âµÄÃû×ÖÒ»°ãΪlibxxxx.so.major.minor£¬xxxxÊǸÃlibµÄÃû³Æ£¬majorÊÇÖ÷°æ±¾ºÅ£¬minorÊǸ±°æ±¾ºÅ¡£°æ±¾ºÅÒ²¿ÉÒÔûÓУ¬Ò»°ã¶¼»á½¨Á¢¸öûÓа汾ºÅµÄÈíÁ¬½ÓÎļþÁ´½Óµ½È«ÃûµÄ¿âÎļþ¡£
3.´´½¨£º
ÎÞÂÛ¾²Ì¬¿â»¹ÊǶ¯Ì¬¿â£¬´´½¨¶¼·ÖΪÁ½²½£¬µÚÒ»²½´´½¨Ä¿±êÎļþ£¬µÚ¶þ²½Éú²ú¿â¡£
1).¾²Ì¬¿âµÄ´´½¨£º
#gcc -c test.c -o test.o
#ar rcs libtest.a test.o
Ãû×ÖΪlibtest.aµÄ¾²Ì¬¿â¾ÍÉú²úÁË£¬ÆäÖÐÑ¡Ï
r ±íÃ÷½«Ä£¿é¼ÓÈëµ½¾²Ì¬¿âÖУ»
c ±íʾ´´½¨¾²Ì¬¿â£»
s ±íʾÉú²úË÷Òý£»
»¹Óиü¶àÑ¡ÏîÏñÔö¼Ó¡¢É¾³ý¿âÖеÄÄ¿±êÎļþ£¬°üÀ¨½«¾²Ì¬¿â½â°üµÈ¿ÉÒÔͨ¹ýmanÀ´»ñµÃ¡£
2).¶¯Ì¬¿âµÄ´´½¨£º
#gcc -fPIC -c test.c -o test.c
#gcc --share test.o -o libtest.so
-fPIC ΪÁË¿çƽ̨
4.ʹÓãº
±àÒëÁ´½ÓÄ¿±ê³ÌÐòµÄ·½·¨ÊÇÒ»ÑùµÄ£º
#gcc main.c -L. -ltest -o main
-L.Ö¸¶¨ÏÖÔÚ±¾Ä¿Â¼ÏÂËÑË÷¿â£¬Èç¹ûûÓУ¬»áµ½ÏµÍ³Ä¬ÈϵÄĿ¼ÏÂËÑË÷£¬Ò»°ãΪ/lib¡¢/usr/libÏ¡£
¶ÔÓÚ¾²Ì¬¿â£¬Õâ¸ö²½ÖèÖ®ºó¾Í¿ÉÒÔ½«libtest.a¿âɾµô£¬ÒòΪËüÒѾ±»±àÒë½øÁËÄ¿±ê³ÌÐò£¬²»ÔÙÐèÒªËüÁË¡£
¶ø¶ÔÓÚ¶¯Ì¬¿â£¬libtest.so¿âÖ»ÊÇÔÚÄ¿±ê³ÌÐòÀï×öÁ˱ê¼Ç£¬ÔÚÔËÐгÌÐòʱ²Å»á¶¯Ì¬¼ÓÔØ£¬ÄÇô´ÓÄļÓÔØÄØ£¿¼ÓÔØĿ¼»áÓÉ/etc/ld.so.confÀ´Ö¸¶¨£¬Ò»°ãĬÈÏÊÇ/lib¡¢/usr/lib£¬ËùÒÔÒªÏëÈö¯Ì¬¿â˳Àû¼ÓÔØ£¬Äã¿ÉÒÔ½«¿âÎļþcopyµ½ÉÏÃæµÄÁ½¸öĿ¼Ï£¬»òÕßÉèÖÃexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/XXX/YYY£¬ºóÃæΪÄã×Ô¼
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
Ò»¡¢ ±³¾°
1£®Ê²Ã´ÊÇApache £¿
Apache£¬ÊÇÒ»ÖÖ¿ª·ÅÔ´ÂëµÄHTTP·þÎñÆ÷£¬¿ÉÒÔÔÚ´ó¶àÊý²Ù×÷ϵͳÖÐÔËÐУ¬ÓÉÓÚÆä¶àƽ̨ºÍ°²È«ÐÔËùÒÔ±»¹ã·ºÊ¹Óã¬ÊÇÄ¿Ç°×îÁ÷ÐеÄWeb·þÎñÆ÷Èí¼þÖ®Ò»¡£Apache Æð³õÓÉ Illinois ´óѧ Urbana-Champaign µÄ¹ú¼Ò¸ß¼¶¼ÆËã³ÌÐòÖÐÐÄ¿ª·¢£¬¿ªÊ¼ApacheÖ»ÊÇ×÷ΪNetscapeÍ ......
linuxĿ¼¼Ü¹¹
/ ¸ùĿ¼
/bin ³£ÓõÄÃüÁî
binary file µÄÄ¿錄
/boot ´æ·ÅϵͳÆô¶¯Ê±±ØÐë¶ÁÈ¡µÄµµ°¸£¬°üÀ¨ºËÐÄ
(kernel) ÔÚÄÚ
/boot/grub/menu.lst GRUBÉèÖÃ
/boot/vmlinuz ÄÚºË
......
ϵͳµ÷ÓÃÊÇÓ¦ÓóÌÐòºÍ²Ù×÷ϵͳÄÚºËÖ®¼äµÄ¹¦Äܽӿڡ£ÆäÖ÷ҪĿµÄÊÇʹµÃÓû§
¿ÉÒÔʹÓòÙ×÷ϵͳÌṩµÄÓйØÉ豸¹ÜÀí¡¢ÊäÈë/ÊäÈëϵͳ¡¢ÎļþϵͳºÍ½ø³Ì¿ØÖÆ¡¢
ͨÐÅÒÔ¼°´æ´¢¹ÜÀíµÈ·½ÃæµÄ¹¦ÄÜ£¬¶ø²»±ØÁ˽âϵͳ³ÌÐòµÄÄÚ²¿½á¹¹ºÍÓйØÓ²¼þϸ
½Ú£¬´Ó¶øÆðµ½¼õÇáÓû§¸ºµ£ºÍ±£»¤ÏµÍ³ÒÔ¼°Ìá¸ß×ÊÔ´ÀûÓÃÂʵÄ×÷Óá£
¡¡¡¡Linux²Ù×÷ϵͳ ......
Purpose
This examples shows how to create and stop a kernel thread.
The driver is implemented as a loadable module. In the init_module() routine five kernel threads are created. This kernel threads sleep one second, wake up, print a message and fall asleep again. On unload of the module (cle ......