Visual-studio2012指导教程

上传人:bei****lei 文档编号:107081678 上传时间:2022-06-14 格式:DOC 页数:55 大小:609.33KB
收藏 版权申诉 举报 下载
Visual-studio2012指导教程_第1页
第1页 / 共55页
Visual-studio2012指导教程_第2页
第2页 / 共55页
Visual-studio2012指导教程_第3页
第3页 / 共55页
资源描述:

《Visual-studio2012指导教程》由会员分享,可在线阅读,更多相关《Visual-studio2012指导教程(55页珍藏版)》请在装配图网上搜索。

1、Visual C+ 指导教程 Visual Studio 2012在本指导教程中,将介绍 Visual Studio 开发环境,以及可以使用 Visual C+ 创建的各种类型的应用程序。其中包括命令行应用程序、Windows 应用程序,甚至简单的游戏。本指导教程还将介绍如何创建可重用代码库,以及如何在编写和测试了代码后将其交付给客户。因为每个主题都以上一主题中的信息为基础,所以我们建议您按顺序完成指导教程。在每个主题的底部,您可以找到指导教程下一主题的导航链接和上一主题的链接(如果需要返回并查看某些内容)。本指导教程假定您具备 C+ 语言的基础知识。本节内容Visual Studio IDE

2、 简介 (C+)描述如何使用 Visual Studio IDE 创建解决方案和项目,以便有效地编写代码并生成、调试、测试和部署应用程序。创建命令行应用程序 (C+)介绍 C 和 C+ 命令行应用程序,讨论如何创建符合 ANSI 的 C 或 C+ 程序,并描述如何使用命令行编译器编译应用程序。创建 Windows 应用程序 (C+)描述如何创建 Windows API (Win32) 应用程序、Windows 窗体应用程序、Windows 窗体控件,甚至简单的 DirectX 游戏。创建可重用代码(C+)描述如何创建动态链接库 (DLL)、静态库和托管程序集,以便多个应用程序可以方便地重用代码

3、。下一步要做什么 (C+)包含指向文档其他部分的链接,您可以学习关于指导教程中介绍的主题的更多信息。Visual Studio IDE 简介 (C+)Visual Studio 集成开发环境 (IDE) 提供了一组工具,可帮助您编写和修改代码,以及检测和更正错误。在这些主题中,您将创建一个新的标准 C+ 程序,并使用 Visual Studio 为 C+ 开发人员提供的功能测试该程序的功能。您创建的简单程序将跟踪有多少个玩家正在玩各种纸牌游戏。本演练涵盖以下内容: 演练:使用项目和解决方案 (C+) 演练:生成项目 (C+) 演练:测试项目 (C+) 演练:调试项目 (C+) 演练:部署程序

4、(C+)演练:使用项目和解决方案 (C+) 在 Visual Studio 中,可以将您的工作组织为项目和解决方案。一个解决方案可以包含多个项目,例如,一个 DLL 和一个引用该 DLL 的可执行文件。有关更多信息,请参见解决方案和项目基础知识。此演练演示如何创建项目,使用“解决方案资源管理器”向项目中添加文件,在文件中键入代码,然后生成项目。系统必备若要完成本演练,您必须了解 C+ 语言的基础知识。创建项目在使用 Visual Studio 编写 Visual C+ 程序的过程中,第一个任务是选择项目的类型。对于每个项目类型,Visual Studio 均会设置编译器设置,并会为您生成起始代

5、码。在此演练中的项目中,您将创建一个基本程序,该程序跟踪有多少个玩家正在玩不同的纸牌游戏。创建项目1. 在“文件”菜单上指向“新建”,再单击“项目”。2. 在新建项目对话框中,展开模板节点,展开VC+节点,然后单击Win32。3. 在已安装的模板列表中,单击Win32 控制台应用程序。4. 输入项目名称。对于此示例,请输入游戏。当您创建项目时,Visual Studio 会将该项目放入一个解决方案。默认情况下,解决方案的名称与项目名称相同。接受该名称。您可以接受默认位置、键入一个不同的位置或者浏览到要保存项目的目录。单击“确定”启动“Win32 应用程序向导”。5. 在“Win32 应用程序向

6、导”的“概述”页上,单击“下一步”。6. 在“应用程序类型”下的“应用程序设置”页,选择“控制台应用程序”。在“附加选项”下选择“空项目”设置。单击“完成”。现在有了项目,但项目还没有源代码文件。使用解决方案资源管理器“解决方案资源管理器”可帮助您使用解决方案中的文件和其他资源。在本节中,您将向项目中添加一个类,并且 Visual Studio 将添加 .h 和 .cpp 文件。然后,为测试类的主程序向项目添加一个新的源代码文件。向项目添加类1. 如果未显示“解决方案资源管理器”,请在“视图”菜单上,单击“解决方案资源管理器”。2. 在“解决方案资源管理器”中,右击“头文件”文件夹,指向“添加

7、”,然后单击“类”。在添加类向导,展开Visual C+节点,单击C+单击,在已安装模板的列表中C+ 类,然后单击添加。3. 在“一般 C+ 类向导”中,键入 Cardgame 作为“类名”,并接受默认的文件名和设置。单击“完成”。4. 对已在编辑区域中打开的 Cardgame.h 文件进行以下更改: 在类定义的左大括号之后添加两个私有数据成员。 int players; static int totalparticipants; 添加一个采用类型为int的参数之一的公共构造函数原型。 Cardgame(int p); 删除 Visual Studio 生成的默认构造函数。默认构造函数是没有参

8、数的构造函数。该默认构造函数类似于: Cardgame(void);5. 在您对 Cardgame.h 文件进行更改之后,该文件应类似于:6. #pragma once7. class Cardgame8. 9. int players;10. static int totalparticipants;11. public:12. Cardgame(int p);13. Cardgame(void);14. ;#pragma once行指明编译器只包含该文件一次。有关更多信息,请参见一旦。有关此头文件中的其他 C+ 关键字的信息,请参见类 (c+)、int、静态 (c+)和公共 (c+)。15

9、. 双击“源文件”文件夹中的 Cardgame.cpp,将其打开以进行编辑。16. 在#include Cardgame.h之后,添加以下各行。17. #include 18. using namespace std;19. 为采用一个int参数的构造函数添加代码。20. Cardgame:Cardgame(int p)21. 22. players = p;23. totalparticipants += p;24. cout p players have started a new game. There are now 25. totalparticipants players in t

10、otal. endl;26. 开始键入 pl 或 to 时,可以按 Ctrl+空格键,以便自动完成功能将为您完成键入players或totalparticipants的操作。27. 删除 Visual Studio 生成的以下默认构造函数。28. Cardgame:Cardgame(void);29. 在您对 Cardgame.cpp 文件进行更改之后,该文件应类似于:30. #include Cardgame.h31. #include 32. using namespace std;33.34. Cardgame:Cardgame(int p)35. 36. players = p;37.

11、 totalparticipants += p;38. cout p players have started a new game. There are now 39. totalparticipants players in total. endl;40. 41. Cardgame:Cardgame(void)42. 43. 有关#include的更多信息,请参见#include 指令 (c/c+)。添加源文件现在,为测试类的主程序添加一个源代码文件。添加新源文件1. 在“解决方案资源管理器”中,右击“源文件”文件夹,指向“添加”,然后单击“新建项”。在“Visual C+”类别中,选择“

12、代码”,然后单击“C+ 文件(.cpp)”。2. 当名称,输入 testgames,然后按添加。3. 在 testgames.cpp 编辑窗口中,键入以下代码。4. #include Cardgame.h5. #include “stdafx.h”6. int Cardgame:totalparticipants = 0;7. int main()8. 9. Cardgame *bridge = 0;10. Cardgame *blackjack = 0;11. Cardgame *solitaire = 0;12. Cardgame *poker = 0;13.14. bridge = ne

13、w Cardgame(4);15. blackjack = new Cardgame(8);16. solitaire = new Cardgame(1);17. delete blackjack;18. delete bridge;19. poker = new Cardgame(5);20. delete solitaire;21. delete poker;22.23. return 0;24. 有关此源文件中的 C+ 关键字的信息,请参见新运算符 (C+)和删除运算符 (C+)。25. 在“生成”菜单上,单击“生成解决方案”。来自生成的输出应显示在“输出”窗口中。这表示项目已编译,并且

14、未发生错误。如果未显示输出,请将您的代码与前面步骤中提供的代码进行比较。演练:生成项目 (C+)在本步骤中,您将故意在代码中引入一个 Visual C+ 语法错误,以了解什么是编译错误,以及如何修复它。编译项目时,会显示错误消息以指示所发生的问题的性质和位置。系统必备本主题假定您具备 C+ 语言的基础知识。使用 IDE 修复编译错误1. 在testgames.cpp中,删除最后一行中的分号,使代码如下所示:2. return 03. 在“生成”菜单上,单击“生成解决方案”。4. “输出”窗口中显示一条消息,指示生成项目失败。单击“输出”窗口中的“转到下一条消息”按钮(指向右方的绿色箭头)。“输

