1.在程序中使用动态库
(1)如果是标准C语言库我们可以不指定其库路径和库名称
(2)如果静态库处于/lib或/usr/lib下
gcc -o test test.c /usr/lib/libm.a 或 gcc -o test test.c -lm
他们的效果相同。-lm意味着命名为libm.a或libm.so的文件(注意Linux下的库文件都要以lib开头)。
(3)如果要指定静态库所在的路径
可以gcc test.c -L/usr/lib -lm
2.创建自己的静态库
(1) 编写库文件testlib.c
#include
void a()
{
printf("zyx\n");
}
(2)编写一个头文件用于声明我们使用的函数testlib.h
void a();
(3) 编译testlib.c
gcc -c testlib.c
(4) 用ar创建一个归档文件
ar crv libfirst.a testlib.o
生成libfirst.a
(5)在某些系统中还要为静态库生成一个内容表
ranlib libfirst.a
(6)然后就可以使用该静态库了
如:
[root@localhost Source]# vi zyx.c
[root@localhost Source]# gcc -o zyx zyx.c -I./lib -L./lib -lfirst
[root@localhost Source]# ls
hello HelloWorld.h static.exe zyx
HelloWorld.cpp lib StaticLibTest.c zyx.c
[root@localhost Source]# ./zyx
zyx
[root@localhost Source]#
cwqing1973 于 2008-09-28 13:14:22发表:
写得条理清楚,简单明了。继续努力!如果把以下这一步写得更加清楚,那对于一些新手来说不是更好吗?
(2)编写一个头文件用于声明我们使用的函数testlib.h
void a();
你把这段写一个完整的代码的头文件,就达到我以上所的目的了。
[ 本帖最后由 cwqing1973 于 2008-9-28 13:17 编辑 ]