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

LinuxÈçºÎ²éÕÒ¶¯Ì¬¿â ת+×¢


LinuxÈçºÎ²éÕÒ¶¯Ì¬¿â
 
http://blog.chinaunix.net/u2/60011/showart_1007920.html
 
1£®  ¾²Ì¬¿âºÍ¶¯Ì¬¿âµÄ»ù±¾¸ÅÄî
¾²Ì¬¿â£¬ÊÇÔÚ¿ÉÖ´ÐгÌÐòÁ¬½Óʱ¾ÍÒѾ­¼ÓÈëµ½Ö´ÐÐÂëÖУ¬ÔÚÎïÀíÉϳÉΪִÐгÌÐòµÄÒ»²¿·Ö£»Ê¹Óþ²Ì¬¿â±àÒëµÄ³ÌÐòÔËÐÐʱÎÞÐè¸Ã¿âÎļþÖ§³Ö£¬ÄÄÀï¶¼¿ÉÒÔÓ㬵«ÊÇÉú³ÉµÄ¿ÉÖ´ÐÐÎļþ½Ï´ó¡£
¶¯Ì¬¿â£¬ÊÇÔÚ¿ÉÖ´ÐгÌÐòÆô¶¯Ê±¼ÓÔØµ½Ö´ÐгÌÐòÖУ¬¿ÉÒÔ±»¶à¸ö¿ÉÖ´ÐгÌÐò¹²ÏíʹÓᣡ¾¼ÓÔØÆ÷¼ÓÔØÒ»¸öexecutableÎļþʱ£¬ÐèÒª½âÎö£¬¿´ÊÇ·ñÓÐlibÐèÒª¼ÓÔØ¡£Èç¹ûÐèÒª¼ÓÔØ£¬¾ÍÔÚÎļþµÄij´¦ÕÒµ½lib·¾¶£¬ÓÅÏÈÔÚ´Ë·¾¶ÏÂËÑË÷¡£¼ÓÔØlibºó£¬ÏòOS×¢²á¿âÃûÐÅÏ¢¡£ÆäËûexecutableÎļþÔËÐÐʱÈç¹ûÒ²ÐèÒª£¬¾ÍÏÈÏòOS×Éѯ£¬ÊÇ·ñÒѾ­¼ÓÔØ£¬Î»ÖÃÔÚÄÄÀʹÓö¯Ì¬¿â±àÒëÉú³ÉµÄ³ÌÐòÏà¶Ô½ÏС£¬µ«ÔËÐÐʱÐèÒª¿âÎļþÖ§³Ö£¬Èç¹û»úÆ÷ÀïûÓÐÕâЩ¿âÎļþ¾Í²»ÄÜÔËÐС£
 
2£®  ÈçºÎʹÓö¯Ì¬¿â
ÈçºÎ³ÌÐòÔÚÁ¬½ÓʱʹÓÃÁ˹²Ïí¿â£¬¾Í±ØÐëÔÚÔËÐеÄʱºòÄܹ»ÕÒµ½¹²Ïí¿âµÄλÖá£linuxµÄ¿ÉÖ´ÐгÌÐòÔÚÖ´ÐеÄʱºòĬÈÏÊÇÏÈËÑË÷/libºÍ/usr/libÕâÁ½¸öĿ¼£¬È»ºó°´ÕÕ/etc/ld.so.confÀïÃæµÄÅäÖÃËÑË÷¾ø¶Ô·¾¶¡£Í¬Ê±£¬LinuxÒ²ÌṩÁË»·¾³±äÁ¿LD_LIBRARY_PATH¹©Óû§Ñ¡ÔñʹÓã¬Óû§¿ÉÒÔͨ¹ýÉ趨ËüÀ´²éÕÒ³ýĬÈÏ·¾¶Ö®ÍâµÄÆäËû·¾¶£¬È磺LD_LIBRARY_PATH =/work/lib:$(LD_LIBRARY_PATH)£¬²¢ÇÒLD_LIBRARY_PATHÓÅÏÈÓÚϵͳĬÈÏ·¾¶Ö®Ç°²éÕÒ£¨Ïêϸ²Î¿¼¡¶Ê¹ÓÃLD_LIBRARY_PATH¡·£©¡£
²»¹ýÓÉÓÚLD_LIBRARY_PATHµÄÉ趨×÷ÓÃÊÇÈ«¾ÖµÄ£¬¹ý¶àµÄʹÓÿÉÄÜ»áÓ°Ïìµ½ÆäËûÓ¦ÓóÌÐòµÄÔËÐУ¬ËùÒÔ¶àÓÃÔÚµ÷ÊÔ¡£LD_LIBRARY_PATHµÄȱÏݺÍʹÓÃ×¼Ôò£¬¿ÉÒԲο¼¡¶Why LD_LIBRARY_PATH is bad¡· £¬Í¨³£Çé¿öÏÂÍÆ¼ö»¹ÊÇʹÓÃgccµÄ-R»ò-rpathÑ¡ÏîÀ´ÔÚ±àÒëʱ¾ÍÖ¸¶¨¿âµÄ²éÕÒ·¾¶£¬²¢ÇҸÿâµÄ·¾¶ÐÅÏ¢±£´æÔÚ¿ÉÖ´ÐÐÎļþÖУ¬ÔËÐÐʱËü»áÖ±½Óµ½¸Ã·¾¶²éÕҿ⣬±ÜÃâÁËʹÓÃLD_LIBRARY_PATH»·¾³±äÁ¿²éÕÒ¡£
 