15、出”窗口中的错误消息和状态栏区域指示右大括号前缺少一个分号。若要查看有关错误的更多帮助信息,请突出显示错误,并按 F1 键。5. 将分号重新添加到导致语法错误的行的末尾:6. return 0;7. 在“生成”菜单上,单击“生成解决方案”。“输出”窗口中显示一条消息,指示项目已正确编译。演练:测试项目 (C+)以“调试”模式运行程序使您可以使用断点来暂停程序,以检查变量和对象的状态。在本步骤中,您将在程序运行时观察变量的值,并推断为什么值与预期的不同。系统必备本主题假定您具备 C+ 语言的基础知识。以“调试”模式运行程序1. 如果“testgames.cpp”文件不可见,请在编辑区域中单击该文

16、件对应的选项卡。2. 单击以下行,将其设置为编辑器中的当前行:3. solitaire = new Cardgame(1);4. 若要在该行上设置断点,请单击“调试”菜单上的“切换断点”,或者按 F9。也可以单击代码行左侧的区域来设置或清除断点。设置了断点的代码行的左侧会显示一个红色圆圈。5. 在“调试”菜单上,单击“开始调试”,或者按 F5。当程序运行到包含断点的行时,执行将暂时停止(因为程序处于“中断”模式)。代码行左侧的黄色箭头指示该行是要执行的下一个代码行。6. 若要检查Cardgame:totalparticipants变量的值,请将鼠标指针悬停在该变量上方。该变量的名称及其值 12

17、 即显示在工具提示窗口中。右击Cardgame:totalparticipants变量。选择“表达式:totalparticipants”,并单击“添加监视”以在“监视”窗口中显示该变量。您也可以选择该变量并将其拖动到“监视”窗口。7. 在“调试”菜单上,单击“逐过程”,或者按 F10 步进到下一行代码。Cardgame:totalparticipants的值现在显示为 13。8. 右击main方法的最后一行 (return 0;),并单击“运行到光标处”。代码左侧的黄色箭头指向要执行的下一个语句。9. 在 Cardgame 终止时,Cardgame:totalparticipants数应当减

18、小。此时,Cardgame:totalparticipants应当等于 0,这是因为所有的 Cardgame 指针都已删除,但是“监视 1”窗口指示Cardgame:totalparticipants等于 18。代码中存在一个 bug,您将在下一节中检测并修复它。10. 在调试菜单上,单击停止调试或按 shift F5 以停止程序。演练:调试项目 (C+)在本步骤中,您将修改程序以修复在测试项目时发现的问题。系统必备本主题假定您具备 C+ 语言的基础知识。修复包含 bug 的程序1. 若要明白在 Cardgame 对象销毁时会发生什么,请查看 Cardgame 类的析构函数。在“视图”菜单上,

19、单击“类视图”,或者单击“解决方案资源管理器”窗口中的“类视图”选项卡。展开“游戏”项目树并单击“Cardgame”类。下方的区域显示类的成员和方法。右击“Cardgame(void)”析构函数并单击“转到定义”。2. 要在 Cardgame 终止时减少totalparticipants,请在Cardgame:Cardgame析构函数的左大括号和右大括号之间键入以下代码:3. totalparticipants -= players;4. cout players players have finished their game. There are now 5. totalparticipa

20、nts players in total. endl;6. 7.8. 进行更改后,Cardgame.cpp文件应如下所示:9. #include Cardgame.h10. #include 11. using namespace std;12. Cardgame:Cardgame(int p)13. 14. players = p;15. totalparticipants += p;16. cout players players have started a new game. There are now 17. totalparticipants players in total. e

21、ndl;18. 19.20. Cardgame:Cardgame(void)21. 22. totalparticipants -= players;23. cout players players have finished their game. There are now 24. totalparticipants players in total. endl;25. 26. 在“生成”菜单上,单击“生成解决方案”。27. 在“调试”菜单上,单击“启动调试”,或按 F5,以“调试”模式运行该程序。程序将在第一个断点处暂停。28. 在“调试”菜单上,单击“逐过程”或者按 F10 逐句通过程

22、序。请注意,执行每个 Cardgame 构造函数后,totalparticipants的值会增大。而在删除每个指针(并调用析构函数)后,totalparticipants的值会减小。29. 单步执行至程序的最后一行。恰好在执行return语句之前,totalparticipants等于 0。继续逐句执行程序,直到在调试菜单上单击运行或按 F5 退出或从而使程序得以继续运行,直到退出。演练:部署程序 (C+)现在,我们创建了应用程序,最后一步是创建可供其他用户在其计算机上安装该程序的安装程序。为此,我们需要将新项目添加到现有解决方案。此新项目的输出是 setup.exe 文件,该文件用于安装我们

