0

据我了解,使用 Wiki 和我发布的这个问题,微软有自己的编译器,称为 VC++,它与许多其他东西一起包含在 .net 框架中。由于以下原因(以及其他原因),它可以做出非常好的应用程序:

  1. 我们可以在其中使用一个非常好的和广泛的库,称为 Base CLass Library
  2. 编译后,它会生成一个独立于平台的可移植中间代码,称为字节码(也称为通用中间语言)。此 CIL 是公共语言基础结构规范 (CLI) 的 Microsoft 实现。
  3. 在其他类型中,我们可以制作被称为 Win32 的应用程序,因为它们是由 32 位内存地址组成的。此外,win32编。包括使用各种 gui 元素进行编程。

我对吗?现在,我的问题

  1. mfc 和 bcl 之间的关系是什么?
  2. cts和cil是什么关系。
  3. Win32 编程的定义是否更多地关注具有 32 位地址的应用程序”而不是“包括 gui 元素的应用程序”,反之亦然?
4

1 回答 1

2

首先,使用 BCL 和 Win32 进行编程的主要区别之一是 BCL 用于托管代码(用于 CLR),而 Win32 用于本机代码。使用 C++/CLI,您可以编写两种类型的代码。

  1. MFC 是 Microsoft Foundation Classes,它基本上将 Windows API 包装成一个面向对象的框架。它通常由本机 C++ 使用。BCL(基类库)
    的相似之处在于它也是常用类的集合,但它是为 CLR 语言(如 C#、VB.Net 或 C++/CLI)使用而设计的。所以这两者并不是真正相关的,它们的目的相似,但它们是为不同的平台设计的。

  2. CTS (通用类型系统)是关于类型定义、类型安全和值如何表示的。
    CIL 是 Common Intermediate Language,所以你用任何语言定义的每一种类型都会被编译成 CIL 代码,它必须符合 CTS 定义的规则。这确保了其他 CLR 语言可以使用该类型,无论使用哪种语言创建它。

  3. 如今,Win32 这个名字并没有真正说明比特的数量。它的根源在于 16 位窗口,它还支持 64 位窗口。所以它是一个旧名称,仍在广泛使用。您也可以将其称为“Windows API”。为了解决您的问题,它既不关注。顾名思义,它只是在 Windows 上运行的应用程序的原生 API。您可以创建 GUI 元素、访问系统资源和功能等等。Windows 应用程序不需要具有 GUI 元素。

于 2012-05-11T07:24:38.613 回答