C语言 之建立动态链接库
发表于:2024-11-26 作者:热门IT资讯网编辑
编辑最后更新 2024年11月26日,下面我们建立一个动态链接库。回顾上篇文章讲的建立静态链接库,我们把这几个文件丢到一个新的目录下:makefile tiaoshen.c mmc.h xu.c你也可以自己建立新的文件,这里不再赘述。ma
下面我们建立一个动态链接库。
回顾上篇文章讲的建立静态链接库,我们把这几个文件丢到一个新的目录下:
makefile tiaoshen.c mmc.h xu.c
你也可以自己建立新的文件,这里不再赘述。
makefile文件中改成
all:
gcc tiaoshen.c -o tiaoshen.o -c -fPIC
gcc -o libtiaoshen.so tiaoshen.o -shared
-FPIC表示编译的时候编译成位置无关码,然后可以被加载到任意地方去执行
-shared的意思是共享库方式
之后就进行makefile的编译(注意makefile里的gcc前面的空白,是Tab键)
使用我们的链接库:
你直接包含头文件然后使用是不行的,一般你建立的 .so 文件不在它寻找的固定目录下,有两种方法可以解决
1、cp libtiaoshen.so /usr/lib即可,这是系统自带的库函数文件
2、使用环境变量export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:(后面跟上你的动态库的路径)
然后编译:
gcc xu.c -o shen -ltiaoshen -L.
之后运行就可以了!