代码之家  ›  专栏  ›  技术社区  ›  Alex F

Unix和FreeBSD

  •  7
  • Alex F  · 技术社区  · 14 年前

    我的最终目标是编写可以在unix操作系统上运行的程序。我知道有很多unix版本,目前还不清楚到底需要支持哪个版本。我现在不能安装任何unix操作系统。我唯一能做的就是使用尽可能接近unix的免费操作系统。freebsd是个不错的选择吗?我知道还有openbsd,可能还有别的东西。

    其他信息: 编程语言是C++,我使用的是GCC,有一些可移植的库:Boost和WxWIDGET。

    6 回复  |  直到 12 年前
        1
  •  6
  •   zellio    14 年前

    openbsd、freebsd、dragonflybsd、netbsd、open solaris等都是开放和免费的unix操作系统,你真的离不开它们。

    要绕过安装限制,请考虑使用sun这样的工具进行虚拟化 Virtual box .

        2
  •  5
  •   anon    14 年前

    根据你的程序所做的,它是用什么语言写的等等,你可以在任何平台上写可移植的代码。例如,我经常从Windows中用C++编写我的应用程序之一,在那里我将它开发成一个小的改变(我删除ODBC支持)。因此,选择操作系统进行开发并不重要——有意识地编写可移植代码才是。

        3
  •  3
  •   xbit.net    14 年前

    POSIX 标准。它是大多数类unix操作系统支持的可移植api。

        4
  •  3
  •   Michael Aaron Safyan    14 年前

    Single UNIX Specification . 如果您只做了opengroup在其单一unix规范中提供的手册页中给出的假设,那么您的代码应该可以在所有unix兼容的操作系统上工作。

    如果你用我的 development/coding search engine ,它严重偏向于单一unix规范中的源代码,单击“单一unix规范”将限制对该源代码的搜索。只要您将自己限制在规范所做的保证范围内,那么它就应该适用于所有unix变体。

    我还应该指出,如果您限制自己甚至只使用由ISO C++标准提供的特性,通过Boost C++库和WxWidgets,那么您应该能够不仅针对UNIX的所有变体,而且还可以针对Windows。但是,如果您只需要以unix为目标,那么其中指定的单个unix规范中的任何系统接口都应该可以安全使用。

    在开发环境方面,我建议您安装 Ubuntu Linux 在里面 VirtualBox ,因为在Linux的特定发行版上设置工作开发环境非常简单,只需调用 sudo apt-get install ,并且linux实际上与unix兼容。单一命令 sudo apt-get install build-essential pkg-config g++ automake autoconf cmake doxygen libboost1.40-dev libwxgtk2.8-dev 足以在Ubuntu上使用WxWIDGET和Boost C++库安装一个完全工作的C++开发环境。

        5
  •  2
  •   ghostdog74    14 年前

    你在写什么程序,用什么语言?无论您使用FreeBSD或Solaris等,您都可以使用C++/Python /Perl编写相当便携的代码。这些编程语言可以在不同的平台上工作,并且我认为您不会遇到这样大的问题。

        6
  •  0
  •   kworr    12 年前

    上面提到的大多数系统都(有限)支持运行linux二进制文件。您可以尝试构建和分发linux二进制文件。如果你建立在类似RHEL4的基础上,他们中的大多数会支持运行程序所必需的ABI。

    例如,大多数bsd上的flashplugin实际上是一个linux flashplugin。