类似Windows系统中的动态链接库,Linux中也有相应的共享库用以支持代码的复用。Windows中为*.dll,而Linux中为*.so,我来详细的告诉你如何在linux 下编写动态库,以及如何使用它.
在linux下编写动态链接库的步骤:
1. 编写库的头文件和源文件.
2. 把所有涉及到的源文件用如下方式编译为目标文件:
g++/gcc -g -c -fPIC -o library1.o library1.cpp
g++/gcc -g -c -fPIC -o library2.o library2.cpp
......
......
(注释:-fPIC指通过这个选项来生成与位置无关的代码,可以在任何地址被连接和装载,-c指只编译而不连接原程序)
3. 把所有的目标文件链接为动态库:
g++/gcc -g -shared -Wl,-soname,lib***.so -o lib***.so.1.0.0 library1.o library2.o .... -lc
(注释:-lc选项,表示使用c语言库,一般都要用到)
4. 建立一个库名链接
ln -s lib***.so.1.0.0 lib***.so