23、之前在另一台计算机上创建的应用程序。Note本主题中的信息不适用于 Visual C+ Express。本演练将使用 Windows Installer 来部署应用程序。您还可以使用 ClickOnce 部署应用程序。有关更多信息,请参见Visual C+ 应用程序的 ClickOnce 部署。有关常规部署的更多信息,请参见部署应用程序和组件。系统必备本主题假定您具备 C+ 语言的基础知识。此过程中使用的功能在 Visual C+ 学习版中不可用。创建安装项目和安装程序1. 在“文件”菜单上,单击“新建”,再单击“项目”。随即出现“添加新项目”对话框。2. 在“已安装的模板”下,展开“其他项目

24、类型”节点。接着,展开“安装和部署”节点并单击“Visual Studio Installer”。3. 从“模板”窗格中,选择“安装向导”。键入安装项目的名称,例如gameInstaller。在“解决方案”列表框中,选择“添加到解决方案”。单击“确定”按钮。4. 将出现“安装向导”。单击“下一步”继续。5. 从向导的“选择一种项目类型”窗格中,选择“为 Windows 应用程序创建一个安装程序”选项,并单击“下一步”继续。6. 从向导的“选择要包括的项目输出”窗格,选择“主输出 来自 游戏”,并单击“下一步”继续。7. 无需在安装程序中包括任何其他文件,因此,从安装程序的“选择要包括的文件”窗

25、格中,单击“下一步”。8. 检查向导的更改,并验证所有内容是否正确。单击“完成”创建项目。“解决方案资源管理器”中将列出新的gameInstaller项目。此项目将列出应用程序依靠的依赖项(如 C 运行库或 .NET Framework)以及安装程序中将包括的项目文件。创建安装项目后,有许多选项可以更改。有关更多信息,请参见Windows Installer 部署。9. 通过在“解决方案资源管理器”中选择安装程序并从“生成”菜单单击“生成 gameInstaller”来生成安装程序。10. 找到上一节创建的 setup.exe 和 gameInstaller.msi 程序。在计算机上双击任一文

26、件安装应用程序。创建命令行应用程序 (C+)我们已经学习了 Visual Studio IDE,现在可以开始使用 Visual C+ 编写程序了。我们将学习创建的第一个应用程序类型是命令行应用程序。命令行应用程序不包含图形用户界面 (GUI)。通常,命令行应用程序从控制台读取输入,并将输出写入该控制台,而不是写入图形窗口。在本节中,您将学习如何创建 C 和 C+ 命令行应用程序。还将学习如何创建不使用 Microsoft 扩展的标准 C 和 C+ 程序。如果您希望使用 Visual C+ 创建在其他操作系统上使用的应用程序,这将很有用。系统必备这些主题假定您具备 C+ 语言的基础知识。本节内容

27、 演练:创建标准 C+ 程序 (C+) 演练:在命令行上编译本机 C+ 程序 (C+) 演练:在 Visual Studio 中编译面向 CLR 的 C+ 程序 (C+) 演练:编译 C 程序演练:创建标准 C+ 程序 (C+)在 Visual Studio 集成开发环境中使用 Visual (IDE) C+ 创建标准 C+ 程序。通过采用此演练中的步骤,您可以创建一个项目,向该项目添加一个新文件,修改该文件以添加 C+ 代码,然后使用 Visual Studio 编译并运行程序。您可以键入自己的 C+ 程序,或者使用示例程序之一。此演练中的示例程序是一个控制台应用程序。此应用程序使用标准模板

28、库 (STL) 中的set容器。Visual C+ 使用 2003 C+ 标准进行编译,但有以下几点主要例外之处:两阶段名称查找、异常规范和导出。此外,Visual C+ 支持若干 C+0x 功能,例如,lambda、自动、static_assert、rvalue 引用和 extern 模板。Note如果要求符合标准,请使用/Za编译器选项来禁用对该标准的 Microsoft 扩展。有关更多信息,请参见/Za、/Ze(禁用语言扩展)。系统必备若要完成本演练,您必须了解 C+ 语言的基础知识。创建项目并添加源文件1. 通过以下方式创建一个项目:指向“文件”菜单上的“新建”,然后单击“项目”。2.

