【问题标题】:Visual C++ vs MFCVisual C++ 与 MFC
【发布时间】:2020-06-16 01:36:30
【问题描述】:

在这个平台上问这个问题之前,我已经用谷歌搜索并阅读了几本书。

到目前为止我的理解:

我了解 MFC 是用于在 Windows 中开发 GUI 应用程序的框架。 MFC 使用 Visual C++ 库,可以将其视为围绕 Windows API 的包装库。

困惑

  1. 如果我读了一本关于 MFC 的书,它会开始谈论 Visual C++(例如 CString 类)
  2. 如果我读了一本关于 Visual C++ 的书,它开始解释 GUI 开发,而没有真正解释不同的类/模板
  3. 但我没有找到单独解释 Visual C++ 类的书。

问题:

  • Visual C++ 和 MFC 是一回事吗?如果不是,那么我在哪里可以找到仅 Visual C++ 类的描述(没有 GUI 开发文本)?
  • Visual C++ 和 Visual Studio 是否相关?

【问题讨论】:

标签: windows user-interface visual-c++ mfc


【解决方案1】:

“Visual C++” 是编译器和 IDE 的名称。它出现在 Visual Studio 被发明之前,将多种编程语言整合到一个产品中。

MFC 随 Visual C++/Visual Studio 一起提供,是一个类库,既可用作框架,又可用作基于 C 的平面 Windows API 的资源包装器。

在 Microsoft 的文档站点上,大多数 MFC 类都有一个 Hierarchy Chart,还有一个 MFC Classes 列表。 GUI 类和非 GUI 类之间没有物理或逻辑上的分离。

【讨论】:

  • 谢谢,但在下面这本书的描述中,它说,“Visual C++ is an established development language for Windows desktop applications.”。图书链接:amazon.de/dp/1847195563/…
  • @use:Visual C++(编译器)早于 C++ 作为国际标准。它实现了相当多的非标准行为,以及语言扩展。在那个时候,“Visual C++”经常被用来描述编译器对该语言的实现,以消除它与C++的歧义。今天,Microsoft 的编译器与任何其他 C++ 编译器一样兼容;没有术语(也没有必要)来描述 Microsoft 的语言实现。它只是 C++。
  • 另外,不要过度复杂化。 C++ 是一种“语言”,Visual C++ 将 GUI 与拖放 IDE 结合在一起。 amazon.com/Teach-Yourself-Visual-Days-Sams/dp/0672303728
  • @user2756695 正如安德鲁所说,不要过度复杂化。 C++ 是一种编程语言。 Visual C++ 是一个工具(程序),是 C++ 编译器和许多其他工具的实现,用于在 Windows 平台上构建程序/库。 MFC 是一个面向对象的 C++ 包装器(框架字),用于 Windows API,它是用 C 编写的——或者至少是一个 C API。
  • @AndrewTruckle:我有这本书,而这正是让我感到困惑的书。书名是Teach Yourself Visual C++ in 21 Days,但是从一开始,这本书就开始讲使用MFC进行GUI开发。如果这本书是关于 Visual C++ 的,那么为什么要尝试使用 MFC 来教授 GUI?
猜你喜欢
  • 2013-06-21
  • 1970-01-01
  • 1970-01-01
  • 2010-11-24
  • 1970-01-01
  • 2012-11-22
  • 2012-02-08
  • 1970-01-01
  • 2013-03-31
相关资源
最近更新 更多