繁体   English   中英

如何在 Linux 上编译适用于任何发行版的 C?

[英]How can I compile C on Linux that will work on any distro?

如果我用 gcc 编译一个自包含项目并静态链接 C 运行时库,这是否适用于任何 Linux 发行版? 我不关心任何静态链接的缺点(例如大文件大小),只要它有效。 这是一个闭源项目,这超出了我的控制范围。 PC 的架构是相同的。

如果您可以保证它将执行的所有代码都包含在您发布的二进制文件中,那么理论上(强调理论上)它应该适用于任何 Linux 发行版。 在这个过程中,有很多陷阱。 我个人的观点是,由于跨版本更改接口,几乎不可能完成这项工作。 与其他库的接口是一个脆弱的噩梦。

我熟悉的大多数公司(包括我自己的)都为不同的发行版生产构建版本。 必须为 SLES、Redhat 等进行构建会导致一些复杂情况,但我相信提供一些不同的构建最终比尝试静态链接所有内容更简单并且引起的问题更少。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM