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

linux ¹²Ïí¿â»ù±¾Ê¹ÓÃ

1 ´´½¨ºÍʹÓþ²Ì¬¿â
´´½¨Ò»¸ö¾²Ì¬¿âÊÇÏ൱¼òµ¥µÄ¡£Í¨³£Ê¹Óà ar ³ÌÐò°ÑһЩĿ±êÎļþ£¨.o£©×éºÏÔÚÒ»Æð£¬
³ÉΪһ¸öµ¥¶ÀµÄ¿â£¬È»ºóÔËÐÐ ranlib£¬ÒÔ¸ø¿â¼ÓÈëһЩË÷ÒýÐÅÏ¢¡£
2 ´´½¨ºÍʹÓù²Ïí¿â
ÌØÊâµÄ±àÒëºÍÁ¬½ÓÑ¡Ïî
-D_REENTRANT         Ê¹µÃÔ¤´¦ÀíÆ÷·ûºÅ _REENTRANT ±»¶¨Ò壬Õâ¸ö·ûºÅ¼¤»îһЩºêÌØÐÔ¡£
-fPIC                Ñ¡Ïî²úÉúλÖöÀÁ¢µÄ´úÂë¡£ÓÉÓÚ¿âÊÇÔÚÔËÐеÄʱºò±»µ÷È룬Òò´ËÕâ¸ö
                     Ñ¡ÏîÊDZØÐèµÄ£¬ÒòΪÔÚ±àÒëµÄʱºò£¬×°ÈëÄÚ´æµÄµØÖ·»¹²»ÖªµÀ¡£Èç¹û
                     ²»Ê¹ÓÃÕâ¸öÑ¡Ï¿âÎļþ¿ÉÄܲ»»áÕýÈ·ÔËÐС£
-shared              Ñ¡Ïî¸æËß±àÒëÆ÷²úÉú¹²Ïí¿â´úÂë¡£
-Wl,-soname          -Wl ¸æËß±àÒëÆ÷½«ºóÃæµÄ²ÎÊý´«µÝµ½Á¬½ÓÆ÷¡£¶ø -soname Ö¸¶¨ÁË
                     ¹²Ïí¿âµÄ soname¡£
    ££ ¿ÉÒÔ°Ñ¿âÎļþ¿½±´µ½ /etc/ld.so.conf ÖÐÁоٳöµÄÈκÎĿ¼ÖУ¬²¢ÒÔ
root Éí·ÝÔËÐÐ ldconfig£»»òÕß
    ££ ÔËÐÐ export LD_LIBRARY_PATH='pwd'£¬Ëü°Ñµ±Ç°Â·¾¶¼Óµ½¿âËÑË÷·¾¶ÖÐÈ¥¡£
