将 C 程序从旧 OS 版本迁移到新版本

Migration C programs from an old OS version to new

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

  1. 是否需要重新编译代码使其兼容 新 OS 可用的库?

  2. 据我所知,C代码就不用碰了。能 专家证实?

  3. 原来C源中调用的头文件要不要动 代码?

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

请原谅这个新手问题。

  1. 很可能是,因为程序链接到特定的库版本。

  2. 这取决于代码本身。如果它使用任何已弃用的库函数,则需要将其替换为执行相同操作的其他方法。不过,弃用的函数很少见。

  3. 同2.

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