我计划将在Debian 10 Threadripper桌面上编译的所有应用程序和二进制文件复制到Debian 10笔记本电脑上。这些二进制文件会成功运行吗?
我目前正在运行某种基于Debian 10的Linux From Scratch系统,这意味着Debian 10构成了基本操作系统,但内核是我自己的,并且是Mesa,libdrm和libglvnd,以及大多数应用程序我使用的依赖关系是在 $ HOME / Runtime 中从头开始构建的。目的是通过Windows和macOS在某种程度上将基本系统与“我的东西”隔离开。
我有4年的旧笔记本电脑,也可以在Debian 10上运行;这是只有16GB内存的Skylake i7-6500U现在,我显然没有时间,耐心或渴望在笔记本电脑上重新编译整个所谓的应用程序环境,因此我只复制了 $ HOME / Runtime em>从我的桌面到笔记本电脑的 $ HOME ,请确保我使用相同的用户名设置笔记本电脑,以便我的应用程序不会抱怨。这行得通。
由于Skylake开始因破裂的外壳和铰链而分崩离析,我现在正在从中国获得两台由Gemini Lake(N4100)和Apollo Lake(Atom x7-E3950)处理器驱动的低成本笔记本电脑,以安装Debian 10。 。我关心的是gcc,g ++或clang在构建内核,驱动程序和应用程序时是否使用了特定于Threadripper的任何指令(例如AVX等),因为如果复制的$ HOME / Runtime无法执行,我将非常生气因此在双子湖或阿波罗湖中奔跑。
我运行了 gcc -xc -v-和 gcc -xc ++ -v-,并看到以下默认标志:
-quiet -v -D_GNU_SOURCE - -quiet -dumpbase - -mtune=generic -march=x86-64 -auxbase
类似地,对于我的 $ HOME / Runtime / bin / clang -xc -v-和 $ HOME / Runtime / bin / clang -xc ++ -v-看到以下内容:
-target-cpu x86-64
default target x86_64-unknown-linux-gnu
除了 -Wl,$ HOME / Runtime / lib 之外,我没有将任何其他CFLAGS或CXXFLAGS传递给我的内部版本,以使内部版本链接到我自己的库,而不是Debian的库,并且- fPIC 。只要我确保复制的$ HOME / Runtime都具有相同的$ HOME,就可以保证我复制的$ HOME / Runtime可以在Debian 10上的任何x64处理器上运行吗?