跳至正文

symbol link,symbol link指令

也说symbol link和junction的区别

也说symbol link和junction的区别

Windows里可以用mdlink来创建硬连接hard link,符号连接symbol link和节点junciton。硬连接最好理解,对应于磁盘内存储的文件,文件目录上多生成一个指针。所以是多对一的关系。比较有趣的是,据说删除一个有多个hard link的文件的任何一个hard link,并不影响一个实际的文件,其它hard lin还可以访问到这个文件。只有最后一个hard link被删除后,文件才真的被删除了。

比较难理解的是symbol link和junction,symbol link对应目录的时候mdlink命令使用/d参数,生成junction要使用/j参数。symbol link比较象快捷方式,访问这个symbol link时,实际访问的是这个快捷方式。那么在远程访问时就有意思了。因为如果symbol link在建立时,是在本机建立的指向本机位置的使用本地路径信息的symbol link,那么在远程访问的时候,有可能会出现访问失败。比如:

mdlink /d d:\share\content c:\content

net share share=d:\share /grant:everyone,FULL

那么在远程访问\\netshare\share\content的时候,可能会访问到访问者本地的c:\content,因为symbol link是一个指向c:\content的快捷方式。

还有一个问题,访问一个符号连接的时候,会受到本地符号访问规则的限制。对应的命令是:

fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1

L是本地,R是远程,1是允许,0是禁止,Windows 7默认值是L2L:1 R2R:0 L2R:1 R2L:0

而如果违反这些访问设定,则会遇到一个报错:

The symbolic link cannot be followed because its type is disabled.

但是junction就不会,junction更像一个hard link,但它对应的是一个目录,而不是一个文件。另一方面,微软好像不再推进junction的使用,虽然在操作系统里,微软自己还在广泛使用junction来关联老的系统目录结构和新目录结构。

所以,结论是,如果一个目录可能要进行远程访问的话,使用junction是更好的选择。

Linux中Hard link和Symbol link的区别

Linux中Hard link和Symbol link的区别

Linux的ln命令如果不用-s选项,建立的连接文件就是Hard link,如果ln命令加-s选项就是建立Symbolic link.建立Hard link只能在同一个文件系统内进行,不能跨文件系统;还有,Hard link不能连接到目录,只能连接到文件.而Symbolic link就没有这些限制,因为Hard link的这些限制Symbolic link的使用要比Hard link更加广泛,这就是它们之间的区别.

系统扫描里的“跟踪符号链接”是什么意思?

系统扫描里的“跟踪符号链接”是什么意思?

符号连接译自英文symbol link硬连接是另一样东西hard link

symbol扫描枪支持自动连接无线路由功能吗

symbol的无线枪一共有好几种ls4278,ls3578,ds3478还有p370等等,无线枪用之前一般都要放到底座上先激活一下,然后再扫描一下正面的配对条码,再看一下你使用的是什么线,如果是usb就不用设置了,因为默认的就是usb,如果是别的线你就要设置一下了 http://www.shtotem.com/ 你可以在这里下载你要的手册,然后找到相对应的条码设置 上海途腾信息技术有限公司(moto-symbol华东区金牌代理) 技术部

执行 link.exe 时出错.

你编译的时候没有把多线程的库函数连接进来,所以找不到符号 如果你用makefile来编译的话,用类似下面的编译选项(Linux/Unix) cc -mt [ flag… ] file… -lpthread [ library… ] 在VC++中你可以在文件开始加上#pragma comment( lib, "pthread" ) 库名pthread根据自己的系统确认下

静态链接的链接器必须完成的任务

为了构造可执行文件,链接器必须完成两个主要的任务: 1、符号解析(symbol resolution).目标文件定义和引用符号.符号解析的目的是将每个符号引用刚好和一个符号定义联系起来. 2、重定位(relocation).编译器和汇编器生成从地址0开始的代码和数据节.链接器通过把每个符号定义和一个存储器位置联系起来,然后,修改所有对这些符号的引用,使他们指向这个存储器位置,从而重定位这些节.

Link 出错

你得饱含这个头文件 #include 同时在工程设置的link页里,加入user32.lib,kernal32.lib等等,具体查MSDN

VC连接时出现问题

在VC中将lib和include目录加进去;那就肯定没问题了;类似#include <***>#pragma comment(lib,"***.lib")