0

私が理解していることから、Wikiと私が投稿したこの質問を使用して、MicrosoftにはVC ++と呼ばれる独自のコンパイラがあり、他の多くのものとともに.netフレームワークに含まれています。また、次の理由により、非常に優れたアプリケーションを作成できます(とりわけ)。

  1. BaseCLassライブラリと呼ばれる非常に優れた広範なライブラリを使用できます
  2. コンパイルすると、バイトコード(共通中間言語とも呼ばれます)と呼ばれるプラットフォームに依存しないポータブル中間コードが生成されます。このCILは、Microsoftの共通言語インフラストラクチャ仕様(CLI)の実装です。
  3. 他のタイプの中でも、32ビットのメモリアドレスで構成されているため、いわゆるWin32アプリケーションを作成できます。また、win32プログラム。あらゆる種類のGUI要素を使用したプログラミングが含まれます。

私は正しいですか?さて、私の質問

  1. mfcとbclの間の関係は何ですか。
  2. ctsとcilの関係は何ですか。
  3. Win32プログラミングの定義は、「32ビットアドレスを持つアプリケーション」に焦点を当てており、「GUI要素を含むアプリ」には焦点を当てていませんか。それともその逆ですか。
4

1 に答える 1

2

まず、BCLとWin32を使用したプログラミングの主な違いの1つは、BCLがマネージコード(CLR用)に使用され、Win32がネイティブコードに使用されることです。C ++ / CLIを使用すると、両方の種類のコードを記述できます。

  1. MFCはMicrosoftFoundationClassesであり、基本的にWindowsAPIをオブジェクト指向フレームワークにラップします。通常、ネイティブC++で使用されます。BCL(基本クラスライブラリ)
    は 、一般的に使用されるクラスのコレクションでもあるという点で似ていますが、C#、VB.Net、C ++/CLIなどのCLR言語で使用するように設計されています。したがって、この2つは実際には関連しておらず、同様の目的を果たしますが、異なるプラットフォーム用に設計されています。

  2. CTS(Common Type System)は、型の定義、型の安全性、および値の表現方法に関するものです。
    CILは共通中間言語であるため、任意の言語で定義するすべてのタイプはCILコードにコンパイルされ、CTSで定義されたルールに準拠する必要があります。これにより、作成に使用された言語に関係なく、他のCLR言語がその型を使用できるようになります。

  3. 最近のWin32という名前は、ビット数については何も言っていません。そのルーツは16ビットウィンドウにあり、64ビットウィンドウもサポートしています。ですから、それは古い名前であり、今でも広く使われています。「WindowsAPI」と呼ぶこともできます。あなたの質問に対処するために、それはどちらにも焦点を当てていません。名前が示すように、これはWindowsで実行されるアプリケーションのネイティブAPIにすぎません。GUI要素を作成したり、システムリソースや機能にアクセスしたりすることができます。WindowsアプリケーションにはGUI要素は必要ありません。

于 2012-05-11T07:24:38.613 に答える