linux操作系统中:
1.静态库是一些目标文件(后缀名为.o)的集合体而已。
2.静态库的后缀名是.a,对应于windows操作系统的后缀名为.lib的静态库。
3.可以使用ar命令来创建一个静态库文件。
来看一个实例,根据书中的代码简化的,先看一看可以编译成库文件的源文件中的代码:
代码非常简单,只有一句话。我们敲入如下命令:
gcc –c test.c
ar cr libtest.a test.o
会在当前目录下生成一个libtest.a静态库文件。-c表示只编译,不链接。再来看一看如何使用这个库。如下代码:
敲入如下命令:
gcc –c app.c
gcc -o app app.o -L. –ltest
敲命令的时候要记得将libtest.a文件和生成的app.o文件放在同一个目录(即当前目录)下。这样,敲入命令后,会在当前目录下生成一个名为app的可执行文件。-o表示指定输出文件名。执行一下./app,可以看一看结果:
这就是生成linux下面静态库的简单用法了。
编译Linux使用的.a库文件
首先是需要编译成.a的源文件
hello.h:
hello.c
和一个在linux平台上做测试的main.c
在Linux上面做测试,编译成.a文件,主要利用.o文件和ar命令
1、首先生成.o文件:
gcc -c hello.c
这样源代码的目录下就会产生一个hello.o
2、利用ar命令,从.o文件中创建.a文件
ar cr libhello.a hello.o
这样就可以生成.a文件了,注意,所要生成的.a文件的名字前三位最好是lib,否则在链接的时候,就可能导致找不到这个库
3、在linux下测试使用
编译main.c,并让hello.a链接到main中
gcc main.c -L. -lhello -o main(注意这里-L后面有个.)
这样在当面目录下面就出现了可执行程序main,直接运行就是我们索要的结果了