Linux ¹ØÓÚ¶¯Ì¬Á´½Ó¿âÒÔ¼°¾²Ì¬Á´½Ó¿âµÄһЩ¸ÅÄî
¿âÓж¯Ì¬Ó뾲̬Á½ÖÖ£¬¶¯Ì¬Í¨³£ÓÃ.soΪºó׺£¬¾²Ì¬ÓÃ.aΪºó׺¡£ÀýÈ磺libhello.so libhello.a
ΪÁËÔÚͬһϵͳÖÐʹÓò»Í¬°æ±¾µÄ¿â£¬¿ÉÒÔÔÚ¿âÎļþÃûºó¼ÓÉϰ汾ºÅΪºó׺,ÀýÈ磺 libhello.so.1.0,ÓÉÓÚ³ÌÐòÁ¬½ÓĬÈÏÒÔ.soΪÎļþºó׺Ãû¡£ËùÒÔΪÁËʹÓÃÕâЩ¿â£¬Í¨³£Ê¹Óý¨Á¢·ûºÅÁ¬½ÓµÄ·½Ê½¡£
ln -s libhello.so.1.0 libhello.so.1
ln -s libhello.so.1 libhello.so
ʹÓÿâ
µ± ҪʹÓþ²Ì¬µÄ³ÌÐò¿âʱ£¬Á¬½ÓÆ÷»áÕÒ³ö³ÌÐòËùÐèµÄº¯Êý£¬È»ºó½«ËüÃÇ¿½±´µ½Ö´ÐÐÎļþ£¬ÓÉÓÚÕâÖÖ¿½±´ÊÇÍêÕûµÄ£¬ËùÒÔÒ»µ©Á¬½Ó³É¹¦£¬¾²Ì¬³ÌÐò¿âÒ²¾Í²»ÔÙÐèÒªÁË¡£È» ¶ø£¬¶Ô¶¯Ì¬¿â¶øÑÔ£¬¾Í²»ÊÇÕâÑù¡£¶¯Ì¬¿â»áÔÚÖ´ÐгÌÐòÄÚÁôÏÂÒ»¸ö±ê¼Ç‘Ö¸Ã÷µ±³ÌÐòÖ´ÐÐʱ£¬Ê×ÏȱØÐëÔØÈëÕâ¸ö¿â¡£ÓÉÓÚ¶¯Ì¬¿â½ÚÊ¡¿Õ¼ä£¬linuxϽøÐÐÁ¬½ÓµÄ ȱʡ²Ù×÷ÊÇÊ×ÏÈÁ¬½Ó¶¯Ì¬¿â£¬Ò²¾ÍÊÇ˵£¬Èç¹ûͬʱ´æÔÚ¾²Ì¬ºÍ¶¯Ì¬¿â£¬²»ÌرðÖ¸¶¨µÄ»°£¬½«Ó붯̬¿âÏàÁ¬½Ó¡£
ÏÖÔÚ¼ÙÉèÓÐÒ»¸ö½ÐhelloµÄ³ÌÐò¿ª·¢°ü£¬ËüÌṩһ¸ö¾²Ì¬¿âlibhello.a Ò»¸ö¶¯Ì¬¿âlibhello.so,Ò»¸öÍ·Îļþhello.h,Í·ÎļþÖÐÌṩsayhello()Õâ¸öº¯Êý
/* hello.h */
void sayhello();
ÁíÍ⻹ÓÐһЩ˵Ã÷Îĵµ¡£ÕâÒ»¸öµäÐ͵ijÌÐò¿ª·¢°ü½á¹¹
1.Ó붯̬¿âÁ¬½Ó
linuxĬÈϵľÍÊÇÓ붯̬¿âÁ¬½Ó£¬ÏÂÃæÕâ¶Î³ÌÐòtestlib.cʹÓÃhello¿âÖеÄsayhello()º¯Êý
/*testlib.c*/
#include
#include
int main()
{
sayhello();
return 0;
}
ʹÓÃÈçÏÂÃüÁî½øÐбàÒë
$gcc -c testlib.c -o testlib.o
ÓÃÈçÏÂÃüÁîÁ¬½Ó£º
$gcc testlib.o -lhello -o testlib
ÔÚÁ¬½ÓʱҪעÒ⣬¼ÙÉèlibhello.o ºÍlibhello.a¶¼ÔÚȱʡµÄ¿âËÑË÷·¾¶ÏÂ/usr/libÏ£¬Èç¹ûÔÚÆäËüλÖÃÒª¼ÓÉÏ-L²ÎÊý
ÓëÓ뾲̬¿âÁ¬½ÓÂ鷳һЩ£¬Ö÷ÒªÊDzÎÊýÎÊÌâ¡£»¹ÊÇÉÏÃæµÄÀý×Ó£º
$gcc testlib.o -o testlib -WI,-Bstatic -lhello
×¢£ºÕâ¸öÌØ±ðµÄ"-WI£¬-Bstatic"²ÎÊý£¬Êµ¼ÊÉÏÊÇ´«¸øÁËÁ¬½ÓÆ÷ld.
ָʾËüÓ뾲̬¿âÁ¬½Ó£¬Èç¹ûϵͳÖÐÖ»Óо²Ì¬¿âµ±È»¾Í²»ÐèÒªÕâ¸ö²ÎÊýÁË¡£
Èç¹ûÒªºÍ¶à¸ö¿âÏàÁ¬½Ó£¬¶øÃ¿¸ö¿âµÄÁ¬½Ó·½Ê½²»Ò»Ñù£¬±ÈÈçÉÏÃæµÄ³ÌÐò¼ÈÒªºÍlibhello½øÐо²Ì¬Á¬½Ó£¬ÓÖÒªºÍlibbye½øÐж¯Ì¬Á¬½Ó£¬ÆäÃüÁîӦΪ£º
$gcc testlib.o -o testlib -WI,-Bstatic -lhello -WI,-Bdynamic -lbye
3.¶¯Ì¬¿âµÄ·¾¶ÎÊÌâ
ΪÁËÈÃÖ´ÐгÌÐò˳ÀûÕÒµ½¶¯Ì¬¿â£¬ÓÐÈýÖÖ·½·¨£º
(1)°Ñ¿â¿½±´µ½/usr/libºÍ/libĿ¼Ï¡£
(2)ÔÚLD_LIBRARY_PATH»·¾³±äÁ¿ÖмÓÉÏ¿âËùÔÚ·¾¶¡£ÀýÈ綯̬¿âlibhello.soÔÚ/home/ting
Ïà¹ØÎĵµ£º
ÀíÂÛÉÏ£¬±¾ÎÄÊÊÓÃÓÚboostµÄ¸÷¸ö°æ±¾£¬ÓÈÆäÊÇ×îа汾1.39.0£»ÊÊÓÃÓÚ¸÷ÖÖC++±àÒëÆ÷£¬ÈçVC6.0£¨²¿·Ö¿â²»Ö§³Ö£©£¬VS2003£¬VS2005£¬VS2008£¬gcc£¬C++ BuilderµÈ¡£ÏÈ×ܽáÒ»ÏÂWindowsϵͳ¡£
Ò»¡¢ÏÂÔØ
Ê×ÏÈ´Óboost¹Ù·½Ö÷Ò³http://www.boost.org/ÏÂÔØ×îаæboost°²×°°ü£¨Ä¿Ç°×îаæÊÇ1.39.0£©¡£ÒòΪboostÒ»²¿·ÖÀàÊÇÐèÒª±àÒë³É¿â²Å ......
/etc/services
InternetÍøÂç·þÎñÎļþ£¬¼ÇÂ¼ÍøÂç·þÎñÃûºÍËüÃǶÔӦʹÓõĶ˿ںż°ÐÒé¡£ÎļþÖеÄÿһÐжÔÓ¦Ò»ÖÖ·þÎñ£¬ËüÓÉ4¸ö×Ö¶Î×é³É£¬ÖмäÓÃTAB»ò¿Õ¸ñ·Ö¸ô£¬·Ö±ð±íʾ“·þÎñÃû³Æ”¡¢“ʹÓö˿ڔ¡¢“ÐÒéÃû³Æ”ÒÔ¼°“±ðÃû”¡£ÏÂÃæÊÇÕâ¸öÎļþµÄ½ÚÑ¡ÄÚÈÝ¡£
tcpmux 1/tcp ......
ǰ¼¸Ìì֨װÁËwindowsϵͳ£¬µ¼ÖÂÒÔǰ°²×°µÄLinux½ø²»È¥ÁË£¬ÎÞ·¨½øÈëLinux£¬Óò»ÏëÖØÐ°²×°Linux£¬ÄÇÑùÌ«·ÑÊÂÁË£¬ÔÚÍøÉÏËÑË÷ÁËһϣ¬ÕÒµ½»Ö¸´LinuxÒýµ¼µÄ·½·¨£¬¾ÊµÑ飬֨ÐÂÒýµ¼½øÈëÔÀ´µÄLinuxϵͳ£¬Ôڴ˼òµ¥¼Ç¼һÏ£º
Ê×ÏÈ£¬ÏÂÔØÒ»¸öGrub4dos£¬½âѹµ½CÅ̸ùĿ¼Ï£¬°ÑÀïÃæµÄgrldr¸´ÖƵ½¸ùĿ¼Ï£¬ÐÞ¸Äboot.iniÎļþ£ ......
1. man ¶ÔÄãÊìϤ»ò²»ÊìϤµÄÃüÁîÌṩ°ïÖú½âÊÍ
eg:man ls ¾Í¿ÉÒԲ鿴lsÏà¹ØµÄÓ÷¨
×¢£º°´q¼ü»òÕßctrl+cÍ˳ö£¬ÔÚlinuxÏ¿ÉÒÔʹÓÃctrl+cÖÕÖ¹µ±Ç°³ÌÐòÔËÐС£
2. ls ²é¿´Ä¿Â¼»òÕßÎļþµÄÊô*£¬ÁоٳöÈÎһĿ¼ÏÂÃæµÄÎļþ
eg: ls /usr/man
ls -l
a.d±íʾĿ¼(directory)£¬Èç¹ûÊÇÒ»¸ö”-”±íʾÊÇÎļþ£¬Èç¹ûÊÇlÔò±íʾÊÇ ......