重拾C++

工具
C++基础
代码规范
入门教程
REF.1 Visual c++简介
Visual C++集成开发环境(IDE)
向导(Wizard)
MFC库
REF.2 项目开发过程
REF.3 集成开发环境Developer Studio
REF.4 常用功能键及其意义

我竟然又搞起了C++,而且还必须使用VC++ 6.0 这个古老的工具,翻出了大学的C++课件资料过了一遍之后,竟然回忆起了大学时候在实验室揪心敲代码的心境,好吧打住,我是过来分享技术的~~

工具

工欲善其事必先利其器,因为这个 VC++ 6.0 古老的东西,网上的下载地址都失效了,翻遍各大搜索引擎之后,终于让我找到了由 UnpackCN里的高人 cntrump 制作的最新的 VC6 专业版 + SP6 + 2003r2 sdk + VAX +WndTabsEx+Windbg 增强版,集成了智能提示、标签页、行号显示等插件,原贴已经找不到了,在这里找到一个转帖:http://www.cctry.com/thread-158869-1-1.html,下载地址:http://pan.baidu.com/s/1mixxdWG,强烈推荐使用这个版本。此处在提供一个安装版吧,网上大多数也找不到了,最新SP6中文和英文集合,下载地址:链接:http://pan.baidu.com/s/1qYIqYpI 密码: jspb 。MSDN 下载地址:http://pan.baidu.com/s/1pLnkScz

C++基础

网上有很多很好的教程,比如 极客学院 的WIKI:http://wiki.jikexueyuan.com/project/cplusplus/;还有 w3school 的:http://www.w3cschool.cn/cpp

代码规范

Google C++ 风格指南:http://wiki.jikexueyuan.com/project/google-cplusplus-style-guide/

入门教程

来自于大学的资料,作者不详~~感谢我的本科 C++ 老师 席磊

REF.1 Visual c++简介

Visual C++是Microsoft公司的Visual Studio开发工具箱中的一个C++程序开发包。VisualStudio提供了一整套开发Internet和Windows应用程序的工具,包括VisualC++, Visual Basic, Visual Foxpro, Visual InterDev, Visual J++以及其他辅助工具,如代码管理工具Visual SourceSafe和联机帮助系统MSDN。Visual C++包中除包括C++编译器外,还包括所有的库、例子和为创建Windows应用程序所需要的文档。

从最早期的1.0版本,发展到最新的6.0版本,Visual C++已经有了很大的变化,在界面、功能、库支持方面都有许多的增强。最新的6.0版本在编译器、MFC类库、编辑器以及联机帮助系统等方面都比以前的版本做了较大改进。

Visual C++一般分为三个版本:学习版、专业版和企业版,不同的版本适合于不同类型的应用开发。实验中可以使用这三个版本的任意一种。

Visual C++集成开发环境(IDE)

集成开发环境(IDE)是一个将程序编辑器、编译器、调试工具和其他建立应用程序的工具集成在一起的用于开发应用程序的软件系统。Visual C++软件包中的Developer Studio就是一个集成开发环境,它集成了各种开发工具和VC编译器。程序员可以在不离开该环境的情况下编辑、编译、调试和运行一个应用程序。IDE中还提供大量在线帮助信息协助程序员做好开发工作。Developer Studio中除了程序编辑器、资源编辑器、编译器、调试器外,还有各种工具和向导(如AppWizard和ClassWizard),以及MFC类库,这些都可以帮助程序员快速而正确地开发出应用程序。

向导(Wizard)

向导是一个通过一步步的帮助引导你工作的工具。Developer Studio中包含三个向导,用来帮助程序员开发简单的Windows程序,它们是:

AppWizard: 用来创建一个Windows程序的基本框架结构。AppWizard向导会一步步向程序员提出问题,询问他所创建的项目的特征,然后AppWizard会根据这些特征自动生成一个可以执行的程序框架,程序员然后可以在这个框架下进一步填充内容。AppWizard支持三类程序:基于视图/文档结构的单文档应用、基于视图/文档结构的多文档应用程序和基于对话框的应用程序。也可以利用AppWizard生成最简单的控制台应用程序(类似于DOS下用字符输入输出的程序)。