29、 在“Visual C+”项目类型窗格中,单击“Win32”,然后单击“Win32 控制台应用程序”。3. 键入项目名称。默认情况下,包含项目的解决方案与项目同名,但您可以键入其他名称。您也可以为项目键入其他位置。单击“确定”创建项目。4. 在“Win32 应用程序向导”中,单击“下一步”,选择“空项目”,然后单击“完成”。5. 如果未显示“解决方案资源管理器”,请在“视图”菜单上,单击“解决方案资源管理器”。6. 将一个新源文件添加到项目,如下所示。a. 在“解决方案资源管理器”中,右击“源文件”文件夹,指向“添加”,然后单击“新建项”。b. 在“代码”节点中单击“C+ 文件(.cpp)”,

30、为文件键入名称,然后单击“添加”。该 .cpp 文件即显示在“解决方案资源管理器”中的“源文件”文件夹中,并且文件将在 Visual Studio 编辑器中打开。7. 在编辑器内的文件中,键入使用标准 C+ 库的有效 C+ 程序,或者复制示例程序之一并将其粘贴在文件中。例如,您可以使用设置: 查找 (STL 示例)示例程序,该程序是帮助中附带的标准模板库示例之一。如果使用该示例程序,请注意using namespace std;指令。此指令使程序能够使用cout和endl,而无需完全限定名(std:cout和std:endl)。8. 保存该文件。9. 在“生成”菜单上,单击“生成解决方案”。“

31、输出”窗口显示有关编译过程的信息,例如,生成日志的位置,以及指示生成状态的消息。10. 在“调试”菜单上,单击“开始执行(不调试)”。如果使用了示例程序,将显示一个命令窗口,其中显示是否在集合中找到了特定的整数。演练:在命令行上编译本机 C+ 程序 (C+)Visual C+ 包括一个 C+ 编译器,可用来创建从基本 Visual C+ 程序到 Windows 窗体应用程序和组件的各种程序。通过按此演练的过程进行操作,您可以通过使用文本编辑器创建基本的 Visual C+ 程序,然后在命令行上对其进行编译。也可以编译使用 Visual Studio 集成开发环境 (IDE) 创建的 Visua

32、l C+ 程序。有关更多信息,请参见演练:在 Visual Studio 中编译面向 CLR 的 C+ 程序 (C+)。您可以使用自己的 Visual C+ 程序,而不是键入下面步骤中所示的程序。也可以使用其他帮助主题中的任何 Visual C+ 代码示例程序。系统必备若要完成本演练,您必须了解 C+ 语言的基础知识。创建 Visual C+ 源文件并在命令行上对其进行编译1. 打开“Visual Studio 2010 命令提示”窗口,方法是单击“开始”,指向“所有程序”、“Microsoft Visual Studio 2010”、“Visual Studio 工具”,然后单击“Visua

33、l Studio 2010 命令提示”。可能需要管理员凭据才能成功编译此演练中的代码,具体情况视计算机的操作系统和配置而定。若要以管理员身份运行“Visual Studio 2010 命令提示”窗口,请右击“Visual Studio 2010 命令提示”,然后单击“以管理员身份运行”。2. 在命令提示符下,键入notepad basic.cpp,并按Enter。在系统提示是否创建文件时,单击“是”。3. 在记事本中,键入下列各行。4. #include 5.6. int main()7. 8. std:cout This is a native C+ program. std:endl;9.

34、 return 0;10. 11. 在“文件”菜单上,单击“保存”。这样就创建了一个 Visual C+ 源文件。12. 关闭记事本。13. 在命令提示符下,键入cl /EHsc basic.cpp,并按Enter。/EHsc命令行选项指示编译器启用 C+ 异常处理。有关更多信息,请参见/EH(异常处理模型)。cl.exe 编译器将生成一个名为basic.exe的可执行程序。您可以在编译器显示的多行输出信息中看到可执行程序的名称。14. 若要查看目录中具有名称basic以及任何文件扩展名的文件的列表,请键入dir basic.*并按Enter。.obj文件是一个中间格式文件,可以安全地忽略它。

35、15. 若要运行 basic.exe 程序,请键入basic并按Enter。该程序显示以下文本并退出:This is a native C+ program.16. 若要关闭“Visual Studio 2010 命令提示”窗口,请键入exit并按Enter。编译使用 .NET 类的 Visual C+ 程序下面的步骤演示如何编译使用 .NET Framework 类的 Visual C+ 程序。您必须使用/clr(公共语言运行时编译)编译器选项,因为此程序使用 .NET 类并且必须包括必要的 .NET 库。Visual C+ 编译器生成的 .exe 文件包含 MSIL 代码,而不是可由计算机

