VS初级教程.docx
《VS初级教程.docx》由会员分享,可在线阅读,更多相关《VS初级教程.docx(46页珍藏版)》请在冰豆网上搜索。
VS初级教程
VisualC++2010初级教程
Borlittle整理
2010-9-22
本文档所有文章均来自互联网,均有文章来源,文章版权均归原作者所有,更多文章详情请参见相关网址链接。
本文档仅作为个人参考学习使用,不得作为商业用途。
目录
《VisualC++2010入门教程》系列二:
安装、配置和首次使用VS20101
写在前面 第一章关于VisualStudio、VC和C++的那些事1
第二章安装、配置和首次使用VS20102
安装2
配置10
HelloWorld.18
VS2010正式到手,说说几点试用体会29
VS2010中使用main函数作为C++的入口函数本篇文章32
vs2010中怎么写个简单的C++程序?
32
vs2010中VC++的6个新特点34
一、VisualC++工程及其构建系统34
(一)MSBuild34
(二)VC++目录34
(三)工程依托性34
(四)宏与环境变量35
二、VisualC++库35
(一)/analyze劝诫35
(二)重启动维护器35
(三)MFC库35
(四)新的ATL宏35
(五)新库35
三、集成开发环境(IDE)36
(一)改进的错误智能感知支持36
(二)#include自动完成特征36
四、VisualC++编译器和链接器36
(一)auto主要字36
(二)decltype操作符36
(三)Lambda表达式36
(四)Rvalue援用37
(五)static_assert声明37
(六)nullptr和__nullptr主要字37
(七)/Zc:
trigraphs编译器选项37
(八)新的基于配置的优化选项38
(九)新的通用言语运转时(CLR)选项/clr:
nostdlib38
(十)新的pragma指令detect_mistmatch38
五、工具38
(一)ATL控件向导38
(二)MFC类向导38
六、微软宏汇编器参考38
[转]vs2010MSDN文档安装方法39
vs2010MSDN文档安装方法39
【方法一】39
【方法二】41
First look:
Visual Studio 2010 Beta 1 shows some leg42
改进的用户界面:
43
调试和TDD43
.Net语言44
Beta版的bug和遗漏45
一个C++老鸟眼中的C++VSJava45
1、在内存管理方面46
2、在多线程编程方面46
3、在网络编程方面46
在VisualStudio2010编写C程序47
《VisualC++2010入门教程》系列二:
安装、配置和首次使用VS2010
作者:
董波
日期:
2010.6.15
写在前面 第一章关于VisualStudio、VC和C++的那些事
在我还在上学的时候,我选择了C++,最初我用VC6作为我的IDE,我看过很多本C++的教材,有的适合我,有的不适合我,其中有一本叫《VisualC++2005入门经典》的书帮了我不少的忙。
因为通常的C++教材都只会介绍C++的语法什么的,很少会告诉我们如何去编译、运行,告诉我们什么是控制台程序,什么事Win程序,什么是GUI程序,C++能干什么,VC和C++的区别是什么。
现在有很多的朋友应该也有这些问题吧?
学C++用C++也有几年了,算不上熟悉,算是初窥门径吧,我想我应该做点什么帮助一下那些和曾经的我一样困惑的朋友,特别是学生朋友,告诉他们他们所困惑的问题的答案。
记得我学C++的时候,没有人教,有的时候也走了不少弯路,甚至连调试也不会,也不知道可以通过看调用堆栈看调用次序,还自己慢慢的去搜索,好傻啊。
接下来我会做一个《VisualC++2010入门教程》系列,用来帮助初学者。
刚开始学的时候是很痛苦的,这个我深有体会,特别是身边还没有人能够指导一二的。
内容主要涵盖在Windows下面使用C++进行开发的常见内容,VisualStudio2010的使用,如何创建新项目,如何调试,如果配置项目属性等等,另外还会介绍VisualC++2010中新加如的一些内容,包括一些新的STL组建,一些新的语法支持等等。
由于本人水平有限,其中难免有错误,希望大家谅解,如果大家有发现问题还请务必及时指出来,否则误导了他人我就罪不容恕了。
注意,本教程非C++教程,不会教你C++,只会教你如何使用VisualC++2010去练习去学习其它C++教材上面的程序。
因此建议大家认真的去看其他的C++教程,在使用VisualC++2010实践的时候如果遇到问题可以到这里来参考。
推荐《C++Primer》、《C++程序设计语言》《VisualC++2008入门经典》。
第二章安装、配置和首次使用VS2010
本章将帮助大家安装VisualC++2010,帮助大家做一些常见的配置,以及第一次使用它来写HelloWord程序。
安装
VisualC++2010是属于VisualStudio2010的一部分,这个在前一章中已经讲解过,实际上VisualC++2010也有更多的子版本,正如Windows7有旗舰版、家庭高级版、家庭初级版一样。
在上一章的下载地址中有两个版本可以选择,我选择的时候旗舰版,这个功能最全面。
如果你下载完毕了,应该有一个ISO镜像文件,如果你是从我给的地址下载的,那么那个序列号已经被替换成正版序列号,直接安装即可。
下面是ISO文件截图:
这就是光盘镜像文件,我们有多种方式可以安装它,你可以把它烧录成光盘,也可以用虚拟光驱软件安装它,由于这个ISO已经被修改过了,你甚至可以直接解压它,然后运行里面的setup.exe进行安装。
这里我使用虚拟光驱进行说明,首先我假设你已经安装好了虚拟光驱软件DAEMONToolsLite,如果你还没有安装,请去游侠补丁网下载,因为在那里你总是能找到最新的免费版本。
接下来我们通过虚拟光驱加载刚才下载好的ISO镜像:
在弹出的对话框中选择我们下载好的ISO文件。
这个时候,虚拟光驱里面已经替我们打开了ISO文件,有的机器可能会自动弹出安装提示,有的不会。
如果自动弹出安装提示,那么直接通过即可,如果没有弹出,那么用资源管理器方式进入虚拟光驱点击Setup.exe即可开始安装。
由于我已经安装好了VS2010,所以接下来无法给大家截图了,我就直接用文字描述吧。
当弹出VS2010安装程序之后点下一步,然后我们可能会看到完全最小自定义这样的选项,我推荐大家选择自定义,因为只有这样我们才可以自定我们安装的目录。
接下来会选择安装的组件。
这个时候我们会看到大量的VS2010的组件,这里我们可以选择是否安装Basic是否安装C#等等,我在网上找到一些图片,虽然跟中文版2010不一样,大家大概的样子是一样的,大家就凑合着看看吧。
下面是开始的界面,我们应该选择安装VS2010.
上面这个时候选择同意。
然后安装包会开始搜集信息:
选择目录:
然后就是开始安装了,注意安装的时候可能需要重启一两次。
最后安装成功:
配置
当安装成功之后,我们就可以开始使用了,这里我先教大家做一些常见的配置,当然大家也可以直接用默认的设置,我这样配置主要是为了方便。
下面通过开始菜单来启动VS2010吧:
如果你是第一次开始,那么可能会让你选择默认的环境设置,我们要使用VC当然选择VC的配置:
出现下面的画面表示已经成功安装和运行了。
这是起始页面,以后你会经常见到它。
注意,你可能会没有VAssistX这个菜单,因为这个是个外部工具,以后会给大家解释它的用处,现在暂时忽略。
接下来让我们来做一些常见的设置。
通过菜单工具》选项调出配置对话框,下面是一些常见的设置:
调处行号,选择文本编辑器,所有语言,把行号打成勾。
如果你想调整字体或者颜色,那么可以在这里选择:
单击工具栏的空白区域,让我们把生成工具栏调出来:
这样我们就可以直接在工具栏上面选择编译项目、编译整个解决方案、运行程序和调试程序了。
选择生成工具栏旁边的小三角形可以自定,我们还可以添加一些按钮:
单击自定义界面下面的添加按钮就可以添加新的按钮了,现在我们把开始执行(不调试)添加工具栏中:
以前经常有人问我为什么我的程序闪一下就没了,这就是因为它们把调试(F5,那个实心的三角形)当成了运行(不调试,Ctrl+F5,空心带尾巴的三角形)了。
当然是一闪而过啦。
关于调试以后说到。
HelloWorld.
下面让我们用VC++2010也就是VC10来做一个控制台的HelloWorld程序吧。
VC2010里面不能单独编译一个.cpp或者一个.c文件,这些文件必须依赖于某一个项目,因此我们必须创建一个项目。
有很多种方法都可以创建项目,可以通过菜单:
文件,新建,项目;也可以通过工具栏点击新建项目进行创建。
这里我们点击起始页面上面的新建项目:
点击之后进入新建项目向导:
上面选择Win32控制台应用程序,名称中输入HelloWorld点确定,至于是否为解决方案创建目录我们暂时不管,那主要区别在于解决方案是否和项目文件在同一目录。
接下来进入创建页面,在Win32应用程序向导的第一个页面直接点下一步即可:
下个页面记得选择空项目,我们不需要预编译头:
点击完成。
这时候一个空的项目编译成功了,我们不妨编译一些试试。
点击刚才添加的生成工具栏的生成按钮:
这时候我们会遇到编译错误,为什么呢?
因为我们还没有Main函数,对于一个C++项目来说,一定要有一个且仅有一个main函数(Windows程序需要WinMain,区别以后再讲),可以是隐式提供也可以是显式提供,至于区别以后会讲到。
现在让我们记住这个错误,以后遇到这个错误的时候一定要想想,我们项目中是否有Main函数。
注意这时候即使你托一个有Main函数的文件到VC10中进行编译也是没有意义的,因为那个文件并不是我们项目的一部分。
现在我们可以添加一个代码文件进来了,这个代码文件可以是已经存在的也可以是新建的,这里新建一个。
右键单击项目名称,选择添加,新建项:
在向导中选择代码、C++文件(.cpp),名称输入Main,确定。
这时候已经成功添加了一个Main文件,注意添加新文件的时候要防止重名:
然后我们输入最简单的几行代码,然后编译它吧,编译方法和上面一样。
如果编译成功你会看到上面的画面,如果失败会有错误提示,那么你可以根据提示去修改项目配置或者代码。
然后让我们用Ctrl+F5或者点那个空心三角形运行一下吧:
OK了,接下来你可以通过更改这个程序去练习C++教材上面的程序了。
这一章的内容就是这么多了,下一章中我们将讨论以下内容:
什么是C++?
什么是编程等等。
//-----以下内容用于帮助搜索引擎搜索000=---//
HelpTag:
VC2010VS2010编译C++VisualC++2010编译C++VC2010控制台程序
VS2010正式到手,说说几点试用体会
如果你认真看了这篇文章,那么说明你一定是开发人员,而且是希望深入了解VS2010的程序开发人员,我也是刚开始使用,权且来说几点体会吧,说的不好希望理解。
我一直在一家软件公司做开发,没犯过大错也没特牛逼的成绩,就是在大街上一抓一大把的普通开发人员中的一个。
就在昨天发生了一件让同事都很不蛋定的事,老板每个人给我们多配个显示器,一向视抠门如生命的的铁公鸡怎么一下子拔了一地鸡毛呢,环顾办公室才发现几乎每个开发人员桌面都多了一台新的24寸的大显示器,比起以前用的17的大头显示器可感觉爽多了,本着不用白不用的原则跟这些万恶的资本家就不要客气了,开用!
HOHO~~~这还只是开始哦!
更神的是,给大家发了一个最新的VisualStudio2010,偶滴个神那,这是我到公司以来唯一的一次升级换代,VS2010正式版发行才不多久,使用几天还处在刚学习的阶段,有几点体会跟大家分享,不好希望见谅。
比起现在用的VS6.2010有几个新特点值得关注:
1、自定义开始页。
在VisualStudio2010中引入了自定义开始,更加个性化其实也可以说帮助我们更大便捷化了我们的操作,进入更快了。
2、VisualStudio2010支持了大家都向往的多显示器,虽然说方便了我们,也让老板更赚钱了,在VS2010中多显示器的支持可以把多个窗口放置到不同的屏幕上(开始BS新配的那台显示器了),提高工作效率。
3、C++IDE跟并行运算增强了,2010开始支持最新的C++标准外,在IDE以及MFC库也有改进,另外调整了对项目支持还有用户体验,具体的待大家去试验,并行运算就不多说了,做开发的一般都知道这个对程序影响有多大。
4、云计算,VisualStudio2010将包括允许云应用在托管和内部网络之间移动的模板。
在2010年测试版的系统中心云管理工具将提供一个统一的控制台,以相同的方式来管理场内和云的资产。
关于云计算就不多说了,如果要我说下去单这个问题我就能给大家说上半天。
5、估计很多人都会喜欢对微软最新操作系统也是未来主流的WINDOWS7开发的支持,毕竟未来是属于win7的。
VisualStudio2010中提供了很多工具来帮助开发者开发基于Windows7的应用程序,例如升级了MFC的库和头文件以全面支持Windows7的界面元素,包括Ribbon界面,搜索功能甚至多点触摸特性的支持。
Ribbon界面的消息处理流程还有其它的一些新功能需要在使用中慢慢摸索,如VS2010可以和VS2008并行安装在同个机器上,都不会影响到你现有的VS2008的开发,这些需要在使用中一步一步的体会,还有诸如对项目管理和结构框架的支持这些都不容小嘘,也是VS2010中不可或少的功能,对于开发人员来说特别方便。
以后如果工作不忙了在来说几点体会供大家学习分享。
VS2010中使用main函数作为C++的入口函数
开发学院
原文链接:
VS2010退出有一段时间了,我也充满好奇地使用了这个全新的IDE。
新版IDE不仅更换了原来的LOGO,而且有着很棒的界面!
VS2010退出有一段时间了,我也充满好奇地使用了这个全新的IDE。
新版IDE不仅更换了原来的LOGO,而且有着很棒的界面!
在VC++编程中,我随便选择了一个以前的程序准备编译,结果报错。
一开始怀疑我自己的问题,于是写了一个最简单的程序,还是报错,如下:
好奇下,决定用微软自己的用例跑跑。
于是新建了一个工程,并且选择Precompiledheader,生成的工程如图:
这时恍然大悟,原来是入口函数有问题。
正在做茅塞顿开状,一个学长提醒我到,从VS2005,微软定义的入口函数就是_tmain了,听了我还不相信,因为自己从来都是用main在VS2008中通过编译的。
后来在VS2008中生成工程,果然如学长所说。
正在郁闷中,学长又提醒我可以设置工程的预编译项,于是自己试了试,果然成功了,在改了以后的设置中,VS2010也可以跑通了。
方法如下:
*代表当前工程名
project->properties->(选择ConfigurationProperties,这个时候在顶部的Configuration选择Active(Debug),再到ConfigurationProperties中选择)C/C++->PrecompiledHeader->PrecompiledHeader值改为Use(/Yu),OK了!
总结:
VS2008及以前的配置中,默认都是选择了类似的配置,VS2008中是:
UsePrecompiledHeader(/Yu)
笔者用的是VS2010Beta2。
不知道是微软的开发人员忘记了这个设置(居然默认是空的),还是故意这样的,谁知道呢?
vs2010中怎么写个简单的C++程序?
#include
voidmain(void)
{
count<<"hi";
}
在vs2010中编写以上程序
报错:
2 IntelliSense:
identifier"count"isundefined c:
\users\shiechian\documents\visualstudio2010\projects\test\test\test.cpp 4 2 test
运行结果:
1>------Buildstarted:
Project:
test,Configuration:
DebugWin32------
1> test.cpp
1>c:
\users\shiechian\documents\visualstudio2010\projects\test\test\test.cpp(4):
errorC2065:
'count':
undeclaredidentifier
==========Build:
0succeeded,1failed,0up-to-date,0skipped==========
还出现这个
这是什么原因?
相关答复:
cout写错了,同时还没有添加名字空间std(标准c++里是需要的,vc6与标准不符,后来新版的vs都与标准一样了)
#include
usingnamespacestd;
voidmain(void)
{
cout<<"hi";
}
vs2010中VC++的6个新特点
一、VisualC++工程及其构建系统
(一)MSBuild
如今,VisualC++处理方案和项目都运用MSBuild执行构建,从而取代了原来的构建工具VCBUILD.exe。
关于其他的VisualStudio言语和项目类型,MSBuild提供了一样的灵敏性,可扩展性和基于XML的构建支持工具。
为此,VisualC++项目文件如今也运用了盛行的XML文件格式,并具有.vcxproj文件扩展名。
另外,从前期版本的VisualStudio中提供的项目文件将被自动转换为新的文件格式。
相关MSBuild工具的更多信息,请参见文章“MSBuild(VisualC++)”。
(二)VC++目录
如今,VC++目录配置位于两个地点。
你可以运用项目属性页来配置每个项目对应的VC++目录,也可以够运用属性维护器和一个属性表来配置全局性的并且使每个配置值对应的VC++目录。
(三)工程依托性
在VC++前期版本中,您可以定义存储在同一个处理方案中的项目之间的依托性。
如今在这些处理方案转换为新的项目文件格式后,相应的依托性也被转换为项目到项目的援用。
这种改变将会影响使用顺序,由于处理方案依托性和项目到项目的援用是不一样的。
(四)宏与环境变量
新引入的_ITERATOR_DEBUG_LEVEL宏支持针对迭代器调用调试支持。
你可以运用这个宏来替代较老的_SECURE_SCL和_HAS_ITERATOR_DEBUGGING宏。
二、VisualC++库
(一)/analyze劝诫
绝大非少数的/analyze(企业代码剖析)劝诫如今都以前被从CRT,MFC和ATL库中移除。
(二)重启动维护器
假设您的使用系统出现不测关闭或重新启动情况的话,重启维护器支持自动保管文件偏重新启动您的使用顺序。
比如,当您的使用顺序由于自动更新而关闭时您可以运用重启维护器来再次启动这个使用顺序。
欲明白更多相关如何将使用顺序配置为运用启动维护器的信息,请参见《如何:
添加剧启动维护支持》一文。
(三)MFC库
新引入的CTaskDialog类可用于替代规范的AfxMessageBox音讯框。
CTaskDialog类可以显示和搜集比规范的音讯框更多的信息。
(四)新的ATL宏
又有新的宏被添加到ATL宏库中,以便进一步扩展原有的PROP_ENTRY_TYPE和PROP_ENTRY_TYPE_EX宏的现有功用。
另外新添加的两个宏PROP_ENTRY_INTERFACE和PROP_ENTRY_INTERFACE_EX支持你添加一个有效的CLSID列表。
开头一对新宏PROP_ENTRY_INTERFACE_CALLBACK和PROP_ENTRY_INTERFACE_CALLBACK_EX支持您指定一个回调函数,以确定某个CLSID能无法是有效的。
(五)新库
新引入的SafeInt库可以确保执行安全的算术运算,从而有效地防止了经常出现的整数溢出疑问。
这个库还支持比拟不一样类型的