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

Libtool´´½¨ºÍʹÓÃlinux϶¯Ì¬¿â

Îļþfun.c£¬fun.h£¬hello.c£¬hello.h£¬main.c¶¯Ì¬¿âº¯Êý¶¼ÔÚfun.cºÍhello.cÀïÃæ
----------------------------
fun.c:
int add(int a, int b)
{
 return a+b;
}
fun.h:
#ifndef _FUN_H_11
#define _FUN_H_11
int add(int a, int b);
#endif
----------------------------
hello.c:
££i nclude <stdio.h>
void output(char *ss)
{
 printf("HELLO  %s\n", ss);
}
hello.h
#ifndef HELLO_H_111
#define HELLO_H_111
void output(char *ss);
#endif
----------------------------
main.c:
££i nclude <stdio.h>
££i nclude "hello.h"
££i nclude "fun.h"
void
main()
{
 output("world");
 printf("Test Value:%d\n", add(1, 2));
}
---------------------------------
ʹÓÃlibtools´´½¨ºÍʹÓð²×°¶¯Ì¬¿â²½Öè:
(1)
libtool --mode=compile gcc -g -O -c hello.c
libtool --mode=compile gcc -g -O -c fun.c
libtool --mode=compile gcc -g -O -c main.c
#Éú³É¸÷×ÔµÄoÎļþ
(2)
libtool --mode=link gcc -g -O -o libhello.la hello.lo fun.lo -rpath /usr/local/lib -lm
#Á¬½Ó³É¶¯Ì¬¿âÎļþ
(3)
libtool --mode=link gcc -g -O -o test main.o libhello.la -lm
#Á¬½ÓÉú³É¿ÉÖ´ÐÐÎļþtest
(4)
libtool --mode=install cp libhello.la /usr/local/lib/libhello.la
libtool --mode=install install -c libhello.la /usr/local/lib/libhello.la
libtool -n --mode=finish /usr/local/lib
libtool install -c test /usr/local/bin/test
#°²×°¶¯Ì¬¿â
È»ºó¾Í¿ÉÒÔÔËÐÐ/usr/local/bin/testÁË,µ±È»Â·¾¶¿ÉÒÔÈÎÒâÉèÖÃ,ÕâÊÇÊÖ¶¯¹ý³Ì,д³ÉMakefileÎļþΪ:
OBJS = fun.o hello.o
LO_OBJS = main.lo fun.lo hello.lo
PACKAGE_VERSION = 1:1:1
LIBDIR=/usr/local/lib
all : test
install : libhello.la
 
test : libhello.la main.o
 libtool --mode=link gcc -g -O -o test main.o libhello.la -lm
libhello.la : $(OBJS)
 libtool gcc -g -O -o libhello.la $(LO_OBJS) -rpath ${LIBDIR} -lm -version-info ${PACKAGE_VERSION}
main.o : main.c fun.h hello.h
 libtool --mode=compile gcc -g -O -c main.c
fun.o : fun.c fun.h
 libtool --mode=compile gcc -g -O -c fun.c
hello.o : hello.c hello.h
 libtool --mode=comp


Ïà¹ØÎĵµ£º

LinuxÐźÅÁбí

ÔËÐÐÈçÏÂÃüÁ¿É¿´µ½LinuxÖ§³ÖµÄÐźÅÁÐ±í£º
$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
18) S ......

LinuxµÄÖ÷ÒªÌØµã¼°½á¹¹