36、执行的指令。按照本过程中的步骤编译帮助主题中的任何 Visual C+ 示例程序。在命令行上编译 Visual C+ .NET 控制台应用程序1. 打开“Visual Studio 2010 命令提示”窗口,方法是单击“开始”,指向“所有程序”、“Microsoft Visual Studio 2010”、“Visual Studio 工具”,然后单击“Visual Studio 2010 命令提示”。可能需要管理员凭据才能成功编译此演练中的代码,具体情况视计算机的操作系统和配置而定。若要以管理员身份运行“Visual Studio 2010 命令提示”窗口,请右击“Visual Studio

37、 2010 命令提示”,然后单击“以管理员身份运行”。2. 在命令提示符下,键入notepad basicclr.cpp,并按Enter。在系统提示是否创建文件时,单击“是”。3. 在记事本中,键入下列各行。4. int main()5. 6. System:Console:WriteLine(This is a Visual C+ program.);7. 8. 在“文件”菜单上,单击“保存”。您已经创建了一个使用 .NET 类 (Console) 的 Visual C+ 源文件,该文件位于System命名空间。9. 关闭记事本。10. 在命令提示符下,键入cl /clr basicclr.

38、cpp,并按Enter。cl.exe 编译器将生成一个名为basicclr.exe的可执行程序。11. 若要查看目录中具有名称basicclr以及任何文件扩展名的文件的列表,请键入dir basicclr.*并按 Enter。.obj文件是一个中间格式文件,可以安全地忽略它。.manifest文件是包含有关程序集的信息的 XML 文件。(程序集是 .NET 部署单元,例如 .exe 程序或 .dll 组件或库。)12. 若要运行 basicclr.exe 程序,请键入basicclr并按Enter。该程序显示以下文本并退出:This is a Visual C+ program.13. 若要关

39、闭“Visual Studio 2010 命令提示”窗口,请键入exit并按Enter。演练:在 Visual Studio 中编译面向 CLR 的 C+ 程序 (C+)通过使用 Visual Studio 开发环境,您可以创建使用 .NET 类的 Visual C+ 程序,并对它们进行编译。在本过程中,您可以键入自己的 Visual C+ 程序,也可以使用示例程序之一。本过程中使用的示例程序创建一个名为 textfile.txt 的文本文件,并将其保存到项目目录中。系统必备这些主题假定您具备 C+ 语言的基础知识。在 Visual Studio 中创建新项目并添加新的源文件1. 创建新项目。

40、在“文件”菜单上,指向“新建”,然后单击“项目”。2. 在“Visual C+ 项目类型”中单击“CLR”,然后单击“CLR 空项目”。3. 键入项目名称。默认情况下,包含项目的解决方案与新项目同名,当然,您也可以键入其他名称。如果愿意,您可以为项目输入一个不同的位置。单击“确定”创建新项目。4. 如果“解决方案资源管理器”不可见,请单击“视图”菜单上的“解决方案资源管理器”。5. 向该项目添加新的源文件: 在解决方案资源管理器中右击“源文件”文件夹,指向“添加”并单击“新建项.”。 单击“C+ 文件(.cpp)”,键入一个文件名,然后单击“添加”。该.cpp文件即显示在“解决方案资源管理器”

41、中的“源文件”文件夹中,并且,在键入要包含在该文件中的代码的位置,出现一个选项卡式窗口。6. 在 Visual Studio 中,在新创建的选项卡中单击并键入有效的 Visual C+ 程序,或者复制并粘贴示例程序之一。例如,您可以使用How to: Write a Text File示例程序(位于“编程指南”中的“文件处理和 I/O”节点)。如果要使用示例程序,请注意在创建 .NET 对象时,您可以使用gcnew关键字(而非new),且gcnew返回一个句柄 () 而不是指针 (*):StreamWriter sw = gcnew StreamWriter(fileName);有关新 Vis

42、ual C+ 语法的更多信息,请参见运行时平台的组件扩展。7. 在“生成”菜单上,单击“生成解决方案”。“输出”窗口显示有关编译过程的信息,如生成日志的位置,以及指示生成状态的消息。如果进行了更改,并在未执行生成的情况下运行该程序,则对话框可能指示该项目已过期。如果要让 Visual Studio 始终使用文件的当前版本,并且在每次生成应用程序时不发出提示,请在单击“确定”之前选中此对话框上的复选框。8. 在“调试”菜单上,单击“开始执行(不调试)”。9. 如果您使用的是示例程序,则在运行程序时将显示一个命令窗口,指示已创建了该文本文件。按任意键,关闭该命令窗口。textfile.txt文本文