ClassWizard: 用来定义AppWizard所创建的程序中的类。可以利用ClassWizard在项目中增加类、为类增加处理消息的函数等。ClassWizard也可以管理包含在对话框中的控件,它可以将MFC对象或者类的成员变量与对话框中的控件联系起来。

ActiveX Control Wizard: 用于创建一个ActiveX控件的基本框架结构。ActiveX控件是用户自定义的控件,它支持一系列定义的接口,可以作为一个可再利用的组件。

MFC库

库(library)是可以重复使用的源代码和目标代码的集合。MFC(Microsoft Fundamental Casses)是Visual C++开发环境所带的类库,在该类库中提供了大量的类,可以帮助开发人员快速建立应用程序。这些类可以提供程序框架、进行文件和数据库操作、建立网络连接、进行绘图和打印等各种通用的应用程序操作。使用MFC库开发应用程序可以减少很多工作量。

REF.2 项目开发过程

在一个集成的开发环境中开发项目非常容易。一个用C++开发的项目的通用开发过程可以用下图表示。

建立一个项目的第一步是利用编辑器建立程序代码文件,包括头文件、代码文件、资源文件等。然后,启动编译程序,编译程序首先调用预处理程序处理程序中的预处理命令(如 #include,#define 等),经过预处理程序处理的代码将作为编译程序的输入。编译对用户程序进行词法和语法分析,建立目标文件,文件中包括机器代码、连接指令、外部引用以及从该源文件中产生的函数和数据名。此后,连接程序将所有的目标代码和用到的静态连接库的代码连接起来,为所有的外部变量和函数找到其提供地点,最后产生一个可执行文件。一般有一个 makefile 文件来协调各个部分产生可执行文件。

可执行文件分为两种版本:Debug 和 Release。Debug 版本用于程序的开发过程,该版本产生的可执行程序带有大量的调试信息,可以供调试程序使用,而 Release 版本作为最终的发行版本,没有调试信息,并且带有某种形式的优化。学员在上机实习过程中可以采用 Debug 版本,这样便于调试。

选择是产生 Debug 版本还是 Release 版本的方法是:在 Developer Studio 中选择菜单 Build | Set Active Configuration,在弹出的对话框中,选择所要的类型,然后选择 OK 关闭对话框。 Visual C++ 集成开发环境中集成了编辑器、编译器、连接器以及调试程序,覆盖了的开发应用程序的整个过程,程序员不需要脱离这个开发环境就可以开发出完整的应用程序。

REF.3 集成开发环境Developer Studio

进入 Developer Studio

如果你使用的是 Visual C++ 6.0,则要进入 Developer Studio,需要单击任务栏中【开始】后选择【程序】,找到 Microsoft Visual Studio 6.0 文件夹后,单击其中的 Microsoft Visual C++6.0 图标,则可以启动 Developer Studio。

如果你使用的是 Visual C++ 5.0(6 都没人用了还提 5~~),则要进入 Developer Studio,需要单击任务栏中【开始】后选择【程序】,找到 Microsoft Visual C++ 5.0 文件夹后,单击其中的 Microsoft Visual C++5.0 图标,则可以启动 Developer Studio。

Developer Studio 的界面

Developer Studio 用户界面是一个由窗口、工具条、菜单、工具及其他部分组成的一个集成界面。通过这个界面,用户可以在同一环境下创建、测试、调试应用程序。

VC5 和 VC6 的 Developer Studio 的初始化界面有一些小的差异,VC5的界面如下:

工具条和菜单

用于提供用户操作的命令接口。菜单以文字和层次化的方式提供命令接口,工具条由一系列按钮组成。这些按钮用一系列小的位图标志。工具条以图标方式提供快速的命令选择。菜单和工具条在开发的不同进程有不同显示内容。当第一次打开 Developer Studio 时,标准的工具条和菜单就会显示出来,随着开发的不同步骤,不同的工具条就会自动显示出来,菜单也会有所变化。工具条有很多种,你可以显示任意多的工具条,只要屏幕空间允许。工具条可以任意移动,也可以放大缩小。工具条和菜单条功能基本相同,唯一的区别是:菜单条总占据一行,并且一般不能隐藏。

工作区窗口

这个窗口包含关于正在开发的这个项目的有关信息。在没有开发任何项目时,该窗口显示系统的帮助目录。当打开一个项目以后,工作区窗口将会显示关于当前项目的文件信息和类的信息。下图是打开一个项目 hello 以后的工作区窗口(假设该项目由两个文件 cpp1.cppcpp2.cpp 组成)。

文档窗口区

这个区域可以显示各种类型的文档,如源代码文件、头文件、资源文件等。可以同时打开多个文档。

输出窗口

输出窗口用来显示几种信息,可以通过选择不同的标签显示不同的信息。这些信息包括:编译连接结果信息(Build 标签)、调试信息(Debug 标签)、查找结果信息(Find in Files 标签)。其中查找结果信息有两个标签,可以显示两次在文件中查找指定内容的结果

VC6 因为在联机帮助系统上比 VC5 做了很大改进,所以在工作区窗口中没有 VC5 的 InfoView,初始化界面的其他部分都与 VC5 相似。Deleveloper Studio 使用 Microsoft Developer Network(MSDN)库作为它的联机帮助系统。其界面如下:

总的来说,窗口和命令接口(包括工具条和菜单条)是构成界面的最主要组成部分。通常有两种窗口:文档窗口和可附着(docking)窗口。文档窗口显示在文档窗口区,用于显示和编辑文档,其的大小和位置可以随其所处的 Developer Studio 窗口的改变而改变,可以最大化和最小化。可附着窗口可以附着于应用程序窗口的边界,也可以浮在屏幕上的任何位置。可附着窗口有:工作区(workspace)窗口,输出(output)窗口,调试窗口(包括 variable,watch,local 等窗口)等。

文档窗口的位置、大小及是否可见和它所在的项目有关,docking 窗口的位置、大小及是否可见则与项目进行的状态以及各种编辑和调试的操作有关。

各种窗口和各种工具条以及菜单构成了界面的布局。一旦用户决定了一种界面布局,系统就会一直为用户保持这种布局,直到用户下一次改变该布局为止。

获得帮助信息

大多数时候,你可以通过按F1得到上下文帮助。如在编辑文件时按 F1 可以得到有关编辑的帮助,在编译连接错误信息上按 F1 可以得到关于该错误的帮助信息。如果想系统地获得帮助,在 VC5 中可以单击工作区窗口的 InfoView 标签,从其中选择要想了解的内容。要想查找关于某个话题的帮助,可以选择菜单 Help | Search,在查询对话框中进行查找。VC6 中,可以通过选择菜单 Help | Contents 来启动 MSDN 查阅器,MSDN 查阅器是一个功能强大的程序,可以方便地浏览、查找信息,要想知道具体如何使用 MSDN 查阅器,可以在 MSDN 查阅器中选菜单 Help 下的命令。

Visual C++的编辑器

Developer Studio 包含一个功能强大的编辑器,可以编辑将被编译成 Windows 程序的 Visual C++ 源文件。这个编辑器有点像字处理器,但是没有字处理器具备的复杂的排版、文本格式等功能,它注重的是如何帮助程序员快速高效地编制程序。它具有以下特点:

  • 自动语法

    用高亮度和不同颜色的字来显示不同的语法成分,如注释、关键字和一般代码用不同的颜色显示。

  • 自动缩进

    帮助你排列源代码,使其可读性更强。

  • 参数帮助

    在编辑时用到预定义的 windows 函数时,可以自动为你显示函数参数。

  • 集成的关键字帮助

    能够使你快速得到任何关键字、MFC 类或 Windows 函数的帮助信息(按 F1 即可)。

  • 拖放编辑

    能够用鼠标选择文本并自由拖动到任意位置。

  • 自动错误定位

    能自动将光标移动到有编译错误的源代码处。

当你打开一个源代码文件时,就可以利用编辑器对其进行编辑。源代码文件在文档显示区显示,每个文件有独立的显示窗口。如果你选择用其他编辑器编辑源文件,必须将它以纯文本的方式保存。VC的编译器不能处理其中有特别格式字符的文件。

REF.4 常用功能键及其意义

为了使程序员能够方便快捷地完成程序开发,开发环境提供了大量快捷方式来简化一些常用操作的步骤。键盘操作直接、简单,而且非常方便,因而程序员非常喜欢采用键盘命令来控制操作。下面是一些最常用的功能键,希望学员在实验中逐步掌握。

操作类型 功能键 对应菜单 含义
文件操作 Ctrl+N File | New 创建新的文件、项目等
Ctrl+O File | Open 打开项目、文件等
Ctrl+S File | Save 保存当前文件
编辑操作 Ctrl+X Edit | Cut 剪切
Ctrl+C Edit | Copy 复制
Ctrl+V Edit | Paste 粘贴
Ctrl+Z Edit | Undo 撤消上一个操作
Ctrl+Y Edit | Redo 重复上一个操作
Ctrl+A Edit | Select All 全选
Del Edit | Del 删除光标后面的一个字符
建立程序操作 Ctrl+F7 Build | Compiler current file 编译当前源文件
Ctrl+F5 Build | Run exe 运行当前项目
F7 Build | Build exe 建立可执行程序
F5 Build | Start Debugging 启动调试程序
调试 F5 Debug | Go 继续运行
F11 Debug | Step into 进入函数体内部
shift+F11 Debug | Step out 从函数体内部运行出来
F10 Debug | Step over 执行一行语句
F9 设置/清除断点
Ctrl+F10 Debug | Run to cursor 运行到光标所在位置
shift+F9 Debug | QuickWatch 快速查看变量或表达式的值
Shift + F5 Debug | Stop debugging 停止调试

null

时间: 2025-01-04 22:02:57

重拾C++的相关文章

重拾linux

重拾linux 起因 因为想重拾起linux,同时需要用docker起几个镜像,用来学习网络知识.本来想直接去阿里云上买,后来一想自己机器上,起一个linux是个不错的选择,毕竟不花钱! 还可以用来做本地测试,学习使用linux.docker等.记录下过程,防止以后忘记!(所以不会涉及具体的安装步骤) 下载 到网易开源镜像站,挑选一个linux下载.我安装linux只要是为了学习运维方面的知识,同时用于进行网络知识方面的实践.如果你跟我一样,推荐Ubuntu server版本,纯字符界面,就跟一

重拾qt

最近公司又接了一个煤矿的项目,要写个小程序摘取数据,我是公司唯一c++程序员,本来搞ios搞好好的,现在又得重拾半年没摸得qt了.呵呵...呵呵呵. 这里只记录这次小程序的一些小的总结吧.. 1.中文字符: 函数:把一般字符串转为中文字符串: //中文处理 QString mysqlServerTs:: handleTheChinesCode(const char*words){ QTextCodec* tc = QTextCodec::codecForLocale(); return tc->

重拾梦想,做更好的自己

亥时,就寝,忽入空灵,甲申年出师已历一纪,诸多记忆电光石火逐一闪现.时年家贫无靠,生计无着,每日波奔却心系梦想,虽日日身疲体倦,却每以<孟子·告子下>篇中名句“天降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行指乱其所为,所以动心忍性,曾益其所不能也”以慰寸心,类比篇中清史名人,胸中满溢浩然正气,行事尽显峥嵘:历12载,生活稳定,已婚并育一女,四老体健而心宽,内子贤而持家,小女伶俐活泼,此三项尽得,可谓得意了. 然忆及往昔践行之路与现时行走之途,高下立判,原所行皆可日日前行,步步

重拾C/C++基础

1.复制指针时只复制指针中的地址,而不会复制指针指向的对象2.解决护栏柱错误的根本 是 从思想认知上搞定. 数组的序号为偏移量.  也即: 数组的第一个元素为arrName[0],其偏移量为03.使用strcpy函数时要注意,若是源串的长度大于目标串的长度,将会覆盖缓冲区后面的内容  所以尽量使用strncpy来替代strcpy4.数组可以使一维或者是多维.只要数组包含的元素为内置类型或者有默认构造函数的类,就可以初始化5.数学运算符有5个: +(加) -(减) *(乘) /(除) %(求模)6

重拾算法(5)——最小生成树的两种算法及其对比测试

重拾算法(5)——最小生成树的两种算法及其对比测试 什么是最小生成树 求解最小生成树(Minimum Cost Spanning Tree,以下简写做MST)是图相关的算法中常见的一个,用于解决类似如下的问题: 假设要在N个城市之间建立通信联络网,那么连通N个城市只需N-1条线路.这时自然会考虑这样一个问题:如何在最节省经费的前提下建立这个通信网. 在任意两个城市间都可以设置一条线路,相应地都要付出一定的经济代价.N个城市之间最多可能设置N(N-1)/2条线路,那么如何在这些线路中选择N-1条,

[java]基础重拾

7.17 重新学习了包管理 对于没有使用package打包的类,归到默认包.使用其他包名打包类,必须在工程文件夹下新建对应包名的目录.比如 package com.tencent.demo 则需要在工程文件夹下,新建名为com的文件夹,并在com文件夹下新建tencent文件夹,再简历demo文件夹,依次类推. [java]基础重拾

【玩转SQLite系列】(一)初识SQLite,重拾sql语句

转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53230842 本文出自[DylanAndroid的博客] [玩转SQLite系列](一)初识SQLite,重拾sql语句 SQLite由于是一个轻型的嵌入式的数据库,被应用于Android系统当中.在Android开发中 我们难免会用到SQLite数据库.接下来用一系列的文章来数据一下SQLite数据库. 一.认识SQLite 1.什么是SQLite SQLite,是一款轻型

【重拾】数据结构之一

前言 久违来一发,回来学校也都两周了,想想也该定下来学学点什么了,突然发现以前学的好像都已经忘的差不多了,而且以前学的也学得云里雾里,所以今天我要重拾数据结构. 何为数据结构 数据是描述客观事实的数和字符的集合,人们通常以数据元素作为数据的基本单位,比如52班的每个学生记录都是一个数据元素数据项是具有独立含义的最小数据单位. 数据结构是指所有数据元素已经数据元素之间的关系数据结构包括以下几个方面:    1.数据元素之间的逻辑关系,即数据的逻辑结构,它是数据结构在用户面前呈现的形式    2.数

编程成长日记——重拾C语言

人生总是需要一个契机才会去改变,其实与其说是契机,也不过是自己再给自己一次机会而已. 重拾C语言,我决定再给自己一次机会,不知道多年以后的我再次翻看这篇博客的时候会是怎样的心情,会不会记得当下身为大三狗的我终于想要告别一事无成,一无所获,一败涂地的颓废而不自知的大学生活,我不想说是为了理想而奋斗,更不是为了中华崛起,只是为了我自己,仅此而已. 感谢比特,给我一次改变的机会. 从零开始学起C语言. --------------------------------------煽情分割线-------

重拾算法(0)——目录

现在到了重拾基础算法,掌握算法思维的时候.暂定要学习的算法如下表. 1 算法 2 KMP 3 树 4 遍历二叉树 5 线索二叉树 6 霍夫曼树 7 图 8 深度优先搜索 9 广度优先搜索 10 最小生成树 11 最短路径 12 拓扑排序 13 关键路径 14 查找 15 线性表的查找 16 折半查找 17 树的查找 18 二叉排序树 19 平衡二叉树 20 B-树 21 B+树 22 散列表的查找 23 构造方法 24 处理冲突的方法 25 查找 26 排序 27 插入排序 28 直接插入排序