在c++编写的程序中c++怎么输出图片教程添加背景图片?


项目
06/16/2023
可以使用 C++ 创建各种类别的 Windows 应用程序。 每种应用程序都有自己的编程模型和一组特定于 Windows 的库,但 C++ 标准库和第三方 C++ 库可用于任何应用程序。本部分讨论如何使用 Visual Studio 和 MFC/ATL 包装器库创建 Windows 程序。 有关 Windows 平台本身的文档,请参阅 Windows 文档。命令行(控制台)应用程序C++ 控制台应用程序从控制台窗口中的命令行运行,只能显示文本输出。 有关详细信息,请参阅用 C++ 创建控制台计算器。本机桌面客户端应用程序本机桌面客户端应用程序是 C 或 C++ 窗口化应用程序,它使用原始本机 Windows C API 或组件对象模型 (COM) API 访问操作系统。 这些 API 本身主要以 C 编写。可以通过多种方式创建本机桌面应用:可以直接使用 Win32 API、使用处理操作系统事件的 C 样式消息循环进行编程。 或者,可以使用 Microsoft 基础类 (MFC) 进行编程(MFC 是包装 Win32 的面向对象的轻型 C++ 库)。 与通用 Windows 平台 (UWP) 相比,这两种方法都不被视为“新式”方法,但仍完全受支持,并且目前在全球运行着数百万行代码。 在窗口中运行的 Win32 应用程序要求开发人员在 Windows 过程函数中显式处理 Windows 消息。 尽管名称如此,不过 Win32 应用程序仍可编译为 32 位 (x86) 或 64 位 (x64) 二进制文件。 在 Visual Studio IDE 中,术语 x86 和 Win32 是同义词。若要开始进行传统 Windows C++ 编程,请参阅 Win32 和 C++ 入门。 对 Win32 有一些了解后,更容易了解 MFC 桌面应用程序。 有关使用复杂图形的传统 C++ 桌面应用程序示例,请参阅 Hilo:开发适用于 Windows 的 C++ 应用程序。C++ 还是 .NET?一般而言,C# 中的 .NET 编程不太复杂,不太容易出错,并且具有比 Win32 或 MFC 更新式的面向对象的 API。 在大多数情况下,其性能已够用。 .NET 具有用于实现丰富图形的 Windows Presentation Foundation (WPF),你可以使用 Win32 和新式 Windows 运行时 API。 作为一般规则,建议在需要以下功能时对桌面应用程序使用 C++:精确控制内存使用情况
以最经济的方式消耗功率
使用 GPU 进行常规计算
访问 DirectX
大量使用标准 C++ 库
还可以将 C++ 的强大功能和效率与 .NET 编程结合使用。 可以在 C# 中创建用户界面并使用 C++/CLI 使应用程序能够使用本机 C++ 库。 有关详细信息,请参阅使用 C++/CLI 进行 .NET 编程。组件对象模型 (COM) 是一种规范,它让以不同语言编写的程序可以相互通信。 许多 Windows 组件作为 COM 对象实现,并遵循用于对象创建、接口发现和对象销毁的标准 COM 规则。
从 C++ 桌面应用程序使用 COM 对象相对简单,而编写你自己的 COM 对象则更加高级。 活动模板库 (ATL) 提供可简化 COM 开发的宏和帮助程序函数。 有关详细信息,请参阅 ATL COM 桌面组件。通用 Windows 平台应用通用 Windows 平台 (UWP) 是新式 Windows API。 UWP 应用在任何 Windows 10 或 Windows 11 设备上运行。 它们将 XAML 用于用户界面,并且完全支持触摸。 有关 UWP 的详细信息,请参阅什么是通用 Windows 平台 (UWP) 应用?以及 Windows 通用应用指南。针对 UWP 的原始 C++ 支持由 (1) C++/CX(具有语法扩展的 C++ 方言)或 (2) Windows 运行时库 (WRL)(基于标准 C++ 和 COM)组成。 C++/CX 和 WRL 仍受支持,但不建议用于新开发。 对于新项目,建议使用完全基于标准 C++ 并提供更快性能的 C++/WinRT。桌面桥在 Windows 10 及更高版本中,可以将现有桌面应用程序或 COM 对象打包为 UWP 应用。 它可以使用 UWP 功能(例如触摸),或从新式 Windows API 集调用 API。 还可以在 Visual Studio 中将 UWP 应用添加到桌面解决方案、在单个包中将它们打包在一起以及使用 Windows API 在它们之间进行通信。Visual Studio 2017 版本 15.4 及更高版本允许你创建 Windows 应用程序包项目,以大大简化打包现有桌面应用程序的工作。 一些限制适用于桌面应用程序可以使用的注册表调用或 API。 但是在许多情况下,可以创建备用代码路径,以便在应用包中运行时实现类似功能。 有关详细信息,请参阅桌面桥。游戏DirectX 游戏可以在 PC 或 Xbox 上运行。 有关详细信息,请参阅 DirectX 图形和游戏。SQL Server 数据库客户端若要从本机代码访问 SQL Server 数据库,请使用 ODBC 或 OLE DB。 有关详细信息,请参阅 SQL Server Native Client。Windows 设备驱动程序驱动程序是低级组件,使来自硬件设备的数据可供应用程序和其他操作系统组件访问。 有关详细信息,请参阅 Windows 驱动程序工具包 (WDK)。Windows 服务Windows 服务是可以在后台运行的程序,用户交互很少或没有用户交互。 这些程序在 UNIX 系统上称为守护程序。 有关详细信息,请参阅 服务。Visual Studio 包含 C 运行时库 (CRT)、C++ 标准库和其他特定于 Microsoft 的库。 包含这些库的头文件的大多数包含文件夹位于 Visual Studio 安装目录的 \VC\ 文件夹下。 Windows 和 CRT 头文件位于 Windows SDK 安装文件夹中。vcpkg 包管理器使你可以方便地安装数百个适用于 Windows 的第三方开放源代码库。 有关详细信息,请参阅 vcpkg。Microsoft 库包括:Microsoft 基础类 (MFC):一种面向对象的框架,用于创建传统的 Windows 程序(特别是企业级应用程序),这些应用程序具有诸如功能按钮、列表框、树视图和其他控件等丰富的用户界面。 有关详细信息,请参阅 MFC Desktop Applications。
活动模板库 (ATL):一种功能强大的帮助程序库,用于创建 COM 组件。 有关详细信息,请参阅 ATL COM Desktop Components。
C++ AMP (C++ Accelerated Massive Parallelism):一种可以在 GPU 上实现高性能泛型计算工作的库。 有关详细信息,请参阅 C++ AMP (C++ Accelerated Massive Parallelism)。
并发运行时:一种可以简化多核和众核设备编程的并行和异步编程工作的库。 有关详细信息,请参阅并发运行时。
许多 Windows 编程方案还需要 Windows SDK,Windows SDK 包括可以实现对 Windows 操作系统组件访问的标头文件。 默认情况下,Visual Studio 会将 Windows SDK 作为 C++ 桌面工作负载的组件进行安装,这可实现通用 Windows 应用开发。 若要开发 UWP 应用,需要 Windows 10 或更高版本的 Windows SDK。 有关详细信息和下载链接,请参阅 Windows SDK。 (有关适用于 Windows 早期版本的 Windows SDK 的详细信息,请参阅 Windows SDK 存档)。Program Files (x86)\Windows Kits 是安装的所有 Windows SDK 版本的默认位置。其他平台(例如,Xbox 和 Azure)有自己 SDK,你可能需要安装这些 SDK。 有关详细信息,请参阅 DirectX 开发人员中心和 Azure 开发人员中心。开发工具Visual Studio 包含一个功能强大的本机代码调试器、静态分析工具、图形调试工具、一个功能齐全的代码编辑器、单元测试支持,以及许多其他工具和实用程序。 有关详细信息,请参阅 Visual Studio 开发入门和 Visual Studio 中的 C++ 开发概述。本部分内容
}
为了快速熟悉工具的使用以及了解C语言程序的编写。本节将通过一个想控制台输出”Hello,world“的程序为读者演示如何在Visual Studio工具中开发一个C语言应用程序。具体实现步骤如下:1.新建项目启动Visual Studio开发工具,在菜单栏中选择【文件】---【新建项目】如下图点击如中所示的【新建项目】菜单,此时会弹出新建项目窗口,在新建项目窗口中可以选择创建的项目类型,设置项目名称、位置、解决方案名称等。从图中可以看出,项目窗口大概可以分成3部分,其中模板区域可以选择要开发的项目的模板,项目区域可以选择要创建项目的类型。在项目区域的下方,可以设置项目名称、位置(项目的保存位置)以及解决方案名称,解决方案名称默认与项目名相同。模板去包含了项目开发章的多个模板,如:Visual Basuc、Visual C#、Visual C++等模板。由于我们是针对C语言进行解析。所以只会用到C++中的模板,接下来针对C++模板下的项目类型进行介绍,具体如下:Win32 控制台应用程序:用于创建 Win32 控制台应用程序的项目Win32 项目:用于创建 Win32 应用程序、控制台应用程序、DLL 或其他静态库项目空项目:用于创建本地应用程序的空项目生成文件项目:用于使用外部生成系统的项目在此选择C++的模板中的Win32控制台应用程序(运行结果会显示在命令行窗口中)。然后将项目名称设置为Prpgram01,项目的位置”D:itcast“,并将解决方案的名称设置为chapter01,这样创建的程序文件就会生成在”D:itcastchapter01“目录章。最后点击【确定】按钮,弹出一个Win32应用程序向导窗口,如下图所示:在图中所示的窗口中,系统默认选择控制台应用程序,然后点击【下一步】按钮,此时出现Win32应用程序向导的第二个窗口。如图:在图中,勾选【空项目】选项,然后点击【完成】按钮,至此便完成了Program01项目的创建。2.添加源文件项目创建完成后,就可以在Program01项目中添加C语言源文件。在Program01项目中的源文件夹上点击鼠标右键。在弹出的菜单中依次选择【添加】--->【新建项】点击图中新建项,随后在弹出的添加新项窗口里选择【++ 文件(.cpp)】,并在名称输入框中写”HelloWorld.c“3.编写代码HelloWorld.c源文件便创建成功,此时,在解决方案资源管理器的源文件夹中便可以看到HelloWorld.c文件。为了让大家对C语言编程有一个简单的了解,接下来在图中编写HelloWorld.c程序,具体代码如下:#include <stdio.h>
int main()
{
printf("Hello, worldn");
return 0
}这就是一个完整的C语言程序,接下来针对该程序的语法细节我们解释一下:第 1 行代码的作用是进行相关的预处理操作。其中字符“#”是预处理标志,用来对文本进行预处理操作,include 是预处理指令,它后面跟着一对尖括号,表示头文件在尖括号内读入。stdio.h就是标准输入输出头文件,由于在第 4 行用到了 printf()输出函数,所以需加此头文件。第 2 行代码声明了一个 main()函数,该函数是程序的主入口,程序总是从 main()函数开始执行。main()函数前面的 int 表示该函数的返回值类型是整型。代码第 3~6 行“{}”中的内容是函数体,程序的相关操作都要写在函数体中第 4 行代码声明了一个用于格式化输出的函数 printf(),该函数用于输出一行信息,可以简单理解为向控制台输出文字或符号等。printf()括号中的内容称为函数的参数,括号内可以看到输出的字符串“Hello, worldn”,其中“n”表示换行操作,它不会输出到控制台第 5 行代码中 return 语句的作用是将函数的执行结果返回,后面紧跟着函数的返回值,返回值一般用 0 或-1 表示,0 表示正常,-1 表示异常。值得一提的是,在 C 语言程序中,以分号(;)作为结束标记的代码都可称为语句,如例 1-1 中的第 4行、第 5 行代码都是语句,被“{}”括起来的语句被称为语句块。 4.运行程序编写完成之后,我们保存。就可以对HelloWorld程序进行编译和运行操作。选择【调试】--->【开始执行(不调试)】选项,或者直接使用快捷键Ctrl+F5来运行程序程序原型后,会弹出命令行窗口并在该窗口中输出运行结果。至此边完成了HelloWorld程序的创建、编写以及运行过程。再次我们只需要有一个大致的印象即可。后面会继续讲到Visual Studio开发程序编写C语言程序。
}

我要回帖

更多关于 c++怎么输出图片教程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信