1.命令
- ldd:查看当前程序依赖的动态库文件
C动态库:lib.so.6 => /usr/lib64.so.6 - file:可以查看当前文件属性
2.动态库
- 生成
- gcc/g++ -shared -fPIC test.c -o(后面生成的动态库的名字)
前缀:lib
后缀:.so
libabab.so => abab称之为动态库的名字 - 编译可执行程序的时候,一定要告诉编译器,我们链接的动态库是哪个!
gcc main.c -o main
指定链接动态库所在的路径:-L [path]
指定链接动态库的名字:-l[库的名字] (去掉前缀和后缀的)
3.静态库
- 前提知识
win下的静态库的后缀为.lib
win下的动态库的后缀为.dll
- 生成
- ar -rc lib[名字].a [依赖的文件]
注意:依赖的文件不是源文件,而是.o文件
前缀:lib
后缀:.a
libabab.a => abab就是静态库的名字
gcc main.c -o main -L [path] -l[静态库名字]
4.软硬链接
- 软连接:
- 1.软连接想等于一个文件的快捷方式
- 2.ln -s [源文件] (生成的软链接文件)
- 3.软连接文件具有独立的inode节点
- 4.在删除软连接文件或者软连接问阿金指向的源文件的时候,一定要将两者都删除
- 硬链接:
- ln [源文件] (生成的硬链接文件)
- 源文件和硬链接文件的inode节点号一模一样
- 硬链接文件除了和源文件的名字不一样,其他的都一样