43、件现在位于您的项目目录中。您可以使用记事本打开此文件。Note选择空 CLR 项目模板会自动设置/clr编译器选项。若要验证这一点,请在“解决方案资源管理器”中右击该项目,再单击“属性”,然后选中“配置属性”的“常规”节点中的“公共语言运行时支持”选项。演练:编译 C 程序VisualStudio 包括可用来创建从基本基本的 C 程序到 windows API 应用程序的 c. 编译器。此演练演示如何使用文本编辑器创建一个基本的 C 程序,然后在命令行上对其进行编译。您可以使用自己的 C 程序,而不是键入此演练中所示的示例程序。也可以使用帮助主题中包含的任何 C 代码示例程序。默认情况下,Vi

44、sual C+ 编译器将以 .c 结尾的所有文件视为 C 源代码,将以 .cpp 结尾的所有文件视为 C+ 源代码。若要强制编译器将所有文件视为 C(而不管文件扩展名如何),请使用/Tc编译器选项。系统必备您必须了解 C+ 语言的基础知识。创建 C 源文件并在命令行上对其进行编译1. 单击“开始”,指向“所有程序”、“Microsoft Visual Studio 2010”和“Visual Studio 工具”,然后单击“Visual Studio 2010 命令提示”。根据计算机上的 Windows 版本和系统安全配置,可能必须右击“Visual Studio 2008 命令提示”,然后单

45、击“以管理员身份运行”,才能成功运行按下列步骤创建的应用程序。Note“Visual Studio 2010 命令提示”会自动设置 C 编译器和所需的任何库的正确路径。应使用它而不是使用普通的“命令提示符”窗口。有关更多信息,请参见为命令行生成设置路径和环境变量。2. 在命令提示符下,键入notepad simple.c,并按 Enter。在系统提示是否创建文件时,单击“是”。3. 在记事本中,键入下列各行。4. #include 5.6. int main()7. 8. printf(This is a native C program.n);9. return 0;10. 11. 在“文件

46、”菜单上,单击“保存”,以创建 C 源文件。12. 关闭记事本。13. 在命令提示符下,键入cl simple.c,并按 Enter。cl.exe编译器将生成一个可执行程序 Simple.exe。您可以在编译器显示的多行输出信息中看到可执行程序的名称。Microsoft (R) 32-bit C/C+ Optimizing Compiler Version 16.00 for 80x86Copyright (C) Microsoft Corporation. All rights reserved.simple.cMicrosoft (R) Incremental Linker Version

47、 10.00Copyright (C) Microsoft Corporation. All rights reserved./out:simple.exesimple.obj14. 若要查看 simple 目录中的所有文件的列表,请键入dir simple.*并按 Enter。.obj 文件是一个中间格式文件,可以安全地忽略它。15. 若要运行 Simple.exe,请键入simple并按 Enter。该程序显示以下文本并退出:This is a native C program.16. 若要关闭命令提示符窗口,请键入exit并按 Enter。创建 Windows 应用程序 (C+)现在我们

48、学习了 Visual Studio IDE 和命令行应用程序,下面将学习如何创建 Windows 应用程序。使用 Visual C+,可以通过使用多种不同的技术来创建 Windows 应用程序,如Windows API(也称为 Win32 API)和 .NET Framework。在本节中,我们将通过使用 Win32 API 和 .NET Framework 创建两个简单的 Windows 应用程序。我们还将通过使用 .NET Framework 创建 Windows 窗体控件,最后将通过使用 DirectX 创建一个简单的游戏。系统必备这些主题假定您具备 C+ 语言的基础知识。本节内容 创建

49、基于 Win32 的应用程序 (C+) 通过使用 .NET Framework 创建 Windows 窗体应用程序 (C+) 创建 Windows 窗体控件 (C+) 创建的一个游戏资源使用 DirectX (c+)创建基于 Win32 的应用程序 (C+)本演练演示如何创建基于 Win32 的简单基本应用程序,该应用程序在窗口中显示“Hello, World!”。您可以使用在此演练中开发的代码作为创建其他基于 Win32 的应用程序的模式。Win32 API(也称为 Windows API)是用于创建 Windows 应用程序的基于 C 的框架。有关 Win32 API 的更多信息,请参见W

50、indows API。重要事项为了可以更加清楚地说明本文档内各步骤中的特定代码段,我们可能会省略一个有效应用程序所必需的某些代码语句,例如 include 指令和全局变量声明。本文档末尾的示例一节显示了完整代码。系统必备若要完成本演练,您必须了解 C+ 语言的基础知识。有关视频演示,请参见 Visual Studio 2008 文档中的Video How to: Creating Win32 Applications (C+)(视频帮助:创建 Win32 应用程序 (C+))。创建基于 Win32 的项目1. 在“文件”菜单上,单击“新建”,然后单击“项目”。2. 在“新建项目”对话框的左侧窗

