将 C 程序从旧操作系统版本迁移到新版本

Posted

技术标签:

【中文标题】将 C 程序从旧操作系统版本迁移到新版本【英文标题】:Migration C programs from an old OS version to new 【发布时间】:2016-08-10 17:13:31 【问题描述】:

我们的应用程序(一堆 php 脚本和 C 程序)目前在物理机器上的 64 位 Suse Linux Enterprise Server 10(是的,很旧)上运行。我们计划将所有内容迁移到将运行 64 位 SLES 12 的 VMware 虚拟机。我知道 SLES 12 上的新 PHP 与现有 PHP 脚本之间会有兼容性问题。我的问题是关于C 程序:

    我们是否必须再次重新编译代码以使其兼容 新操作系统可用的库?

    据我所知,没有必要接触 C 代码。能 专家确认?

    我们是否必须触摸原始 C 源中调用的头文件 代码?

    关于 C 的其他任何我们应该注意的事项 程序?

请原谅这个新手问题。

【问题讨论】:

【参考方案1】:

    很可能是的,因为程序与特定的库版本相关联。

    这取决于代码本身。如果它使用任何已弃用的库函数,则需要用其他方法替换这些函数来做同样的事情。不过,已弃用的函数很少见。

    同2。

    这是关于 C 程序的一般建议,与升级本身无关。安全问题总是需要注意的。如果这些 C 程序处理从网站访问者收到的任何用户输入,则代码必须具有适当的保护措施,以防止缓冲区溢出和其他攻击。

【讨论】:

以上是关于将 C 程序从旧操作系统版本迁移到新版本的主要内容,如果未能解决你的问题,请参考以下文章

在 Play 商店中将 Flutter 应用程序从旧版本更新到新版本

核心数据版本控制和迁移

使用Minio Clinet将老版本Minio的数据迁移到新版本的Minio

管理将破坏性数据库更改迁移到由同一应用程序的旧版本共享的数据库

IntelliJ - 首次运行后从旧版本导入配置

运维发布系统详谈