gpt4 book ai didi

linux - 在不同的操作系统中测试程序

转载 作者:太空狗 更新时间:2023-10-29 11:34:50 27 4
gpt4 key购买 nike

我想通过在不同的操作系统版本中安装程序来测试我的程序。我的开发计算机是 Ubuntu。我可以通过将它们安装在 VirtualBox 中并在那里运行我的程序来测试哪些其他 Linux 版本?

虽然现在对我来说并不重要,但我想尝试一些不同的东西,看看会发生什么。

此外,在 Linux 中运行的程序在 Unix 操作系统中运行的可能性有多大?该程序不是开源的,我只能分发预构建的二进制文件。

最佳答案

让我们从头开始。您已经使用某种编程语言在某个 Linux 发行版上构建了一个程序。你没有告诉我们是哪个。

如果它是用 C 语言编写的,那么您的前两个问题是硬件和 glibc。就硬件而言,我主要指的是 32 位与 64 位,但同样值得注意的是 Linux 在 PPC、ARM 和 SPARC 上运行。

如果您有 64 位系统,则可以运行 32 位 VM 并进行测试。

为较新版本的 glibc 编写的程序通常可以在较旧版本上运行,但反之则不然。因此,如果您需要支持较旧的发行版,则必须在那里构建。

对于大多数程序,glibc 版本足以替代内核版本,但如果您努力工作,您也可以创建内核版本依赖项。

如果您使用 C++ 编写程序,那么您还有一个额外的担忧:C++/libstdc++ 运行时。并非所有发行版都具有运行所有可能程序所需的共享库。

在某些情况下,编译并链接到旧版本 g++ 的程序将无法在新发行版上找到它所需的 libstdc++。

然后你提到“Unix”。在现代世界中,从任何实际意义上讲,都没有 Unix 这样的东西。有几种您可能想要支持的系统,您可能会在这里担心>

  1. BSD 家族:netbsd/freebsd。您可以在 VM 中运行它们。您不能指望二进制文件会继续传播。
  2. (Open)Solaris:您可以在 VM 中运行它,至少对于 Intel 芯片而言。您不能指望二进制文件会继续传播。
  3. HP-UX:您不能在 VM 中运行它。
  4. AIX:您不能在 VM 中运行它。

维护适用于整个动物园的代码是一项艰巨的工作,不能掉以轻心。

关于linux - 在不同的操作系统中测试程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2488355/

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