0

「統一された」システム コール ライブラリを実装することは、どの程度実用的でしょうか? このようなライブラリは、OS の実際のシステム コールのラッパーになります。そうすれば、この「統一されたシステム コール ライブラリ」を利用するコードを書くことができ、ライブラリは同等の OS 固有の呼び出しを処理します (OS ごとに異なるバージョンのライブラリを作成する必要があります)。 )。これにより、移植可能なアプリケーションを簡単に作成できます。

これはワインの機能だと思いますが、ワインはLinuxでWindowsアプリケーションを実行するためだけのものです。互換性のあるアプリケーションを複数のオペレーティング システムで実行できるようにするものについて質問しています。

これはすでに行われていますか?

編集:

または、既存の一般的な標準 (POSIX?) を使用して、windows、mac などの OS 呼び出しのラッパーを作成し、POSIX アプリをそれぞれのオペレーティング システムで実行できるようにすることをお勧めします。

ダブル編集:

少し考えた後、これはすでに多くのライブラリが行っていることであることに気付きました。しかし、何らかの理由で、いくつかの呼び出しが省略されているようです (そうでなければ、すべてのアプリケーションが OS 間で移植可能ではないのはなぜですか?)

4

1 に答える 1

0

確かに、Posix の目的はオペレーティング システムを統合することです。特に、C 関数に関する章があります。Linux、BSD、および *nix では、glibc は Posix に準拠しています。Windows では、Cygwin をインストールする必要があります。Posix 規格に準拠したプログラムを作成すると、Linux + glibc、Windows + cygwin などで動作します...

残念ながら、Posix はハードウェアとの通信を定義していません。ハードウェアとの通信手段はさまざまで、オペレーティング システムやハードウェアの種類によって異なります。

于 2013-06-26T15:10:08.743 に答える