gpt4 book ai didi

c++ - Linux 中的静态链接是否可移植?

转载 作者:太空狗 更新时间:2023-10-29 12:14:06 24 4
gpt4 key购买 nike

Linux 中的静态链接是可移植的吗?我的意思是,我可以在 gcc 中使用 -static 选项并静态链接每个依赖项以从 ldd 获得干净的输出,并期望生成的可执行文件将可移植地运行在另一台安装了 Linux 的计算机?当然前提是 CPU 架构和内核版本兼容。

最佳答案

简短的回答:差不多。

这将生成一个二进制文件,该二进制文件将在与软件设计所针对的内核相同或兼容的内核上运行。

它可能不考虑目录结构,如果二进制文件希望能够动态加载任何外部依赖项,那可能行不通。

假设没有什么太花哨的事情发生,它会工作得很好。

这大致就是 Go 的编译器所做的,以便能够将二进制文件大致运送到任何地方。如果您希望进行具有破坏性的操作系统升级,这也是一种使构建向前兼容的方法。

此外,这些静态二进制文件可以在兼容 Linux 的 FreeBSD 内核中运行。只要内核和用户空间兼容,二进制文件就应该可以工作。

一如既往地进行测试。

关于c++ - Linux 中的静态链接是否可移植?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31801824/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com