1

これは、私が長い間答えを求めてきた質問です。

Windows や Mac OS X などの主要なオペレーティング システムは、通常、1 つまたはいくつかの言語 (つまり、C++、C#、Windows 用の VB、Mac OS X 用の Objective-C) のみを「サポート」します。

例として Go 言語を使用すると、「サポートされている」言語を使用しなくても、オペレーティング システムとやり取りしてこれらの関数を呼び出すことが明らかに可能です。

これはどのように可能ですか?

開発者は、選択した言語を使用してこれらのシステム関数を呼び出すために何を知る必要がありますか?

これらの呼び出しがコードでどのように表現されるか、および実行時にどのように使用されるかを探しています。

すべての言語システムの組み合わせに適合する 1 つの答えはないと思いますが、いくつかの異なる例が役立つでしょう。

4

1 に答える 1

0

ABI ( Application Binary Interface ) は、オペレーティング システムを呼び出す方法を定義します。これらの呼び出しを行うには、特定のプログラミング言語の実装で、その ABI に準拠したコードを生成する必要があります。

C での OS 呼び出しは十分にサポートされており、多くのインタープリター言語 (perl、python、tcl など) は C で実装されているため、本質的には C 経由で呼び出しを行っています。

于 2013-05-10T16:46:23.593 に答える