Linux file
命令提供有关可执行文件的信息,例如:
“/home/foo:ELF 32 位 LSB 可执行文件,Intel 80386,版本 1 (SYSV),动态链接(使用共享库),用于 GNU/Linux 2.6.9,已剥离”
我对该输出的“for GNU/Linux 2.6.9”部分特别感兴趣。是什么决定了这一点?
鉴于我有两台机器,都安装了 gcc 4.6,但一台有 2.6.9 Linux 内核,另一台有 3.2.0 Linux 内核。
如果我在 2.6.9 机器上编译一个 .o
或 .a
文件,然后我把它带到 3.2.0 机器上,我什至可以链接它吗到那里建立的可执行文件?如果我链接它,我的可执行文件的内核版本是否仍然是 3.2.0?
最佳答案
这是从机器上得到的内核版本,二进制文件是在构建过程中编译和打包的。这可能是 link 的重复项
关于c++ - 何时为可执行文件分配内核版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25567357/