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动态链接库的生成和使用的主要内容,如果未能解决你的问题,请参考以下文章

动态链接库和静态链接库的区别

如何为Android,Mac和Windows平台创建Java JNI动态链接库

gcc编译工具生成动态库和静态库之一----介绍

QT5 动态链接库的创建和使用

gcc 编译使用动态链接库和静态链接库

动态链接库