Linuxでは、システムコールはCヘッダーファイルで利用できます。システムコールはC言語以外の言語でも利用できますか?
OSのシステムコールが他の言語で利用できるのだろうか?
私が正しい場合、システムコールはOS固有のものです。もし私が間違っていれば、私を修正してください。
C++、Java、Python、OCamlなどの高級言語では、これらの言語でオペレーティングシステムライブラリが用意されています。それらはシステムコールではなく、システムコールに基づいて実装されたAPIですか?インターフェースはOSに依存しません(例えば、LinuxとWindowsの両方で同じプログラミングインターフェース)?
JavaはJVM上で動作しているので、OS関連のものはOSに依存しません。
Pythonは、通常はクロスOSで使用できるインタープリタで動作しているので、OS関連のものはOSに依存しません。
ありがとうございました。
[Portable Operating System Interface](https://en.wikipedia.org/wiki/POSIX)のようなものですか? –
あなたの質問はそれ以上です言語依存OSに依存します。たとえば、OS APIを呼び出してLISPコードから関数を呼び出すアセンブリ言語でLISP関数を記述することができます。繰り返しますが、あなたの質問に答えさせるために*すべての*言語を調べなければなりません。 –
別の例を挙げましょう:Fortran。 Fortran言語には、関数の呼び出し(パラメータの受け渡しや戻りなど)のための特定のインタフェースがあります。アセンブリ言語でSPIバスポートを読み込み、読み取った値を返す関数を書くことができます。私のアセンブリ言語がFortran呼び出し規約に準拠している限り、FortranプログラムとリンクしてFortranから呼び出すことができます。 –