我不明白这两种类型的库之间的区别,很多网站都说它们是同一件事,但在学校我们使用两种不同的命令来创建它们
动态库
$ 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)
有人可以帮助我理解这两个“代码”之间的区别吗?