小编luc*_*ent的帖子

C 中的共享库和动态库有什么区别?

我不明白这两种类型的库之间的区别,很多网站都说它们是同一件事,但在学校我们使用两种不同的命令来创建它们

动态库

$ gcc -shared -o libsample.so lib.c
$ gcc -o main main.c -ldl
Run Code Online (Sandbox Code Playgroud)

执行:

$ ./main ./libsample.so
Run Code Online (Sandbox Code Playgroud)

共享库

$ gcc -shared -o libsample.so lib.c
$ gcc -o main main.c -L. -lsample
Run Code Online (Sandbox Code Playgroud)

执行:

$ LD_LIBRARY_PATH=. ./main
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我理解这两个“代码”之间的区别吗?

c shared-libraries dynamic-library

6
推荐指数
2
解决办法
7198
查看次数

标签 统计

c ×1

dynamic-library ×1

shared-libraries ×1