2011-11-10 12 views
0

同じ言語でない他のプログラムをプログラムで使用するにはどうすればよいですか? たとえば、WindowsはC++になっていますが、カーネルはC言語になっています。 また、JavaプログラムもCプログラムを使用しています。
これはどうしますか?
マスタークラスを使用していますか? class Whatever : MasterClassNameのように?プログラムで同じプログラミング言語以外のプログラムを使用する方法

+0

WindowsはC++で書かれていないため、Cで書かれています。したがって、関連するクラスはありません。 Windowsでは言語間互換性のあるオブジェクトが必要なときにインターフェイスが代わりに使用されます。 Javaプログラムは、ほとんどの場合、Cダイナミックリンクライブラリ(DLL)を使用します。 –

答えて

0

JavaプログラムがCプログラムを使用しているのを見たときに、どういう意味なのか分かりません。 JavaプログラムがCコードから生成された実行ファイルを使用していることを意味しますか?

少し違う点は、2つのプログラムが、DLL、ソケットインターフェイス(TCP/UDP)、ファイル、データベース、および/またはCORBAを介して互いに通信できることです。

0

プログラミング言語は、プログラム間の通信に関連するものではありません。プログラミング言語は、人間にとってプログラムを読みやすくするための単なる手段です。コンピュータが実際に実行するのはマシンコードです。

通信するために、プログラムはこの通信の様子をいくつか前提にする必要があります。このメカニズムは一般にプロトコルと呼ばれます。

たとえば、アプリケーションは、通常、システムコールを介してOSカーネルと通信します。プロセッサのレジスタにはいくつかの特殊な値が格納され、マシンコード命令を使用してカーネルモードに切り替わります。次いで、カーネルは、上記の特別な値を調べて、どの操作を実行する必要があるかを決定する(例えばファイルを開く、端末で印刷するなど)。特定の値の意味は、プロトコルによって指定されます。

この特定の解釈では、DLL、ファイル、データベース、IPC、ネットワークなどはすべて通信プロトコルです。彼らは通常、カーネルのシステムコールなどのより低レベルのプロトコルの観点から実装されています。

関連する問題