51、格中,单击“已安装的模板”,单击“Visual C+”,然后选择“Win32”。在中间窗格中,选择“Win32 项目”。在“名称”框中,键入项目名称,例如win32app。单击“确定”。3. 在“Win32 应用程序向导”的“欢迎”页上,单击“下一步”。4. 在“应用程序设置”页上的在“应用程序类型”下,选择“Windows 应用程序”。在“附加选项”下,选择“空项目”。单击“完成”创建项目。5. 在“解决方案资源管理器”中,右击 Win32app 项目,单击“添加”,然后单击“新建项”。在“添加新项”对话框中选择“C+ 文件(.cpp)”。在“名称”框中,键入文件名称,例如GT_HelloW

52、orldWin32.cpp。单击“添加”。启动基于 Win32 的应用程序1. 就像每个 C 应用程序和 C+ 应用程序都以main函数作为起点那样,每个基于 Win32 的应用程序同样必须要有WinMain函数。WinMain具有以下语法。2. int WINAPI WinMain(HINSTANCE hInstance,3. HINSTANCE hPrevInstance,4. LPSTR lpCmdLine,5. int nCmdShow);有关此函数的参数和返回值的信息,请参见WinMain 函数。6. 由于应用程序代码必须使用现有定义,因此应将 include 语句添加到文件中。7.

53、 #include 8. #include 9. #include 10. #include 11. 除WinMain函数外,每个基于 Win32 的应用程序还必须具有一个窗口过程函数。此函数通常名为WndProc。WndProc具有以下语法。12. LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);此函数处理应用程序从操作系统接收的许多消息。例如,在具有对话框(该对话框中有一个“确定”按钮)的应用程序中,如果用户单击该按钮,操作系统就会向该应用程序发送一条消息,告知已单击该按钮。WndProc负责响应该事件。在此示例中,相应的响应可能是

54、关闭该对话框。有关更多信息,请参见窗口过程。向 WinMain 函数添加功能1. 在WinMain函数中,创建WNDCLASSEX类型的窗口类结构。此结构包含有关该窗口的信息,例如,应用程序图标、窗口的背景色、要在标题栏中显示的名称、窗口过程函数的名称等等。下面的示例演示一个典型WNDCLASSEX结构。2. WNDCLASSEX wcex;3.4. wcex.cbSize = sizeof(WNDCLASSEX);5. wcex.style = CS_HREDRAW | CS_VREDRAW;6. wcex.lpfnWndProc = WndProc;7. wcex.cbClsExtra =

55、 0;8. wcex.cbWndExtra = 0;9. wcex.hInstance = hInstance;10. wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_APPLICATION);11. wcex.hCursor = LoadCursor(NULL, IDC_ARROW);12. wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);13. wcex.lpszMenuName = NULL;14. wcex.lpszClassName = szWindowClass;15. wcex.

56、hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_APPLICATION);有关此结构的各字段的信息,请参见WNDCLASSEX。16. 现在您已经创建一个窗口类,接下来必须将其注册。使用RegisterClassEx函数,并将窗口类结构作为参数进行传递。17. if (!RegisterClassEx(&wcex)18. 19. MessageBox(NULL,20. _T(Call to RegisterClassEx failed!),21. _T(Win32 Guided Tour),22. NULL);23.24. retu

57、rn 1;25. 26. 现在可以创建一个窗口。使用CreateWindow函数。27. static TCHAR szWindowClass = _T(win32app);28. static TCHAR szTitle = _T(Win32 Guided Tour Application);29.30. / The parameters to CreateWindow explained:31. / szWindowClass: the name of the application32. / szTitle: the text that appears in the title bar3

58、3. / WS_OVERLAPPEDWINDOW: the type of window to create34. / CW_USEDEFAULT, CW_USEDEFAULT: initial position (x, y)35. / 500, 100: initial size (width, length)36. / NULL: the parent of this window37. / NULL: this application does not have a menu bar38. / hInstance: the first parameter from WinMain39.

59、/ NULL: not used in this application40. HWND hWnd = CreateWindow(41. szWindowClass,42. szTitle,43. WS_OVERLAPPEDWINDOW,44. CW_USEDEFAULT, CW_USEDEFAULT,45. 500, 100,46. NULL,47. NULL,48. hInstance,49. NULL50. );51. if (!hWnd)52. 53. MessageBox(NULL,54. _T(Call to CreateWindow failed!),55. _T(Win32 Guided Tour),56. NULL);57.58. return 1;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!