LinuxµÄÖ÷ÒªÌØµã
¡¡¡¡×÷Ϊһ¸ö²Ù×÷ϵͳ£¬Linux¼¸ºõÂú×ãµ±½ñUnix²Ù×÷ϵͳµÄËùÓÐÒªÇó£¬Òò´Ë£¬Ëü¾ßÓÐUnix²Ù×÷ϵͳµÄ»ù±¾ÌØÕ÷¡£
1.·ûºÏPOSIX 1003.1±ê×¼
¡¡ ¡¡POSIX 1003.1±ê×¼¶¨ÒåÁËÒ»¸ö×îСµÄUnix²Ù×÷ϵͳ½Ó¿Ú£¬ÈκβÙ×÷ϵͳֻÓзûºÏÕâÒ»±ê×¼£¬²ÅÓпÉÄÜÔËÐÐUnix³ÌÐò¡£Unix¾ßÓзḻµÄÓ¦ÓóÌÐò£¬µ±½ñ¾ø ´ó¶àÊý²Ù×÷ϵͳ¶¼°Ñ ......

[linux]

ʵÀý½â˵ fdisk ʹÓ÷½·¨
×÷Õߣº±±ÄÏÄϱ±
À´×Ô£ºLinuxSir.Org
ÌáÒª£ºfdisk ÊÇÒ»¿î¹¦ÄÜÇ¿´óµÄ·ÖÇø¹¤¾ß£¬Ò²ÊÇĿǰÔÚUnixÀà²Ù×÷ϵͳÖÐ×îÁ÷ÐеŤ¾ßÖ®Ò»£»·ÖÇø¹¤¾ßÀÏ×ֺţ»±¾ÆªÖ»½éÉÜÆä×î¼òµ¥µÄ·ÖÇø²Ù×÷¹¦ÄÜ£»
Ò»¡¢fdisk µÄ½éÉÜ£»
fdisk - Partition table manipulator for Linux £¬Òë³ÉÖÐÎĵÄÒâ˼ÊÇ´ÅÅÌ·ÖÇø±í²Ù×÷¹¤¾ß£»± ......

LinuxÎļþËÑË÷Ö® find / locate / whereis / which

ÒýÑÔ
find×îÇ¿´ó£¬Ê²Ã´¶¼Äܲ飬¿ÉÒÔ¸ù¾ÝÌõ¼þ²éÕÒÎļþ¡£
whichÖ»Äܲé¿ÉÖ´ÐÐÎļþºÍ±ðÃû(alias)¡£
whereisÖ»Äܲé¶þ½øÖÆÎļþ¡¢ËµÃ÷Îĵµ£¬Ô´ÎļþµÈ£¬¿ÉÒÔÕÒµ½¿ÉÖ´ÐгÌÐòºÍman page¡£
locateÊÇÔÚÊý¾Ý¿âÀï²éÕÒ£¬Êý¾Ý¿â´óÖÁÿÌì¸üÐÂÒ»´Î£¬µ«¸úwhereisÒ»Ñù¶¼ÊDzéÊý¾Ý¿âÀïµÄÄÚÈÝ¡£
1.find /etc -name my.so
2.locate ÊÇÓÃÀ´Í¨¹ý ......

Linux/Unix»·¾³ÏµÄMakeºÍMakefileÏê½â

ÎÞÂÛÊÇÔÚLinux»¹ÊÇÔÚUnix»·¾³ÖУ¬make¶¼ÊÇÒ»¸ö·Ç³£ÖØÒªµÄ±àÒëÃüÁî¡£²»¹ÜÊÇ×Ô¼º½øÐÐÏîÄ¿¿ª·¢»¹Êǰ²×°Ó¦ÓÃÈí¼þ£¬ÎÒÃǶ¼¾­³£ÒªÓõ½
make»òmake
install¡£ÀûÓÃmake¹¤¾ß£¬ÎÒÃÇ¿ÉÒÔ½«´óÐ͵Ŀª·¢ÏîÄ¿·Ö½â³ÉΪ¶à¸ö¸üÒ×ÓÚ¹ÜÀíµÄÄ£¿é£¬¶ÔÓÚÒ»¸ö°üÀ¨¼¸°Ù¸öÔ´ÎļþµÄÓ¦ÓóÌÐò£¬Ê¹ÓÃmakeºÍ
makefile¹¤¾ß¾Í¿ÉÒÔ¼ò½àÃ÷¿ìµØÀí˳¸÷¸öÔ´Îļþ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