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

Cannot understand relationship between normal c++ vs vc++, win32 programming, mfc, win32 api, CLI

本文关键字:win32 mfc 编程 api CLI 关系 之间 vc++ c++      更新时间:2023-10-16
  1. 什么是 mfc、cli 和 win32?你能帮我理解Visual Studio如何与这2个关系吗?
  2. C++和VC++有什么区别?当我们说"vc++"时,它是否意味着默认情况下的对话框,表单,窗口和其他gui元素?
  3. 如果我在不使用任何 win32 编程的情况下用 Visual C++ 创建一个基于控制台的应用程序,它是否有资格作为可视化应用程序?
  4. 框、对话框、窗体和其他 GUI 是否属于 win32 编程或它们不同?
  5. 除了基于控制台和 win32 编程之外,C++ 中还有哪些其他类型的编程?

请尽可能简单。

>C++是一种编程语言。它是编译的,这意味着你需要一个编译器来将源代码转换为可执行程序。

VC++是Microsoft的编译器,运行在MS Windows上,并将C++代码编译成MS Windows操作系统的可执行程序。

您可以使用C++编写各种程序,从设备驱动程序到Web浏览器插件。好吧,如果您喜欢,您甚至可以编写自己的操作系统。

为了简化开发,编译器开发人员(和第三方(编写了各种有用的库。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 控件作为要创建的"应用程序类型"。

好的,让我们从Windows开始。Windows 是使用 C/C++ 构建的。您可以使用Windows为您提供的功能编写Windows程序 - 这就是Win32

MFC = Microsoft 基础类 - 环绕 Win32 接口的C++类库。这是一个非常薄的包装器,这意味着您仍然可以(有时必须(访问 Win32 函数。按钮、对话框等是 Windows 中的原始控件。

控制台应用程序设计为在命令行(又名 dos box(中运行。您可以使用Windows的某些部分,如进程,文件系统等,但不能使用像对话框这样的"光学内容"。

VC++是一个术语,通常用于MFC的C++,或者至少在Windows下C++。