1.7.9  Ê¹Óø߼¶¹²Ïí¿âÌØÐÔ
1. ldd ¹¤¾ß
ldd ÓÃÀ´ÏÔʾִÐÐÎļþÐèÒªÄÄЩ¹²Ïí¿â, ¹²Ïí¿â×°ÔعÜÀíÆ÷ÔÚÄÄÀïÕÒµ½ÁËÐèÒªµÄ¹²Ïí¿â.
2. soname
¹²Ïí¿âµÄÒ»¸ö·Ç³£ÖØÒªµÄ£¬Ò²ÊǷdz£ÄѵĸÅÄîÊÇ soname——¼òд¹²ÏíÄ¿±êÃû£¨short for shared object name£©¡£ÕâÊÇÒ»¸öΪ¹²Ïí¿â£¨.so£©Îļþ¶øÄÚǶÔÚ¿ØÖÆÊý¾ÝÖеÄÃû×Ö¡£ÈçÇ°ÃæÌáµ½µÄ£¬Ã¿Ò»¸ö³ÌÐò¶¼ÓÐÒ»¸öÐèҪʹÓõĿâµÄÇåµ¥¡£Õâ¸öÇåµ¥µÄÄÚÈÝÊÇһϵÁпâµÄ soname£¬Èçͬ ldd ÏÔʾµÄÄÇÑù£¬¹²Ïí¿â×°ÔØÆ÷±ØÐëÕÒµ½Õâ¸öÇåµ¥¡£
soname µÄ¹Ø¼ü¹¦ÄÜÊÇËüÌṩÁ˼æÈÝÐԵıê×¼¡£µ±ÒªÉý¼¶ÏµÍ³ÖеÄÒ»¸ö¿âʱ£¬²¢ÇÒпâµÄ soname ºÍÀϵĿâµÄ soname Ò»Ñù£¬ÓþɿâÁ¬½ÓÉú³ÉµÄ³ÌÐò£¬Ê¹ÓÃеĿâÒÀÈ»ÄÜÕý³£ÔËÐС£Õâ¸öÌØÐÔʹµÃÔÚ Linux Ï£¬Éý¼¶Ê¹Óù²Ïí¿âµÄ³ÌÐòºÍ¶¨Î»´íÎó±äµÃÊ®·ÖÈÝÒס£
ÔÚ Linux ÖУ¬Ó¦ÓóÌÐòͨ¹ýʹÓà soname£¬À´Ö¸¶¨ËùÏ£Íû¿âµÄ°æ±¾¡£¿â×÷ÕßÒ²¿É


Ïà¹ØÎĵµ£º

ʵս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Ͼ­µäµÄÎļþ´«Ê乤¾ß: lrzsz


¹«Ë¾ÓиöÓÃARM940T×öµÄÊÖ³Öʽ²úÆ·£¬ÎÒÃÇÒÆÖ²ÁËÒ»¸öuClinuxÉÏÈ¥£¬ÏµÍ³»¹ÊÇÔËÐв»´íµÄ¡£
ÒòΪûÓдøÍø¿Ú£¬Ö»ÓÐUSBת´®¿Ú¿ÉÒÔʹÓã¬ËùÒÔÏëÑ°ÕÒÒ»¸öÎȶ¨µÄ´«Êä;¾¶£¬ÔÚhostºÍdeviceÖ®¼ä½»»»Îļþ¡£ÎÊÁ˺ܶàÈ˶¼²»Çå³þ£¬»¹ÊÇÒª¿¿×Ô¼ºÕÒ½â¾ö·½·¨¡£
ÔÚgoogleÉÏÕÒÁË°ëÌ죬ÖÕÓÚÕÒµ½ÁËÒ»¸ö¿ÉÒÔͨ¹ý´®¿Ú´«ËÍÎļþµÄÈí¼þ£¬Õâ¾ÍÊǹŶ­¼ ......

linux ²éÕÒÖ´ÐгÌÐòµÄµ±Ç°Â·¾¶

linux shell pwd ÏÔʾµ±Ç°Â·¾¶
¼ÙÈôÓÐtest.cpp
g++ test.cpp -o test
./test
ÏëÔÚtestÖÐÕÒµ½µ±Ç°Ö´ÐгÌÐòËùÔڵķ¾¶
¿ÉÒÔÔÙtest.cppÖÐʹÓÃreadlinkº¯Êý
¾ßÌå¼ûÈçÏÂʵÀý£º
#include<iostream>
#include<unistd.h>
#include<dirent.h>
#include<string.h>
#include<string>
using ......

linuxÏÂudp·þÎñÆ÷¶ËÔ´ÂëʾÀý

#include <errno.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdlib.h>
#include <string.h>
#include <netinet/in.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <s ......

linuxÏ´óÎļþ¶ÁдԴÂëʾÀý

#define _LARGEFILE_SOURCE
#define _LARGEFILE64_SOURCE
#define _FILE_OFFSET_BITS 64
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
#include <fcntl.h>
int main()
{
printf("sizeof(off_t) = %d\n", sizeof(off_t));
int ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