8

私の最終的な目標は、UnixOSで実行できるプログラムを作成することです。Unixのバージョンはたくさんあることは知っていますが、今のところ、どれをサポートする必要があるのか​​正確にはわかりません。現在、UnixOSをインストールできません。私にできることは、できるだけUnixに近い無料のOSを使うことだけです。FreeBSDはこれに適していますか?私はOpenBSD、おそらく何か他のものもあることを知っています。

追加情報:プログラミング言語はC ++で、GCCを使用しており、いくつかのポータブルライブラリ(BoostおよびwxWidgets)があります。

4

6 に答える 6

7

OpenBSD、FreeBSD、DragonFlyBSD、NetBSD、Open Solarisなどはすべてオープンで無料のUnixオペレーティングシステムであり、それ以上に近づくことはできません。

インストールの制限を回避するには、SunのVirtualboxなどのツールを使用した仮想化を検討してください

于 2010-03-24T09:20:49.573 に答える
5

プログラムの動作、プログラムが記述されている言語などに応じて、任意のプラットフォームでポータブルコードを記述できます。たとえば、C ++で記述されたアプリケーションの1つを、開発先のWindowsからLinuxに定期的に移植しますが、わずかな変更が1つあります(ODBCサポートを削除します)。したがって、開発を行うOSの選択は重要ではありません。つまり、ポータブルコードを意識的に作成することが重要です。

于 2010-03-24T09:20:14.673 に答える
3

SingleUNIXSpecificationを参照してください。OpenGroupがSingleUNIXSpecificationで提供しているマニュアルページに記載されている仮定のみを行う場合、コードはすべてのUNIX準拠のOSで機能するはずです。

私の開発/コーディング検索エンジンを使用する場合、Single UNIX Specificationからのソースを優先して大きく偏っています。「SingleUNIXSpecification」をクリックすると、検索がそのソースに限定されます。仕様による保証に制限する限り、すべてのUNIXバリアントで機能するはずです。

また、ISO C ++標準、Boost C ++ライブラリ、およびWxWidgetsによって提供される機能のみを使用するようにさらに制限すると、UNIXのすべてのバリアントだけでなく、Windowsもターゲットにできるはずです。同じように。ただし、UNIXのみをターゲットにする必要がある場合は、そこで指定されているSingleUNIXSpecificationのシステムインターフェイスを安全に使用できます。

開発環境に関しては、VirtualBoxにUbuntu Linuxのコピーをインストールすることをお勧めします。これは、Linuxの特定のディストリビューションで動作する開発環境をセットアップするのは、の1回の呼び出しと同じくらい簡単であり、Linuxは事実上に準拠しているためです。 UNIX。WxWidgetsとBoostC++ライブラリがインストールされたUbuntuで完全に機能するC++開発環境を取得するには、1つのコマンドで十分です。sudo apt-get installsudo apt-get install build-essential pkg-config g++ automake autoconf cmake doxygen libboost1.40-dev libwxgtk2.8-dev

于 2010-03-24T09:46:47.010 に答える
3

POSIX標準を見てください。これは、オペレーティングシステムのようなほとんどのUnixでサポートされているポータブルAPIです。

于 2010-03-24T09:30:19.660 に答える
2

どのプログラムを書いていて、どの言語を使っていますか?FreeBSDでもSolarisでも、C ++ / Python / Perlなどを使用してかなり移植性の高いコードを書くことができます。これらのプログラミング言語はさまざまなプラットフォームで動作する可能性があり、大きな問題はないと思います。

于 2010-03-24T09:23:08.993 に答える
0

上記のシステムのほとんどは、Linuxバイナリの実行を(限定的に)サポートしています。Linuxバイナリのビルドと配布を試みることができます。RHEL4のようなものでビルドする場合、それらのほとんどはプログラムを実行するために必要なABIをサポートします。

たとえば、ほとんどのBSDのflashpluginは、実際にはlinux-flashpluginです。

于 2012-06-01T12:26:19.287 に答える