3£®¿âµÄÁ´½Óʱ·¾¶ºÍÔËÐÐʱ·¾¶
ÏÖ´úÁ¬½ÓÆ÷ÔÚ´¦Àí¶¯Ì¬¿âʱ½«Á´½Óʱ·¾¶£¨Link-time path£©ºÍÔËÐÐʱ·¾¶£¨Run-time path£©·Ö¿ª,Óû§¿ÉÒÔͨ¹ý-LÖ¸¶¨Á¬½Óʱ¿âµÄ·¾¶£¬Í¨¹ý-R£¨»ò-rpath£©Ö¸¶¨³ÌÐòÔËÐÐʱ¿âµÄ·¾¶£¬´ó´óÌá¸ßÁË¿âÓ¦ÓõÄÁé»îÐÔ¡£±ÈÈçÎÒÃÇ×öǶÈëÊ½ÒÆÖ²Ê±#arm-linux-gcc $(CFLAGS) –o target  –L/work/lib/zlib/ -llibz-1.2.3  (work/lib/zlibÏÂÊǽ»²æ±àÒëºÃµÄzlib¿â)£¬½«target±àÒëºÃºóÎÒÃÇÖ»Òª°Ñzlib¿â¿½±´µ½¿ª·¢°åµÄϵͳĬÈÏ·¾¶Ï¼´¿É¡£»òÕßͨ¹ý-rpath£¨»ò-R £©¡¢LD_LIBRARY_P


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨ËÄ£© L2CAP²ã±à³Ì

£¨L2CAPЭÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPЭÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼­Á¬½Ó¿ØÖƺÍÊÊÅäЭÒé (L2CAP) ΪÉϲãЭÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àЭÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãЭÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......

ʵսLinux Bluetooth±à³Ì (Æß) SDPЭÒé

Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖЭÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀЭÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......

ÀûÓÃsocket±àдwindowsºÍlinuxͨѶ³ÌÐò

ÀûÓÃsocket±àдwindowsºÍlinuxͨѶ³ÌÐò
    socket±à³Ì´ó¼Ò¶¼ºÜÊìϤ£¬ÎÒÔÚÕâÀï¾Í²»ÔÙÂÞàÂÁË¡£Ö±½ÓÇÐÈëÕýÌâ¡£¸Ã³ÌÐò·ÖÁ½²¿·Ö£¬server¶ËºÍclient¶Ë£¨Ë­¶¼ÖªµÀ£©¡£ÆäÖÐserver¶Ë²ÉÓÃwindowsƽ̨£¬ÄÇlinuxƽ̨µ±È»ÊÇclient¶ËÁË¡£
ÕâÀïÊÇserver¶Ë³ÌÐò£º
/**********************************/
/* it work ......

Linux ½Å±¾±àд»ù´¡(ËÄ)

4)º¯Êý
Èç¹ûÄúдÁËһЩÉÔ΢¸´ÔÓһЩµÄ³ÌÐò£¬Äú¾Í»á·¢ÏÖÔÚ³ÌÐòÖпÉÄÜÔÚ¼¸¸öµØ·½Ê¹ÓÃÁËÏàͬµÄ´úÂ룬²¢ÇÒÄúÒ²»á·¢ÏÖ£¬Èç¹ûÎÒÃÇʹÓÃÁ˺¯Êý£¬»á·½±ãºÜ¶à¡£Ò»¸öº¯ÊýÊÇÕâ¸öÑù×ӵģº
functionname()
{
# inside the body $1 is the first argument given to the function
# $2 the second ...
body
}
ÄúÐèÒªÔÚÿ¸ö³ÌÐ ......

linux 0.11 ÄÚºËѧϰ floppy.c£¬Çý¶¯ÄãµÄÈíÅÌ


/*
 *  linux/kernel/floppy.c
 *
 *  (C) 1991  Linus Torvalds
 */
/*
 * 02.12.91 - Changed to static variables to indicate need for reset
 * and recalibrate. This makes some things easier (output_byte reset
 * checking etc), and means less i ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