mac动态链接库的生成和使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mac动态链接库的生成和使用相关的知识,希望对你有一定的参考价值。
参考技术A动态库名字为 libtest.dylib
注意动态库的名字必须为 libxxxx.dylib
-o 链接
-c 将.c源文件编译成.o目标文件,不进行链接
clang -c test.c
生成动态库:
clang -shared test.o -o test.dylib
-l(小写L)后接xxxx 表示调用libxxxx.dylib 库
如果库不在系统默认的目录下要使用-L后接路径 再接-lxxxxx
-I(大写i)后接路径,表示在此路径下寻找头文件 xxxx.h
clang main.c -c
clang main.o -L. -l test -o main
-L. 意思是在当前目录下(./)寻找库
./main
输出结果: JNI--test%
使用test2.c作为动态库源文件
执行mian文件,输出 JNI--test222%
动态库的名字文字必须为: libxxxx.dylib
Linux上静态库和动态库的编译和使用
linux上静态库和动态库的编译和使用(附外部符号错误浅谈)
这就是静态库和动态库的显著区别,静态库是编译期间由链接器通过include目录找到并链接到到可执行文件中,而动态库则是运行期间动态调用,只有运行时找不到对应动态库才会报错
gcc创建和使用静态库、动态库
gcc动态链接库*.so文件的生成与使用方法
以上是关于mac动态链接库的生成和使用的主要内容,如果未能解决你的问题,请参考以下文章