ÔÚ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
£©
Ó뾲̬¿â²»Í¬£¬¹²Ïí¿âµÄ´úÂëÊÇÔÚ¿ÉÖ´ÐгÌÐòÔËÐÐʱ²ÅÔØÈëÄÚ´æµÄ£¬ÔÚ±àÒë¹ý³ÌÖнö¼òµ¥µÄÒýÓã¬Òò´Ë´úÂëÌå»ý½ÏС¡£ÓëÉÏÃæÌáµ½µÄ¾²Ì¬¿âÏà±È£¬ºÜÊǽÚÔ¼¿Õ¼ä¡£µ«ÔËÐÐʱÐèÒªÔØÈ룬Òò´ËÔËÐÐʱ¼äÏà¶Ô¾²Ì¬¿â¶øÑԱȽϳ¤¡£Ëùν“ÒÔʱ
Ïà¹ØÎĵµ£º
½ñÌì¿´µ½Ê¦ÐÖ¹¤Î»ÉÏÓб¾Linux Kernel In a Nutshell£¬»¹ÊÇÈ«Ó¢µÄÓ°Ó¡°æ£¬ËùÒԾͽè¹ýÀ´¿´¿´£¬·¢ÏÖÏÖÔÚ¿´Ó¢ÎĵÄÊé½¥½¥ÊÊÓ¦ÁË£¬»¹ÊDZȽÏÈÝÒ׵ģ¬ÊéÖпªÊ¼½éÉÜÈçºÎ±àÒëLinuxÄںˣ¬LinuxÄں˴óÈýµÄʱºòҲѧ¹ý±àÒë¹ý£¬µ«Êǵ±Ê±±àÒë±È½Ï¼òµ¥£¬Õâ´Î¾ö¶¨ÔÙÖØÍ·µ½Î²ºÃºÃ±àÒëһϣ¬Ê×ÏÈÏÂÔØlinux kernel£¬ÔÙÓÃsecureCRTÉÏ´«µ½Ubuntu 8. ......
£¨Ò»£©Îļþ¡¢Ä¿Â¼²Ù×÷ÃüÁî
1¡¢lsÃüÁî
¹¦ÄÜ£ºÏÔʾÎļþºÍĿ¼µÄÐÅÏ¢
ls¡¡ÒÔĬÈÏ·½Ê½ÏÔʾµ±Ç°Ä¿Â¼ÎļþÁбí
ls -a ÏÔʾËùÓÐÎļþ°üÀ¨Òþ²ØÎļþ
ls -l ÏÔʾÎļþÊôÐÔ£¬°üÀ¨´óС£¬ÈÕÆÚ£¬·ûºÅÁ¬½Ó£¬ÊÇ·ñ¿É¶Áд¼°ÊÇ·ñ¿ÉÖ´ÐÐ
ls -lh ÏÔʾÎļþµÄ´óС£¬ÒÔÈÝÒ×Àí½âµÄ¸ñʽӡ³öÎļþ´óС (ÀýÈç 1K 234M 2G)
ls -lt ÏÔʾÎļþ£¬°´ÕÕÐÞ¸ÄÊ ......
Ŀ¼½á¹¹Îª£º
inc/hello.h
src/hello.c
main/main.c
Makefile
ÎļþÄÚÈÝΪ£º
hello.h:
void hello(char name[]);
hello.c:
#include <stdio.h>
void hello(char name[])
{
printf("Hello %s!\n", name);
}
main.c:
#include <stdio.h>
#include "hello.h"
// The second hello.h should ......
±¾ÎĽ«Í¨¹ýÓÃÓÚÏò¶ÓÁз¢ËÍÏûÏ¢ºÍ´Ó¶ÓÁнÓÊÕÏûÏ¢µÄʾÀýÓ¦ÓóÌÐò˵Ã÷ÈçºÎÔÚ Linux ÉÏ×ÅÊÖ°²×°ºÍÅäÖà WebSphere MQ£¬ÒÔ¼°ÈçºÎΪ MQ »·¾³¿ª·¢ Java Ó¦ÓóÌÐò¡£
ÒýÑÔ
±¾ÎĵÄÄ¿±êÊÇÈÃÄúÇáËÉʵÏÖ Linux® É쵀 IBM® WebSphere® MQ ÈëÃÅ¡£ÓÉÓÚ´ó²¿·Ö Linux ·þÎñÆ÷²¢Ã»ÓÐͼÐÎÓû§½çÃ棬Òò´Ë±¾ÎĽ«ËµÃ÷ÈçºÎʹÓÃÃüÁîÐй¤¾ ......
ÔÚlinuxÏÂͨ¹ýsvn¸üÐÂÁËÒ»¸öphpÎļþ£¬Ä¿µÄÊÇÏëͨ¹ýÖ´ÐÐÕâ¸öÎļþÀ´¶ÁÊý¾Ý²åÈëµ½Êý¾Ý¿â¡£ÔÚÆäÖеļ¸Ì¨Ö´ÐÐûÓÐÎÊÌ⣬ÆäÖÐһ̨¾Í·¢ÏÖÁËCould not open input fileÕâ¸ö´íÎ󣬺óÀ´²éÕÒ×ÊÁϲŷ¢ÏÖÔÀ´ÊÇÎļþ¸ñʽµÄÎÊÌ⣬³ö´íʱÎļþ¸ñʽÊÇdos£¬¿ÉÒÔÔÚviÖÐÓÃ:set ffÀ´²é¿´£¬Èç¹ûÊÇdos¸ñʽ£¬ÄÇôÔòÓÃ:set ff=unixÀ´ÉèÖÃеĸñʽ£¬ÕâÑ ......