目录
《Visual C++ 2010入门教程》系列二:安装、配置和首次使用VS2010 1
写在前面 第一章 关于Visual Studio、VC和C++的那些事 1
第二章 安装、配置和首次使用VS2010 2
安装 2
配置 10
HelloWorld. 18
VS2010正式到手,说说几点试用体会 29
VS2010 中使用main函数作为C++的入口函数本篇文章 32
vs2010中怎么写个简单的C++程序? 32
vs 2010中VC++的6个新特点 34
一、Visual C++工程及其构建系统 34
(一)MSBuild 34
(二)VC++目录 34
(三)工程依托性 34
(四)宏与环境变量 35
二、Visual C++库 35
(一)/analyze劝诫 35
(二)重启动维护器 35
(三)MFC库 35
(四)新的ATL宏 35
(五)新库 35
三、集成开发环境(IDE) 36
(一)改进的错误智能感知支持 36
(二)#include自动完成特征 36
四、Visual C++编译器和链接器 36
(一)auto主要字 36
(二)decltype操作符 36
(三)Lambda表达式 36
(四)Rvalue援用 37
(五)static_assert声明 37
(六)nullptr和__nullptr主要字 37
(七)/Zc:trigraphs编译器选项 37
(八)新的基于配置的优化选项 38
(九)新的通用言语运转时(CLR)选项/clr:nostdlib 38
(十)新的pragma指令detect_mistmatch 38
五、工具 38
(一)ATL控件向导 38
(二)MFC类向导 38
六、微软宏汇编器参考 38
[转]vs2010 MSDN文档安装方法 39
vs2010 MSDN文档安装方法 39
【方法一】 39
【方法二】 41
First look: Visual Studio 2010 Beta 1 shows some leg 42
改进的用户界面: 43
调试和TDD 43
.Net语言 44
Beta版的bug和遗漏 45
一个C++老鸟眼中的 C++ VS Java 45
1、在内存管理方面 46
2、在多线程编程方面 46
3、在网络编程方面 46
在 Visual Studio 2010 编写 C 程序 47
http://hi.baidu.com/xuwuwx122/blog/item/d39b6bebe8410dddd539c9aa.html
作者:董波
日期:2010.6.15
在我还在上学的时候,我选择了C++,最初我用VC6作为我的IDE,我看过很多本C++的教材,有的适合我,有的不适合我,其中有一本叫《Visual C++ 2005入门经典》的书帮了我不少的忙。因为通常的C++教材都只会介绍C++的语法什么的,很少会告诉我们如何去编译、运行,告诉我们什么是控制台程序,什么事Win程序,什么是GUI程序,C++能干什么,VC和C++的区别是什么。现在有很多的朋友应该也有这些问题吧?
学C++用C++也有几年了,算不上熟悉,算是初窥门径吧,我想我应该做点什么帮助一下那些和曾经的我一样困惑的朋友,特别是学生朋友,告诉他们他们所困惑的问题的答案。记得我学C++的时候,没有人教,有的时候也走了不少弯路,甚至连调试也不会,也不知道可以通过看调用堆栈看调用次序,还自己慢慢的去搜索,好傻啊。
接下来我会做一个《Visual C++ 2010入门教程》系列,用来帮助初学者。刚开始学的时候是很痛苦的,这个我深有体会,特别是身边还没有人能够指导一二的。内容主要涵盖在Windows下面使用C++进行开发的常见内容,Visual Studio 2010的使用,如何创建新项目,如何调试,如果配置项目属性等等,另外还会介绍Visual C++ 2010中新加如的一些内容,包括一些新的STL组建,一些新的语法支持等等。
由于本人水平有限,其中难免有错误,希望大家谅解,如果大家有发现问题还请务必及时指出来,否则误导了他人我就罪不容恕了。
注意,本教程非C++教程,不会教你C++,只会教你如何使用 Visual C++ 2010去练习去学习其它C++教材上面的程序。因此建议大家认真的去看其他的C++教程,在使用Visual C++ 2010实践的时候如果遇到问题可以到这里来参考。推荐《C++ Primer》、《C++程序设计语言》《Visual C++ 2008入门经典》。
本章将帮助大家安装Visual C++ 2010,帮助大家做一些常见的配置,以及第一次使用它来写HelloWord程序。
Visual C++ 2010是属于Visual Studio 2010的一部分,这个在前一章中已经讲解过,实际上Visual C++ 2010也有更多的子版本,正如Windows7有旗舰版、家庭高级版、家庭初级版一样。在上一章的下载地址中有两个版本可以选择,我选择的时候旗舰版,这个功能最全面。
如果你下载完毕了,应该有一个ISO镜像文件,如果你是从我给的地址下载的,那么那个序列号已经被 替换成正版序列号,直接安装即可。下面是ISO文件截图:
这就是光盘镜像文件,我们有多种方式可以安装它,你可以把它烧录成光盘,也可以用虚拟光驱软件安装它,由于这个ISO已经被修改过了,你甚至可以直接解压它,然后运行里面的setup.exe进行安装。
这里我使用虚拟光驱进行说明,首先我假设你已经安装好了虚拟光驱软件DAEMON Tools Lite,如果你还没有安装,请去游侠补丁网下载,因为在那里你总是能找到最新的免费版本。
接下来我们通过虚拟光驱加载刚才下载好的ISO镜像:
在弹出的对话框中选择我们下载好的ISO文件。这个时候,虚拟光驱里面已经替我们打开了ISO文件,有的机器可能会自动弹出安装提示,有的不会。如果自动弹出安装提示,那么直接通过即可,如果没有弹出,那么用资源管理器方式进入虚拟光驱点击Setup.exe即可开始安装。
由于我已经安装好了VS2010,所以接下来无法给大家截图了,我就直接用文字描述吧。
当弹出VS2010安装程序之后点下一步,然后我们可能会看到 完全 最小 自定义 这样的选项,我推荐大家选择自定义,因为只有这样我们才可以自定我们安装的目录。接下来会选择安装的组件。这个时候我们会看到大量的VS2010的组件,这里我们可以选择是否安装Basic是否安装C#等等,我在网上找到一些图片,虽然跟中文版2010不一样,大家大概的样子是一样的,大家就凑合着看看吧。
下面是开始的界面,我们应该选择安装VS2010.
上面这个时候选择同意。然后安装包会开始搜集信息:
选择目录:
然后就是开始安装了,注意安装的时候可能需要重启一两次。
最后安装成功:
当安装成功之后,我们就可以开始使用了,这里我先教大家做一些常见的配置,当然大家也可以直接用默认的设置,我这样配置主要是为了方便。
下面通过开始菜单来启动VS2010吧:
如果你是第一次开始,那么可能会让你选择默认的环境设置,我们要使用VC当然选择VC的配置:
出现下面的画面表示已经成功安装和运行了。这是起始页面,以后你会经常见到它。
注意,你可能会没有VAssistX这个菜单,因为这个是个外部工具,以后会给大家解释它的用处,现在暂时忽略。接下来让我们来做一些常见的设置。通过菜单工具》选项调出配置对话框,下面是一些常见的设置:
调处行号,选择文本编辑器,所有语言,把行号打成勾。
如果你想调整字体或者颜色,那么可以在这里选择:
单击工具栏的空白区域,让我们把生成工具栏调出来:
这样我们就可以直接在工具栏上面选择编译项目、编译整个解决方案、运行程序和调试程序了。选择生成工具栏旁边的小三角形可以自定,我们还可以添加一些按钮:
单击自定义界面下面的添加按钮就可以添加新的按钮了,现在我们把开始执行(不调试)添加工具栏中:
以前经常有人问我为什么我的程序闪一下就没了,这就是因为它们把调试(F5,那个实心的三角形)当成了运行(不调试,Ctrl+F5,空心带尾巴的三角形)了。当然是一闪而过啦。关于调试以后说到。
下面让我们用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=--- //
Help Tag: VC2010 VS2010 编译C++ Visual C++ 2010 编译C++ VC2010控制台程序
http://bbs.yesky.com/thread-16004452-1-1.html
如果你认真看了这篇文章,那么说明你一定是开发人员,而且是希望深入了解VS2010的程序开发人员,我也是刚开始使用,权且来说几点体会吧,说的不好希望理解。 我一直在一家软件公司做开发,没犯过大错也没特牛逼的成绩,就是在大街上一抓一大把的普通开发人员中的一个。就在昨天发生了一件让同事都很不蛋定的事,老板每个人给我们多配个显示器,一向视抠门如生命的的铁公鸡怎么一下子拔了一地鸡毛呢,环顾办公室才发现几乎每个开发人员桌面都多了一台新的24寸的大显示器,比起以前用的17的大头显示器可感觉爽多了,本着不用白不用的原则跟这些万恶的资本家就不要客气了,开用!HOHO~~~这还只是开始哦! 更神的是,给大家发了一个最新的Visual Studio 2010,偶滴个神那,这是我到公司以来唯一的一次升级换代,VS2010正式版发行才不多久,使用几天还处在刚学习的阶段,有几点体会跟大家分享,不好希望见谅。 比起现在用的VS6.2010有几个新特点值得关注: 1、自定义开始页。在Visual Studio 2010中引入了自定义开始,更加个性化其实也可以说帮助我们更大便捷化了我们的操作,进入更快了。
2、Visual Studio2010支持了大家都向往的多显示器,虽然说方便了我们,也让老板更赚钱了,在VS2010中多显示器的支持可以把多个窗口放置到不同的屏幕上(开始BS新配的那台显示器了),提高工作效率。
3、C++ IDE跟并行运算增强了,2010开始支持最新的C++标准外,在IDE以及MFC库也有改进,另外调整了对项目支持还有用户体验,具体的待大家去试验,并行运算就不多说了,做开发的一般都知道这个对程序影响有多大。
4、云计算,Visual Studio 2010将包括允许云应用在托管和内部网络之间移动的模板。在2010年测试版的系统中心云管理工具将提供一个统一的控制台,以相同的方式来管理场内和云的资产。
关于云计算就不多说了,如果要我说下去单这个问题我就能给大家说上半天。
5、估计很多人都会喜欢对微软最新操作系统也是未来主流的WINDOWS7开发的支持,毕竟未来是属于win7的。Visual Studio2010中提供了很多工具来帮助开发者开发基于Windows7的应用程序,例如升级了MFC的库和头文件以全面支持Windows 7的界面元素,包括Ribbon界面,搜索功能甚至多点触摸特性的支持。
Ribbon界面的消息处理流程 还有其它的一些新功能需要在使用中慢慢摸索,如VS2010可以和VS2008并行安装在同个机器上,都不会影响到你现有的VS2008的开发,这些需要在使用中一步一步的体会,还有诸如对项目管理和结构框架的支持这些都不容小嘘,也是VS2010中不可或少的功能,对于开发人员来说特别方便。 以后如果工作不忙了在来说几点体会供大家学习分享。
开发学院 http://edu.codepub.com
原文链接:http://edu.codepub.com/2009/1101/17196.php
VS2010退出有一段时间了,我也充满好奇地使用了这个全新的IDE。新版IDE不仅更换了原来的LOGO,而且有着很棒的界面!
VS2010退出有一段时间了,我也充满好奇地使用了这个全新的IDE。新版IDE不仅更换了原来的LOGO,而且有着很棒的界面!
在VC++编程中,我随便选择了一个以前的程序准备编译,结果报错。一开始怀疑我自己的问题,于是写了一个最简单的程序,还是报错,如下:
好奇下,决定用微软自己的用例跑跑。于是新建了一个工程,并且选择Precompiled header,生成的工程如图:
这时恍然大悟,原来是入口函数有问题。正在做茅塞顿开状,一个学长提醒我到,从VS2005,微软定义的入口函数就是_tmain了,听了我还不相信,因为自己从来都是用main在VS2008中通过编译的。后来在VS2008中生成工程,果然如学长所说。正在郁闷中,学长又提醒我可以设置工程的预编译项,于是自己试了试,果然成功了,在改了以后的设置中,VS2010也可以跑通了。
方法如下:*
project ->
总结:VS2008及以前的配置中,默认都是选择了类似的配置,VS2008中是:Use Precompiled Header (/Yu)
笔者用的是VS2010 Beta 2。不知道是微软的开发人员忘记了这个设置(居然默认是空的),还是故意这样的,谁知道呢?
http://www.laoy8.cn/Html/?73294_1.html
#include
void main(void)
{
count<<"hi";
}
在vs2010中编写以上程序
报错:
2 IntelliSense: identifier "count" is undefined c:\users\shiechian\documents\visual studio 2010\projects\test\test\test.cpp 4 2 test
运行结果:
1>------ Build started: Project: test, Configuration: Debug Win32 ------
1> test.cpp
1>c:\users\shiechian\documents\visual studio 2010\projects\test\test\test.cpp(4): error C2065: 'count' : undeclared identifier
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
还出现这个
这是什么原因?
cout写错了,同时还没有添加名字空间std(标准c++里是需要的,vc6与标准不符,后来新版的vs都与标准一样了)
#include
using namespace std;
void main(void)
{
cout<<"hi";
}
http://www.hackhome.com/InfoView/Article_213982.html
如今,Visual C++处理方案和项目都运用MSBuild执行构建,从而取代了原来的构建工具VCBUILD.exe。关于其他的Visual Studio言语和项目类型,MSBuild提供了一样的灵敏性,可扩展性和基于XML的构建支持工具。为此,Visual C++项目文件如今也运用了盛行的XML文件格式,并具有.vcxproj文件扩展名。另外,从前期版本的Visual Studio中提供的项目文件将被自动转换为新的文件格式。相关MSBuild工具的更多信息,请参见文章“MSBuild(Visual C++)”。
如今,VC++目录配置位于两个地点。你可以运用项目属性页来配置每个项目对应的VC++目录,也可以够运用属性维护器和一个属性表来配置全局性的并且使每个配置值对应的VC++目录。
在VC++前期版本中,您可以定义存储在同一个处理方案中的项目之间的依托性。如今在这些处理方案转换为新的项目文件格式后,相应的依托性也被转换为项目到项目的援用。这种改变将会影响使用顺序,由于处理方案依托性和项目到项目的援用是不一样的。
新引入的_ITERATOR_DEBUG_LEVEL宏支持针对迭代器调用调试支持。你可以运用这个宏来替代较老的_SECURE_SCL和_HAS_ITERATOR_DEBUGGING宏。
绝大非少数的/analyze(企业代码剖析)劝诫如今都以前被从CRT,MFC和ATL库中移除。
假设您的使用系统出现不测关闭或重新启动情况的话,重启维护器支持自动保管文件偏重新启动您的使用顺序。比如,当您的使用顺序由于自动更新而关闭时您可以运用重启维护器来再次启动这个使用顺序。欲明白更多相关如何将使用顺序配置为运用启动维护器的信息,请参见《如何:添加剧启动维护支持》一文。
新引入的CTaskDialog类可用于替代规范的AfxMessageBox音讯框。CTaskDialog类可以显示和搜集比规范的音讯框更多的信息。
又有新的宏被添加到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库可以确保执行安全的算术运算,从而有效地防止了经常出现的整数溢出疑问。这个库还支持比拟不一样类型的整数。
在Visual Studio 2010中,集成开发环境(IDE)支持更好地检测能够招致丧失智能感知支持的错误,并在这些内容下面显示以红色波浪下划线。此外,集成开发环境还支持把智能感知的错误输出到错误列表窗口中。要想观察招致疑问的相关代码,你只须要双击错误列表窗口中的错误即可。
集成开发环境还支持#include主要字的自动完成。当您键入#include时,集成开发环境将自动树立一个包括有效的头文件的下拉列表供您挑选。假设你继续输入一个文件名,集成开发环境将自动依据您的输入加以过滤。在任什么时辰候,你都可以依据这个列表来挑选你想要包括的文件。显然,这一功用可以让您高速地包括那些尚不确切知晓文件名的文件。
如今,auto主要字有了新的用途。你可以运用默许的auto主要字来声明一个变量的类型是从此变量声明的原始化表达式中推导出的。而新的/Zc:auto编译器选项支持调用auto主要字的新意义或以前的意义。
decltype操作符可以前往一个指定表达式的类型。因而,你可以运用decltype操作符并结合运用auto主要字来声明一个庞杂类型或许是仅为编译器所知晓的类型。比如,你可以运用这样的组合来声明一个模板函数,而此模板函数的前往类型取决于其模板参数的类型。或许,你还可以声明一个模板函数,而此模板函数调用另一个函数,然后前往被调用函数的前往类型。
Lambda函数有一个函数体,但没有函数名。Lambda函数把函数指针和函数对象两者的最好特征组合到了一同。
你可以运用一个lambda函数来作为模板函数参数以替代一个函数对象,或许结合运用auto主要字来声明一个lambda类型的变量。
右值rvalue援用声明符(&&)可以声明对一个右值rvalue的援用。右值援用可以使你运用静态语义(move semantics)和完备转发(perfect forwarding)来编写更有效的构造函数,普通函数和模板。
static_assert声明有助于在编译时测试软件中的断言,这不一样于其他那些在运转时执行测试的断言机制。假设断言失败,则编译失败并显示出指定的错误信息。
Visual C++编译器准许您在本机代码或托管代码中运用nullptr主要字。nullptr主要字用于指出一个对象句柄、内部指针或本地指针类型并不指向一个对象。当您运用/clr编译器选项时,编译器将把nullptr解释为托管代码,而在不运用/clr选项时解释为本机代码。
微软特定的__nullptr主要字与nullptr主要字意思类似,但它只适用于本机代码。假设您运用/clr编译器选项编译本机C/C ++代码,那么编译器无法确定nullptr主要字是一个本地主要字照旧托管主要字。为了使编译器更清楚地了解你的意图,你可以运用nullptr主要字来指定现在操作为托管操作,而运用__nullptr主要字来指定现在操作为本地操作。
默许情况下,三字符组(trigraphs)支持是被禁用的。在这种情况下,你可以运用/Z?: trigraphs编译器选项来启用三字符组支持。
一个三字符组由两个延续的问号后面跟着一个奇特的字符组成。编译器可以运用相应的标点符号来取代这个三字符组。比如,编译器可以运用#(数字符号)字符替代三字符组??=。你还可以在C源文件中运用三字符组,由于这些文件中运用的是不会包括某些标点字符的字符集。
· PogoSafeMode主要字是一个新的基于配置的优化选项。你可以运用PogoSafeMode主要字来指定你想运用安全方式照旧高速方式来优化您的使用顺序。留意,安全方式是线程安全的,但它比高速方式慢一些。高速方式是默许的优化行为。
新引入了一个通用言语运转时(CLR)选项/clr:nostdlib。假设你的系统中包括了类似库的不一样版本,那么编译器将显示错误提示。这个新的选项可以使你扫除默许的CLR库,从而使你的顺序可以运用一个特定的版本。
新引入的pragma指令detect_mismatch可以支持您运用类似的称号来替换您的文件中的某个特定的标志(相关于其他的标志)。假设类似的称号拥有多个值,衔接器会发出错误提示。
在ATL控件向导不再自动填充ProgID字段。假设一个ATL控件没有一个ProgID,那么其他工具能够无法运用这个控件。这样的一个工具的例子是“Insert Active Control”对话框。相关此对话框的更多信息,请参考文章“插入ActiveX控件对话框”。
Visual Studio 2010中重新引入了MFC类向导。如今,您可以在处理方案的任何地点调用类向导。MFC类向导准许您添加类、音讯和变量,而不用手动修正单个的代码文件。
新引入的YMMWord数据类型支持AVX(英特尔高级矢量扩展)指令中包括的256位的多媒体操作数。
Visual C++延伸阅读
Visual C++是微软公司开发的一个IDE(集成开发环境),换句话说,就是运用c++的一个开发平台.有些软件就是这个编出来的...另外尚有VB,VF.只是运用不一样言语...
但是,VC++是Windows平台上的C++编程环境,学习VC要明白许多Windows平台的特征并且还要掌握MFC、ATL、COM等的知识,难度比拟大。Windows下编程须要明白Windows的音讯机制以及回调(callback)函数的原理;MFC是Win32API的包装类,须要了解文档视图类的结构,窗口类的结构,音讯流向等等;COM是代码共享的二进制规范,须要掌握其基本原理等等。
http://student.csdn.net/space.php?uid=119638&do=blog&id=36578
首先我要承认,是我的错,误导了读者。
不管是中文版还是英文版,前面提供的下载地址,都带有MSDN文档的,只是没有找到正确的安装方法,先入为主的以为在主安装界面没有提供文档安装功能,所以没有带MSDN文档。
事实上,中文版,英文版的ISO都带了文档。
安装方法:
1、vs2010的ISO光盘文件中,里面会有个ProductDocumentation文件夹,其实这个就是安装MSDN的文件夹了。
2、先安装vs2010,运行vs2010,点击help,打开manage help settings(注意:第一次运行需选择足够空间的文件夹位置),选择install content from disk,路径选择光盘中的ProductDocumentation的文件夹里的helpcontentsetup.msha,然后就点ok,add你要安装的MSDN内容,这样就安装好了MSDN了,要用的时候在vs2010下按F1就行了。
(其它方法(同上):msdn是ProductDocumentation文件夹,原来叫msdnlibrary,现在叫helplibrary,基于web的,helplibrary无法独立安装,必须要先安装vs2010,安装好后打开,所有程序->vs2010->vs2010tools->manage help setting,选择install content from disk,然后选择光盘里面的ProductDocumentation文件夹下的HelpContentSetup.msha,接下来看提示你就知道了)
在安装完成VS2010后,会在右下角有一个图标,内容是"INSTALL DOCUMENT",点击进去,会弹出一个框,这个框的右上角有一个SETTING,点击,出来一个选择框,选择本地安装,OFFLINE.退出来.在原来的框内把所有的都ADD,然后点击UPDATE到本地,即可安装.时间不是很长。
值得注意的是,我先安装了英文版的VS2010,之后想安装中文版的帮助文档,是不行的。按照上面的方法,只能安装一个项目。而用英文版的光盘,则可以安装完全版的文档。
当然,Help Library Manager也能在线下载/更新文档,如果带宽足够,选择在线下载也是一个好主意——保证最新、最全。
注意1:第一次运行Help Library Manager是,会让你选择保存文档的本地位置。要慎重选择,一旦选择,就不能更改了。系统盘空间紧张的用户特别要注意。
注意2:win7似乎对权限管理得比较严格,选择保存文档的本地路径,经常会提示没有权限,建议“以管理员身份”运行Help Library Manager。
http://blog.csdn.net/maorui123456/archive/2009/12/11/4988135.aspx
我个人一向认为微软的Visual Studio系列在.Net框架应用开发上首屈一指,在基于Windows主机C与C++的IDE中也极富竞争力。我对Visual Studio 2008的评价已经颇高,但也在几个方面抱怨了它的一些缺陷,尤其是在稍后发布的Silverlight2.0中,我认为后加入Visual Studio的Silverlight工具包中的XAML设计器只有预览面板,因此不能算是一个完全成熟的设计器。
显然微软对Visual Studio 2010 的期望极大,因此如果听见任何的抱怨一定感到难受。但我还是一定会有些抱怨的,这没办法,我总是从实际应用来考虑问题,虽然VS2010是近乎完美的作品。让我们从它的优点开始吧。
Visual Studio 2010对用户界面(UI)做了很大改进,看起来比以前的Visual Studio 版本更干净,使用Windows Presentation Foundation(WPF)布局而不再使用Windows Forms(Windows窗体)布局。我喜欢这种方式,当然我的电脑拥有大容量的内存和一个非常好的显卡。我对用户界面的改进竖起大拇指。据说现在的用户界面还支持多台监视器,但我并没有亲自测试。
毫不奇怪,WPF设计器会比以前更顺畅。此外,你现在能够生成数据绑定的WPF控件,从DataSources窗口将项目直接拖动到设计器。更好的是,Silverlight的XAML设计器与WPF设计器实现了水平相当,因此在进行XAML设计时,你不再需要麻烦的从Visual Studio 切换到ExpressionBlend了。
新的代码浏览功能是另一项成功。你不仅可以使用Ctrl与鼠标滚动来放大和缩小屏幕,还拥有了NavigateTo快捷方式(Ctrl加逗号)和CallHierarchy导航等新功能,使你的项目开发更为方便。
VS2010在线程调试上得到了很大改善,得到了更多的多线程支持和并行处理能力,这是非常必要的。Toolboxes工具箱和IntelliSense智能感应现在可以对你的目标项目敏感,这样你就不必等到编译或运行时才会发现你使用的功能不被支持。
Visual Studio 从很早以前就开始支持测试驱动开发,但它在实际应用编写新的stub和同步IntelliSense时经常碰到问题。现在,你可以切换到consume-first模式,确保IntelliSense正常运行并且从中生成stub。
Visual Basic和C#语言都得到了很好的发展,二者现在几乎实现了功能均等。现在VisualBasic中已具有lambda表达式和隐性 linecontinuation,C#中简化了COM调用和动态语言支持。二者都拥有了一个新功能叫做typeequivalence,简化了不同版本中项目的封装,这在使用微软OfficeAPI编程时特别有用。
F#是一个基于ML和OCAML的功能性编程语言,它使用.Net框架并能够与其它.Net语言交互使用。F#从一个研究项目发展而来,很高兴看到它成为Visual Studio 2010的一部分。51CTO之前介绍过Visual Studio 2010中F#的一些资源 ,对于尝试最新版的F#有很大帮助。
在Visual Studio 2008中我经常受到半生不熟的JavaScript解析和IntelliSense的烦恼。已经数不清多少次VS2008用多余的步骤来“帮助”我完成代码。微软称VS2010“大大提高”了JavaScript解析速度“2至5倍”。考虑到以前的表现,实际上这并不能说有多么好,但有改善当然是值得欢迎的,而且事实上VS2010对JavaScript的支持很不错。
以前在从事大型VisualC++项目时,我经常不敢改变核心头文件。而现在VS2010在后台解析文件时显然比以前聪明得多了。
VS2010的C++编译器现在支持lambda表达式、右值引用(rvaluereferences)、编译时断言(compile- timeassertions)、表达式类型发现(expressiontypediscovery)和C++0X标准的自动类型deduction。另一条好消息是,VS2010的C++编译器有一种模式可以向后兼容Visual Studio 2008的工具和类库。这会给开发者的个人升级提供很大的方便,即使团队中有其他人还不想切换到VS2010。
网络部署和并行编程
网络部署从历史上就不算Visual Studio 的巨大优势。在Visual Studio 2008中我就常常发现自己会切换到FTP客户端做部署,而不是使用VS的部署工具。VS2010的一键发布功能很可能会改变这种状况,虽然我还没有勇气用它来发布站点。
对于我来说,VS2010最大的新特点是并行编程的进展。我曾经写过一本书有一部分专门讲并行编程,而我也一直在各种语言、框架以及类库中找寻并行编程的兴趣,包括JoeDuffy在微软的工作。我不敢说已经完全掌握了VS2010中的新的.Net框架的能力和本地C++对于任务和数据并行的支持,但已经看到的这些已经令我印象深刻。在CodePlex最近已经张贴了很多有趣的并行程序设计样例,我认为它们值得好好研究。
虽然是beta版,我还是要挑出一些Visual Studio 2010的缺陷,虽然这显得有点不公平。我想让你在开始下载和测试前知道有什么可以期待,有什么无法期待。
首先,不要浪费时间寻找本地的MSDN库了。beta版没有任何本地的MSDN,它完全在线上。但我并不太在乎,因为如果我的网断了,实际上我也做不了什么了。
ASP.Net MVC目前还不支持,不论是智能设备还是.NetMicro框架。你可以下载Azure、Silverlight、IronRuby和 IronPython的支持。有关.NET MVC未被包含在Beta版中的原因,.NET开发团队在Beta版发布后做出了解答,详见51CTO之前这篇报导 。
如果你像我一样安装的是Windows7,那么Visual Studio 安装程序中内置的SQLServer安装程序将无法正常运行。当然你可以下载并分开安装SQL Server 2008 SP1,你可以正常的安装数据库的Express和Developer版本。有关SQL Server 2008的更多信息,可参考51CTO的SQL Server 2008深度应用 专题。
在我个人对beta1的测试中,只遇到了一个漏洞,还没有得到解决。不知什么原因,在我安装了Silverlight2.0运行时和SDK之后,我无法调试Silverlight项目。我不确定这是64位的问题还是安装的问题,我希望这个问题将会在某个时候消失,也许是再安装了更新版本的 Silverlight工具之后。
无论如何,我期待着Visual Studio 2010中能够具有更多的add-on,我期待着下一个测试版。现在的Visual Studio 2010已经做得很好,我希望将来它的正式发布能够收获巨大的成功。
原文:First look: Visual Studio 2010 Beta 1 shows some leg
作者:Martin Heller
http://bbs.51cto.com/thread-189024-1.html
用C++开发程序多年,用java写则较少。
C++和java都是很棒的语言,套用一句李连杰的话就是:
语言本身没有优劣之分,但程序员有强弱之别。
在这方面我更欣赏java,也认为这是java比C++更易用的重要原因。C++的用户自己管理
内存和灵活的指针用法往往让用户为了一个内存问题而调试好几天。让用户自己释放内
存使得用户必须非常小心,在程序有多个出口或指针被多个线程或被多个容器拥有的情
况下,何时能安全的释放内存都必须非常谨慎的,而且还要保证在程序的各个出口都保
证不内存泄露,这简直就是噩梦!智能指针能解决一些问题,但他带来的问题同样很多
。java的自动垃圾收集简直就是一大解脱!
多线程编程大大增加错误的随机性和破坏了接口的“抽象”,要在C++中设计好一个多线
程程序往往不是件轻松的事情。所以我更欣赏linux/unix下以多进程为主的编程手法。
java用“同步方法”来解决同步问题使得多线程异常简单(相对于C++),但在多线程方
面我更喜欢C++,因为java的方法虽然简单,但太过小儿科了,带来了两大弊端:
1)java采用了锁住整个对象的粗粒度多线程同步控制,而C++可以用更细粒度进行控制
。java采用的方法是这样的:类A,类中有成员变量m1、m2,为了保护成员变量,将类A
中所有访问这两个成员变量的成员函数设为synchronized,当某个线程T1调用了类A对象
(记为obj)的synchronized方法时线程T1将锁住整个对象obj,此时若另外一个线程T2
调用obj的synchronized方法(不一定和T1调用的那个方法是同一个方法)将阻塞(若T
2调用了obj的非synchronized方法不会被阻塞),直到T1调用完synchronized方法为止
。这种锁住整个对象的做法显然简化了实现,控制不够精细。例如,若T1调用了obj的一
个只访问m1不访问m2的方法,由于T1锁住了整个对象obj,导致了T2若调用obj的只访问
m2而不访问m1的方法也会阻塞,这显然不合理的。而且能造成重大的性能损失。
2)java采用锁住对象的方法来实现同步在很多情况下也不合理。因为要同步的资源往往
不是类的私有成员。如我们要同步的资源是某个文件A,在C++情况下,给A配把“锁”即
可,而java会锁住访问文件A的对象,这就要求所有线程都只能创建一个对象供所有线程
共享使用,否则不同的对象就可以同时访问文件A了,同步防护失去了意义。这就带来很
大的不便,需要程序员自己注意不要在别的线程中也new出一个对象来。
在这方面我更喜欢java,java不愧是靠网络起家,网络编程在java下特别简单。而用C+
+来写网络程序实在是太麻烦了。
http://www.nowamagic.net/cpp/cpp_WirteCInVS2010.php
打开VS2010 -> File -> New -> Project -> New Project -> Visual C++ -> Win32 -> Win32 Console Application.
输入工程名 -> 单击OK -> Next -> Finish,然后你会看到这样一个文件。
view source
print?
01 |
// HelloNowaMagic.cpp : Defines the entry point for the console application. |
|
02 |
// |
03 |
|
|
04 |
#include "stdafx.h" |
05 |
|
06 |
|
07 |
int _tmain(int argc, _TCHAR* argv[]) |
|
08 |
{ |
09 |
return 0; |
|
10 |
} |
把它改成:
view source
print?
1 |
#include "stdafx.h" |
|
2 |
#include |
3 |
int _tmain(int argc, _TCHAR* argv[]) |
|
4 |
{ |
5 |
int a; |
|
6 |
printf("Hello NowaMagic!"); |
7 |
scanf("%d", &a); |
|
8 |
return 0; |
9 |
} |
运行程序:
右击项目名 -> Property -> C/C++ -> Advanced -> Compile As,选择Compile as C Code(/TC),就可以了,所有的代码就会按照C标准去编译。
到此,我们就可以使用 Visual Studio 来编写 C 程序了。