静态库和共享库
静态库的另外一个名称是文档(archive),而管理这些文档内容工具叫做ar。
(1)首先要将源文件编译成目标文件,例如:
gcc -c hello.c sayhello.c
生成hello.o sayhello.o两个目标文件.
(2)然后使用 ar 的-r选项创建一个新的库。并会将目标文件插入其中,例如:
ar -r libhello.a hello.o sayhello.o
(3) 最后可以使用静态库,例如:
gcc twohello.c libhello.a -o twohello
共享库是目标文件的集合,但是这些目标文件是编译程序按照特殊方式生成的。
例如:gcc -c -fpic shelofirst.c shellosecond.c
选项 -fpic 使得输出的对像模块是按照可重定位方式生成的。然后再使用如下命令:
gcc - shared shellofisrt.o shellosecond.o -o hello.so
还可以直接编译:
gcc -fpic -shared shellofirst.c shelloscond.c -o hello.so
(1)首先要将源文件编译成目标文件,例如:
gcc -c hello.c sayhello.c
生成hello.o sayhello.o两个目标文件.
(2)然后使用 ar 的-r选项创建一个新的库。并会将目标文件插入其中,例如:
ar -r libhello.a hello.o sayhello.o
(3) 最后可以使用静态库,例如:
gcc twohello.c libhello.a -o twohello
共享库是目标文件的集合,但是这些目标文件是编译程序按照特殊方式生成的。
例如:gcc -c -fpic shelofirst.c shellosecond.c
选项 -fpic 使得输出的对像模块是按照可重定位方式生成的。然后再使用如下命令:
gcc - shared shellofisrt.o shellosecond.o -o hello.so
还可以直接编译:
gcc -fpic -shared shellofirst.c shelloscond.c -o hello.so