ÔÚLinuxÏÂÈçºÎʹÓÃ×Ô¼ºµÄ¿âº¯Êý
Ò»
ʹÓÿâ±ØÒªÐÔ
Ìá¸ß´úÂëÖØÓÃÐÔ¡£
¶þ
¿âµÄÖÖÀࣺ
1
¾²Ì¬¿â
Ò»°ãÒÔ
*.a
ÃüÃû¡£
³ÌÐò±àÒëʱ±»¼ÓÔØ£¬´Ëºó£¬Ö»Òª³ÌÐò²»±»ÖØбàÒ룬¾²Ì¬¿â¾ÍûÓÐ×÷ÓÃÁË£¨¿ÉÒÔɾµô£©¡£
ÓÉ
ÓÚ¾²Ì¬¿âµÄ´úÂëÔÚ±àÒë¹ý³ÌÖÐÒѾ±»ÔØÈë¿ÉÖ´ÐгÌÐò£¬Òò´ËÌå»ý½Ï´ó£¬Èç¹ûÓжà¸öÓ¦ÓóÌÐò¶¼ÓÃÁËͬһ¸ö¾²Ì¬¿â£¬ÔÚ´æ·Å¿ÉÖ´ÐгÌÐòµÄÓ²ÅÌÖоͻáÓÐÕâ¸ö¾²Ì¬¿âµÄ¶à
·Ý¿½±´¡£Èç¹ûËûÃÇͬʱÔÚÔËÐУ¬ÄÇôÔÚÄÚ´æÖÐÒ²»áÓÐÕâ¸ö¾²Ì¬¿âµÄ¶à·Ý¿½±´¡£µ«ÊÇÈçÏÂÃæÌáµ½µÄ¶¯Ì¬¿âÏà±È½Ï£¬³ÌÐòÖ´ÐÐʱ¼ä±È½Ï¶Ì£¬ÒòΪûÓÐÖ´ÐÐʱ¿âº¯ÊýµÄ¼Ó
ÔØ¡£Ëùν“ÒԿռ任ʱ¼ä”¡£
ÏÂÃæÎÒÃÇÓÃÒ»¸öʵÀý˵Ã÷¾²Ì¬¿âµÄ±à³ÌºÍʹÓá£
//
¿âº¯Êý£º
hellowlib.c
#include <stdlib.h>
void printhellow()
{
printf("hellow,now in lib routine\n");
return ;
}
Ê×ÏÈÉú³ÉÄ¿±êÎļþ£º
gcc -c
printhellow.c
–o printhellow.o
È»ºóʹÓÃ
ar
£¨
archive
£©ÃüÁî°ÑÄ¿±êÎļþÖÆ×÷¿âÎļþ£º
ar cqs libhello.a printhellow.o
×¢Òâ¿âÎļþÃûÒ»¶¨ÊÇ
lib***.a
¸ñʽ£¬²»ÒªÍüÁ˼Ó
lib
×÷Ϊǰ׺¡£
ÏÂÃæÎÒÃÇдһ¸ö³ÌÐòµ÷Óþ²Ì¬¿â
libhello.a
ÖеÄ
printhellow
º¯Êý¡£
//testlib.c
int main(int arc, char **argv)
{
printhellow();
return ;
}
ÏÂÃæ±àÒ룺
gcc -o testlib testlib.c -L ./
-lhello
¼´¿ÉÉú³É¿ÉÖ´ÐÐÎļþ
testlib
¡£
×¢ÒâÉÏÃæµÄ
-L
£¨´óд£©Ö¸Ê¾¿âµÄ·¾¶ÔÚµ±Ç°Ä¿Â¼Ï¡£Èç¹ûûÓÐÕâ¸öÑ¡Ï¾ÍÐèÒª°Ñ¿â
libhello.a
¼ÓÈëµ½±ê׼·¾¶ÖС£Èç
/usr/lib
ÖС£
-l
£¨Ð¡Ð´£©Ö»ÐèÒª¸ú
hello
£¬ÆäËû×Ö·ûÈ«²¿²»Òª£¬·ñÔò³ö´í¡£
2
¶¯Ì¬¿â£¨¹²Ïí¿â£©
Ò»°ãÒÔ
.so
ÃüÃû£¨
share object
£©
Ó뾲̬¿â²»Í¬£¬¹²Ïí¿âµÄ´úÂëÊÇÔÚ¿ÉÖ´ÐгÌÐòÔËÐÐʱ²ÅÔØÈëÄÚ´æµÄ£¬ÔÚ±àÒë¹ý³ÌÖнö¼òµ¥µÄÒýÓã¬Òò´Ë´úÂëÌå»ý½ÏС¡£ÓëÉÏÃæÌáµ½µÄ¾²Ì¬¿âÏà±È£¬ºÜÊǽÚÔ¼¿Õ¼ä¡£µ«ÔËÐÐʱÐèÒªÔØÈ룬Òò´ËÔËÐÐʱ¼äÏà¶Ô¾²Ì¬¿â¶øÑԱȽϳ¤¡£Ëùν“ÒÔʱ
Ïà¹ØÎĵµ£º
£¨Ò»£©Îļþ¡¢Ä¿Â¼²Ù×÷ÃüÁî
1¡¢lsÃüÁî
¹¦ÄÜ£ºÏÔʾÎļþºÍĿ¼µÄÐÅÏ¢
ls¡¡ÒÔĬÈÏ·½Ê½ÏÔʾµ±Ç°Ä¿Â¼ÎļþÁбí
ls -a ÏÔʾËùÓÐÎļþ°üÀ¨Òþ²ØÎļþ
ls -l ÏÔʾÎļþÊôÐÔ£¬°üÀ¨´óС£¬ÈÕÆÚ£¬·ûºÅÁ¬½Ó£¬ÊÇ·ñ¿É¶Áд¼°ÊÇ·ñ¿ÉÖ´ÐÐ
ls -lh ÏÔʾÎļþµÄ´óС£¬ÒÔÈÝÒ×Àí½âµÄ¸ñʽӡ³öÎļþ´óС (ÀýÈç 1K 234M 2G)
ls -lt ÏÔʾÎļþ£¬°´ÕÕÐÞ¸ÄÊ ......
ºÜ¾ÃûÓÐд¼¼Êõ²©ÎÄÁË£¬´ÓÕâÀ↑ʼÎÒµÄÑо¿ÉúÉúÑÄ£¬×ªÑÛ¾ÍÒªÔÚÖ°³¡ÉÏÑø¼Òºý¿Ú£¬Éú»îÕæµÄ²»ÈÝÒ×£¬ÐҺû¹Óм¼ÊõÏà°éΪÎé¡£
ÓÉÓÚ¹¤×÷µÄ¹Øϵ£¬ÖÕÓÚ½Ó´¥µ½linuxÍøÂçºÍkernelµÄ±à³Ì£¬×ÜÌåÀ´Ëµ×ÜÊÇÒ»¸öºÃµÄÆõ»ú¡£ÈÃÎÒÄܹ»ÉîÈë²Ù×÷ϵͳÄںˡ£×ö¹ýÒ»¶Îʱ¼äµÄÓû§³ÌÐòµÄ¿ª·¢£¬×ÜÊÇÔÚWindowsƽ̨ÉÏ£¬ÖÕÓÚÓлú»áÔÚlinuxÉÏ×öµã¶«Î÷£¬»¹Ê ......
UnixÖеĺ¯ÊýselectºÍpollÓÃÀ´£¬Ö§³ÖUnixÖÐI/O¸´ÓõŦÄÜ£¬ÔÚUnixÖÐI/OÄ£ÐÍ¿ÉÒÔ·ÖΪÒÔÒ»¼¸ÖÖ£º
£¨1£©×èÈûI/O
£¨2£©·Ç×èÈûI/O
£¨3£©I/O¸´Óã¨selectºÍpoll£©
£¨4£©ÐźÅÇý¶¯I/O(SIGIO)
£¨5£©Òì²½I/O
ÆäÖУ¬ÏÖÔڱȽÏÁ÷ÐеÄI/OÄ£ÐÍÊÇ×èÈûI/OÄ£ÐÍ.×èÈûI/OÊǵ±Ó¦ÓóÌÐòºÍÄں˽»»»Êý¾Ýʱ£¬ÓÉÓÚÄں˻¹Ã»ÓÐ×¼±¸ºÃ ......
ÔÚlinuxÏÂͨ¹ýsvn¸üÐÂÁËÒ»¸öphpÎļþ£¬Ä¿µÄÊÇÏëͨ¹ýÖ´ÐÐÕâ¸öÎļþÀ´¶ÁÊý¾Ý²åÈëµ½Êý¾Ý¿â¡£ÔÚÆäÖеļ¸Ì¨Ö´ÐÐûÓÐÎÊÌ⣬ÆäÖÐһ̨¾Í·¢ÏÖÁËCould not open input fileÕâ¸ö´íÎ󣬺óÀ´²éÕÒ×ÊÁϲŷ¢ÏÖÔÀ´ÊÇÎļþ¸ñʽµÄÎÊÌ⣬³ö´íʱÎļþ¸ñʽÊÇdos£¬¿ÉÒÔÔÚviÖÐÓÃ:set ffÀ´²é¿´£¬Èç¹ûÊÇdos¸ñʽ£¬ÄÇôÔòÓÃ:set ff=unixÀ´ÉèÖÃеĸñʽ£¬ÕâÑ ......