Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
`gcc-print file name=libc.a`以奇怪的形式打印绝对路径_C_Linux_Gcc - Fatal编程技术网

`gcc-print file name=libc.a`以奇怪的形式打印绝对路径

`gcc-print file name=libc.a`以奇怪的形式打印绝对路径,c,linux,gcc,C,Linux,Gcc,我运行以下命令: gcc -print-file-name=libc.a 并获取请求文件的绝对名称(C标准库): 如果我将目录更改为该路径并运行pwd命令,则 /usr/lib/x86_64-linux-gnu 问题是:为什么绝对路径以如此奇怪的形式打印,使用/../../../../(首先,向下转到三个目录,然后三次返回父目录),为什么它不简单地打印文件的实际路径/usr/lib/x86_64-linux-gnu?它有这样打印的理由吗?哇,真奇怪,我也是来检查的。我认为这是有用的唯一方法是

我运行以下命令:

gcc -print-file-name=libc.a
并获取请求文件的绝对名称(C标准库):

如果我将目录更改为该路径并运行
pwd
命令,则

/usr/lib/x86_64-linux-gnu

问题是:为什么绝对路径以如此奇怪的形式打印,使用
/../../../../
(首先,向下转到三个目录,然后三次返回父目录),为什么它不简单地打印文件的实际路径
/usr/lib/x86_64-linux-gnu
?它有这样打印的理由吗?

哇,真奇怪,我也是来检查的。我认为这是有用的唯一方法是,它首先检查
/usr/lib/gcc/x86\u 64-linux-gnu/
下的目录
5/
是否存在,然后它返回并仅使用
/usr/lib/x86\u 64-linux-gnu作为路径
。这只是一个假设。大概,文件名的显示形式反映了某些路径字符串在gcc二进制文件中的记录方式。我可以想象为什么它们会以这种方式存储,但归根结底,原因是无关紧要的。特定的形式对您来说没有特别的意义。如果涉及符号链接,情况就不同了。@melpomene我知道符号链接,但事实并非如此。还是我错过了什么?
/usr/lib/x86_64-linux-gnu