工作中有时会遇到可执行程序运行时使用指定目录下的动态库,若是直接修改环境变量,可能会对其他程序产生影响,因此可以在编译时使用-Wl,rpath来指定运行时路径。目录作为第一个寻找库文件的目录,其寻找的顺序是:静态库文件),程序链接的库名是test。-l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那库名跟真正的库文件名有什么关系呢?参数跟着的是库文件所在的目录名。
工作中有时会遇到可执行程序运行时使用指定目录下的动态库,若是直接修改环境变量,可能会对其他程序产生影响,因此可以在编译时使用-Wl,rpath来指定运行时路径。目录作为第一个寻找库文件的目录,其寻找的顺序是:静态库文件),程序链接的库名是test。-l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那库名跟真正的库文件名有什么关系呢?参数跟着的是库文件所在的目录名。
linux中软连接和硬链接的区别软连接软链接有自己的文件属性及权限等;可对不存在的文件或目录创建软链接;软链接可交叉文件系统;硬链接不能交叉文件系统进行硬链接的创建;若要创建软链接文件,则要使用-s选项第二步:建立软链接第三步:建立硬链接可以看到此时软链接文件指向的内容变红,然后读取软链接文件的内容,发现报错:因此软链接的内容读取流程如下:硬链接文件的读取流程为:
时创建符号链接。不带参数表示创建硬件链接-s表示创建软链接创建软链接3、创建硬链接会增加文件被链接的次数;符号链接(软链接):用于创建链接文件,当创建硬链接时每个指定的目标都必须存在。创建软链接1、创建硬链接:把当前目录下的abc文件,创建个硬链接到/test目录下并命名为abc2创建硬链接其inode号一致2、创建软链接:
硬连接指通过索引节点来进行连接。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。软链接文件有类似于Windows的快捷方式。#创建f1的一个硬连接文件f2从上面的结果中可以看出,硬连接文件f2与原文件f1的inode节点相同,均为9797648,然而符号连接文件的inode节点不同。通过上面的测试可以看出:当删除原始文件f1后,硬连接f2不受影响,但是符号连接f1文件无效