无法理解普通c++与vc++、win32编程、mfc、win32 api、CLI之间的关系

2 c++ winapi mfc c++-cli visual-c++

  1. 什么是mfc、cli、win32?您能帮我了解 Visual Studio 与这两者的关系如何工作吗?
  2. c++和vc++有什么区别?当我们说“vc++”时,它是否意味着默认的对话框、窗体、窗口和其他 gui 元素?
  3. 如果我在 Visual C++ 中创建基于控制台的应用程序,而不使用任何 win32 编程,它是否符合可视化应用程序的资格?
  4. 框、对话框、表单和其他 gui 是否属于 win32 编程,或者它们有什么不同?
  5. 除了基于控制台和 win32 编程之外,C++ 中还有哪些其他类型的编程?

请使其尽可能简单。

Jay*_*ker 5

C++ 是一种编程语言。它是编译的,这意味着您需要一个编译器将源代码翻译成可执行程序。

VC++是微软公司的一个运行在MS Windows上的编译器,将C++代码编译成MS Windows操作系统的可执行程序。

您可以用 C++ 编写各种类型的程序,从设备驱动程序到网络浏览器插件。好吧,如果您愿意,您甚至可以编写自己的操作系统。

为了简化您的开发,编译器开发人员(和第三方)编写了各种有用的库。MFC 是一个库(更准确地说是一个框架)的示例,它可以帮助您在 MS Windows 上开发“可视化应用程序”。市场上还有 MFC 的其他替代品。

现在回答您的问题:

  1. MFC 是 Microsoft 用于在 Visual C++ 中创建可视化应用程序的框架。CLI 是命令行界面。除了命令行输入之外,CLI 应用程序通常没有任何可视元素——它们也大多没有任何菜单和鼠标交互。Win32 是 32 位 MS Windows 应用程序的通用术语。您还可以针对 64 位 Windows 进行开发。

  2. C++是一种语言。VC++是一个编译器。除了 C++ 中提供的功能之外,该编译器还附带了一些附加功能,以简化 MS Windows 开发,特别是通过 MFC。

  3. 没有标准术语“可视化应用程序”,但宽泛地说,如果没有图形元素,您的应用程序将不会被视为可视化应用程序。

  4. 对话框、窗体和其他 GUI 元素确实属于 Win32 编程。正如前面所暗示的,您可以利用 MFC 来简化此类 Win32 应用程序的开发。

  5. 超越基于控制台和 Win32 编程:我认为当您在 IDE 中创建新的 C++ 项目时,您会因为 Visual Studio 附带的各种“向导”而感到困惑。您的安装中可能配置了多种类型的向导;仅举几个例子:您还可以将 ActiveX 和 MFC 控件作为要创建的“应用程序类型”。

  • 在这种情况下,CLI 可能指的是 C++CLI,而不是命令行界面。 (3认同)