-2

誰でも簡単な方法で次の用語について私を明確にしてもらえますか

1-IDL インターフェイス定義言語 2-相互運用性 3-移植性 4-API

前もって感謝します

4

1 に答える 1

0

相互運用性とは、通常、他のシステムが通信できるようにシステムが設計されていることを意味します (情報を送信して保存/処理するか、情報を要求するか、またはその両方)。

IDL は、プログラム (dll など) がその入力と出力を記述できるようにするメタ言語です。それが提供するのはインターフェイスだけなので、インターフェイス定義言語です。多くの特定の実装が存在しますが、それらはすべて機能が非常に似ており、構文もほとんどが似ており、完全に「すべて」宣言的です (入力と出力を持つ関数の名前を指定しますが、それらの関数が何であるかは指定しません)。行う'')。多くの場合、これらは特に RPC 経由で関数を呼び出すために使用されます。

API はそれよりも一般的なものです。IDL は API を指定できますが、Web サービス (SOAP または REST)、またはあるアプリケーション、dll などで別のアプリケーションの関数を呼び出すその他の方法も指定できます。「抽象」とは、まさにそれを意味します。それは、実装を知らず、気にせずに、一連の関連する関数を呼び出すためのインターフェイスを持つという概念にすぎません。完全に言語に依存しません。

移植性は別の概念です。一般に、多くの作業を行わなくても、異なるプラットフォームでプログラムをコンパイルまたは実行できることを意味します。もちろん、API がプラットフォームの違いを抽象化するのであれば、それを助けることができます。たとえば、イメージをディスクからメモリに読み込む場合、Windows と Linux では非常に異なる方法で行い、Windows 8 と Windows 95 では多少異なる方法で行い、同じ OS の x64 と x86 バージョンではおそらくわずかに異なる方法で行います。 . プラットフォームに基づいてさまざまなファイルをコンパイルまたはリンクできるように誰かがラッパーを提供した場合、プラットフォームに関係なくコードで常に同じ関数を呼び出して同じデータを取得できるように、関数自体が API になります。ラッパーは API の実装であり、コードは移植可能と見なされます。

于 2013-10-16T18:42:15.477 に答える