如果你跟着一些教程查找系统的相关文件,例如头文件,静态库等,你可能会发现网上给出的路径在你的linux系统中不存在,经过长久的查找或者直接使用find指令查找后,你发现他们被放在了其他目录中,而这些目录都不约而同地包含了x86_64-linux-gnu
。你可以直接查看这个问答来获取原因ubuntu - Difference between /usr/lib and /usr/lib/x86_64-linux-gnu folders - Unix & Linux Stack Exchange。
简单来说,Debian提出Multiarch表述其系统的能在同一个系统中安装与运行多种不同二进制目标文件的能力。在这个概念的影响下的debian系发行版的
部分架构相关(应该?)的gnu c
库和头文件被移动到x86_64-linux-gnu
目录中。用以兼容运行x86_64架构的程序。
例如libc.a
从/usr/lib
移动到/usr.lib/x86_64-linux-gnu
中;
/usr/include/x86_64-linux-gnu/asm/unistd_64.h
中储存着64位系统调用号(当然/usr/include/asm/unistd_64.h
中也有)