VS2010 C++下编译调试MongoDB源码
- 格式:doc
- 大小:195.00 KB
- 文档页数:9
Visual Studio 2010可以用于编译源码。
您需要先安装Visual Studio 2010,并确保在安装过程中选择了“C++”开发组件。
然后,按照以下步骤进行编译:
打开Visual Studio 2010。
单击“文件”菜单,然后选择“新建”>“项目”。
在“新建项目”对话框中,选择“Visual C++”>“Win32”>“Win32控制台应用程序”。
在“名称”字段中输入项目名称,然后点击“确定”。
在“Win32应用程序向导”对话框中,选择应用程序类型(例如,“空项目”),然后点击“完成”。
在解决方案资源管理器中,右键单击源文件文件夹,然后选择“添加”>“现有项”。
在“添加现有项”对话框中,找到并选择您的源代码文件,然后点击“添加”。
打开您要编译的源代码文件。
单击“生成”菜单,然后选择“生成解决方案”。
如果编译成功,您将在输出窗口中看到编译成功的消息。
请注意,您需要将源代码文件添加到项目中,而不是直接在Visual Studio 2010中打开源代码文件。
此外,您还需要在Visual Studio 2010中配置项目属性(例如,编译器选项和链接器选项),以确保正确地编译您的源代码。
如何使用Vi sualStudio 2010(VS2010)编译C语言1.打开VS2010主界面,然后选择,文件→新建→项目,在项目类型中选择VC++→win32然后在右侧模板中选择w in32控制台应用程序,再在下面输入一个名称(项目名称,不用带.C)点击“浏览”选择保存位置后,点击“确定”,弹出个对话框,不管它,下一步。
2.接下来注意了,这个对话框中,应用程序类型要选择控制台应用程序,附加选项一定要选中“空项目”,然后点“完成”,对话框消失。
3.回到VS主界面,这时会在左侧和右侧多了如图工具栏““解决方案管理器”,在源文件上点右键,选择“添加→新建项”。
这里注意,如果你已经有写好的C源文件,那么要选择“现有项”。
4.又打开个对话框,不管左边的,在右边的模板中选择C++文件(注一),在下面的名称中输入源文件的名字加上.C(注二),保存位置用默认的。
然后点击“添加”。
5.好了,编辑页面出来了,大家可以写代码了。
这里可以看到,VS2010可以智能的标示出函数参数和函数体,方便查看和修改。
比VC6.0方便多了。
编好了,然后选择调试,或者直接点绿色小箭头按钮(注三)就可以查看程序运行结果了,最后,别忘了保存。
注释:注一:现在已经基本没有纯粹的C编译环境了,都是用兼容C的C++编译工具来编译C,所以创建的模板是C++模板。
(大家一定还记得VC6.0中大家新建的文件也是C++Source File(C++源文件)吧)注二:加上.C后,编译系统就会知道这个是C源,从而创建的是C的源文件,编译的时候就会调用C编译器。
而不加.C,创建的就是C++的源文件。
编译的时候会调用C++的编译器。
虽然C++兼容C,但是在不同的C++编译环境对C的支持度是不同的,就比如本文中的例子,那句syst em函数就是C专有的,如果采用C++来编译就会出错。
如何使用Visual Studio 2010(VS2010)编译C语言1.打开VS2010主界面,然后选择,文件→新建→项目,在项目类型中选择VC++→win32 然后在右侧模板中选择win32控制台应用程序,再在下面输入一个名称(项目名称,不用带.C)点击“浏览”选择保存位置后,点击“确定”,弹出个对话框,不管它,下一步。
2.接下来注意了,这个对话框中,应用程序类型要选择控制台应用程序,附加选项一定要选中“空项目”,然后点“完成”,对话框消失。
3.回到VS主界面,这时会在左侧和右侧多了如图工具栏““解决方案管理器”,在源文件上点右键,选择“添加→新建项”。
这里注意,如果你已经有写好的C 源文件,那么要选择“现有项”。
4.又打开个对话框,不管左边的,在右边的模板中选择C++文件(注一),在下面的名称中输入源文件的名字加上.C(注二),保存位置用默认的。
然后点击“添加”。
5.好了,编辑页面出来了,大家可以写代码了。
这里可以看到,VS2010可以智能的标示出函数参数和函数体,方便查看和修改。
比VC6.0方便多了。
编好了,然后选择调试,或者直接点绿色小箭头按钮(注三)就可以查看程序运行结果了,最后,别忘了保存。
注释:注一:现在已经基本没有纯粹的C编译环境了,都是用兼容C的C++编译工具来编译C,所以创建的模板是C++模板。
(大家一定还记得VC6.0中大家新建的文件也是C++SourceFile(C++源文件)吧)注二:加上.C后,编译系统就会知道这个是C源,从而创建的是C的源文件,编译的时候就会调用C编译器。
而不加.C,创建的就是C++的源文件。
编译的时候会调用C++的编译器。
虽然C++兼容C,但是在不同的C++编译环境对C的支持度是不同的,就比如本文中的例子,那句system函数就是C专有的,如果采用C++来编译就会出错。
所以,在不确定所用的C++编译器是不是支持某种C语法的时候,还是老老实实的记得加上.C,来告诉编译系统使用C编译器而不是C++。
如何使用VS2010调试程序隋清宇2010.11.7在之前的课程中,很多同学向我们反映,不知道如何使用VS2010调试自己的程序。
还有一些同学交上来的程序,带了stdafx等VS自动生成的库文件。
所以,我有必要在这里简单地讲一下如何使用VS2010编写及调试自己的代码。
关于VS2010如何安装的问题,想必同学们已经都很清楚了,这里就不再赘述。
如果有使用Code::Blocks或DevC++等IDE的同学,具体操作和VS2010其实相差并不大,但是在选项或菜单的名称以及快捷键上会有所不同,我在文章中会尽量提到各个操作的英文名称,可以自己参考着尝试摸索一下。
文章中有下划线的词语都是截图中提到的选项,方便同学们对照。
一、建立工程首先,我们需要在VS2010中建立一个工程(Project),这样才可以对我们的代码进行编译(Compile)、调试(Debug)、生成(Build)等操作。
先在文件菜单选择新建,然后选择项目。
在打开的对话框中,于左侧选择Visual C++,右侧选择空项目(Empty Project)。
然后在下面输入想要储存这个工程的位置和给这个工程起的名称。
可能你可以选择的项目和我不一样,这些都无妨,只要可以找到Visual C++和空项目就可以了。
需要注意的是,因为我们没有必要为一次作业的代码建立一个解决方案,所以一般情况下,为解决方案创建目录的复选框不勾选就可以了。
在例子中,我选择的存储位置为D:\example\,工程名为myProg1。
当工程创建完成的时候,你会发现D:\example\下会多了一个文件夹D:\example\myProg1\(请注意工程名和存储位置的关系),而你这个工程的所有文件都在那个文件夹下。
另外,有同学在创建工程的时候选择了Win32控制台应用程序,这样会导致VS2010生成一些对于我们没有任何用处的代码和文件(比如上文中提到的stdafx),强烈不建议选择此项(但是Code::Blocks需要选择Console Application项建立工程)。
13-5-252010-08-13 20:37用vs2010完美编译c 语言——windows7一样编译c 语言 相信学习C 语言的同学们一直在为自己的windows7不能用vc 6.0而烦恼着。
或许有的电脑能使用上,但绝大多数是不能的,而且会出现软件不能兼容的提醒。
其实大家都不需要再使用vc6.0了,因为软件更新得真的很快,目前vs 已经升级到了2010版本。
但是,让人郁闷的是我们却用不来VC2008或者2010,之前我也是一直困惑着,为什么软件升级之后,反而不能用了呢?其实vc 它是适合很多编程学科使用的工具,必须对其进行设置后才能编写语言。
方法真的很简答,我也是今天摸索出来的,之前在网上搜的时候。
没有一个能解决或彻底解决问题的,现在让我来补上这个缺憾!一、打开VC++2010二、文件—》新建—》项目用v s 2010完美编译c 语言——w i n d o ws 7一样编译c 语言13-5-25用v s2010完美编译c语言——windows7一样编译c语言_梦幻世界_百度空间三、在左边的最近模块选着“Win32”,在右边对话框选着“Win32控制台应用程序 Visual C++”,再在下面输入“名称”和“位置”,点击“确定”四、在弹出来的对话框中选着“下一步”13-5-25用vs2010完美编译c语言——windows7一样编译c语言_五、在“附加选项”下选着“空项目”,其他的不动,点击完成六、回到主界面后,在左边的“解决方案资源管理器”,右击“源文件”—》“添加”—》“新建项”七、在中间的对话框中选着“C++文件(.cpp)”,输入文件“名称”—》“添加”(注意要吧文件名改成“名称”+“.c”,不然默认的是“.cpp”,仍然编译不了)八、写入一个C语言程序,你就发现成功了菜单栏——调试——编译。
Visual studio 2010 使用教程1.安装程序2.启动程序,界面如下3.编写C++程序的步骤1)新建项目。
VC2010里面不能单独编译一个.cpp或者一个.c文件,这些文件必须隶属于某一个项目,因此我们必须创建一个项目。
有很多种方法都可以创建项目,可以通过菜单:文件,新建,项目;也可以通过工具栏点击新建项目进行创建。
这里我们点击起始页面上面的新建项目:2)点击之后进入新建项目向导:上面选择Win32 控制台应用程序,名称中输入Hello,确定。
3)接下来进入创建页面,在Win32 应用程序向导的第一个页面直接点下一步即可:4)下个页面记得选择空项目,我们不需要预编译头:点击完成。
这样一个项目就建立成功了。
5)现在我们可以添加一个代码文件进来了,这个代码文件可以是已经存在的也可以是新建的,这里新建一个。
在“解决方案资源管理器”(可能在屏幕右边)中右键单击项目名称,选择“添加 新建项”:6)在向导中选择代码、C++文件(.cpp),名称输入Main(这是文件名,可以自由取名),确定。
这时候已经成功添加了一个Main文件,注意添加新文件的时候要防止与项目中已有文件重名。
7)在Main.cpp中添加代码,如下图:8)然后编译上面的文件。
方法为ctrl+F7或点击菜单项“生成/编译”。
可以看到如下编译成功的界面。
如果编译成功你会看到上面的画面,如果失败会有错误提示,那么你可以根据提示去修改项目配置或者代码。
9)然后可以用Ctrl+F5或者点那个空心三角形运行一下。
可以看到如下界面:OK 了,接下来就可以通过更改这个程序去练习C++教材上面的程序了。
4.简要讲述调试功能。
首先点击代码左边边栏或者移动光标到指定行按F9等都可以添加断点。
值得注意的是并非每一行都可以添加断点。
通过菜单》调试》窗口》断点或者直接按Alt+F9可以调出断点选项卡,通过选项卡我们可以设置条件断点、数据断点等。
如下图:调试中除了F5之外,另外更常用的估计是F10、F11了,前者是一次一个语句的执行,或者可以看出一行;而后者如果出现能进入的子过程,那么就会进入子过程。
Visual-Studio-2010的调试技巧Visual Studio 2010的调试(断点设置、变量查看)(1)、在需要暂停的位置设置断点(方法一:将鼠标置于将要设置断点的行,按F9或在调试中选择设置断点;方法二:单击将要设置断点的代码行的左侧边区域),如下图所示:(2)、点击“开始调试”或F5,进行调试;(3)、当程序执行到断点处,执行暂停(处于中断模式),如下图所示:(4)、此时可检查变量的值方法一:将鼠标指针悬停在该变量上方,该变量的值将显示,如下图红色背景的单词,其实此时鼠标位于字母r和t中间,在它的右下侧显示了的它值。
(此方法只要把鼠标放到变量的上面就可以)方法二:将鼠标放在某变量上,单击鼠标右键,并“添加监视”(Add Watch),该变量的名字和值将会在生成的“监视窗”显示(5)、此时可选择“逐行”调试或F11、“逐过程”调试或F10,如连续按F10,可查看表中的值的变化,(6)、直到程序尾,结束调试。
注:在(4)中,查看变量的值,我们也可以用SHIFT+F9,打开快速监视窗,然后在其输入变量名,查看变量的值,或打开快速监视窗后,再填加“监视窗”。
VS2010中的调试技巧许多Visual Studio下的程序员,甚至一些很有经验的开发人员,都不知道这些技巧。
希望这篇文章能帮你掌握这些技巧。
它们都很简单,却能帮你节约大量的时间。
跳到当前光标处(Ctrl+F10)我经常看到人们为了到达目标代码位置,而在程序中早早设定了断点,然后反复地按F10/F11,一步步走到目标代码处。
当程序员的确需要仔细观察每一步的状态变化时,F10/F11是合理的选择。
然而多数情况下,人们只想快速到达他们真正关心的代码处,这时候F10/F11就不是最佳选择了。
这时,你应该利用“跳到当前光标处”这个功能。
先把光标定位在要测的目标代码行上,再同时按Ctrl和F10,被测程序将直接跳到该行停下。
你再也不用按许多次F10/F11了。
第2章 Visual C++ 2010上机指南2.1 Visual C++ 2010概述Visual Studio 是微软公司推出的目前流行的Windows 平台应用程序开发环境。
Visual Studio 2010同时带来了 NET Framework 4.0、除了Microsoft SQL Server ,它还支持 IBM DB2和Oracle 数据库。
Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。
Visual C++ 2010 是Visual Studio 2010其中的一个模块 Visual C++ 2010是微软公司推出 的目前使用极为广泛的基于Windows 平台的可视化集成开发环境(IDE )。
包含了文本编辑器、资源编辑器、工程编译器、源代码浏览器、集成调试等工具以及一套联机文档。
使用Visual C++ 2010,可以完成创建、调试、修改C++应用程序等各种操作。
Visual C++ 2010提供面向对象技术的支持,它能够帮助使用MFC 库的用户自动生成一个具有图形界面的应用程序框架。
用户只需在该框架的适当部分添加、扩充代码就可以得到一个满意的应用程序。
Visual C++ 2010也作为C 语言程序的常用的应用开发环境之一,C 语言是C++的子集,C++是在C 语言的基础上进行的扩展,C++已经包含了C 语言的所有内容,Visual C++ 2010 只有创建C++文件的选项,没有创建C 语言文件的选项。
但是这并不影响使用,我们在填写源文件名称时把后缀改为.c 即可,编译器会根据源文件的后缀来判断代码的种类。
如果使用Visual C++ 2010编写大型的C 语言应用程序,一般采用层次文件结构,如图2-1所示。
图2-1 C 语言应用程序文件结构其中.sln 这种类型的文件在Visual C++2010中是级别最高的,称为解决方案(Solution )文件 ,一般与一个具体的应用系统相对应。
vs2010的11个调试技巧和⽅法调试是软件开发周期中很重要的⼀部分。
它具有挑战性,同时也很让⼈疑惑和烦恼。
总的来说,对于稍⼤⼀点的程序,调试是不可避免的。
最近⼏年,调试⼯具的发展让很多调试任务变的越来越简单和省时。
这篇⽂章总结了可能节省你⼤量时间的11个Visual studio的调试技巧和⽅法。
1 悬停⿏标查看表达式值调试是很有挑战性的。
⽐如在函数内逐步运⾏可以看出哪⾥出错,查看堆栈信息可以知道函数被谁调⽤等等……但是⽆论哪种情况下,查看表达式和局部变量的值都是很⿇烦的(把表达式和局部变量放到watch窗⼝⾥)。
⼀种更简单的⽅法,把⿏标停在所需查看的数据上。
如果是类或结构,那么点击展开可以很⽅便快速地查看其字段。
2 在运⾏过程中改变变量值调试器不仅仅是分析程序崩溃和诡异⾏为的⼯具,还可以通过逐步调试检查数据和⾏为是否符合程序预期的⽅法解决许多bug。
有时,你会想是否设置某些条件为真,程序就能正确运⾏了。
其实你只要把⿏标移动到变量上,双击值,然后输⼊你需要的值。
这样就不需要修改代码,重启程序了。
3 设置下⼀个运⾏位置⼀个典型的调试案例是我们经常会⽤逐步调试的⽅法去分析为什么函数出错了。
这时你遇到这个函数调⽤其他函数返回错误,⽽这个错误不是你想要的,你该怎么办?重启调试器?这⾥有个更好的⽅法,直接把黄⾊的运⾏位置箭头拖到你想要的运⾏位置。
其实就是跳过中间运⾏代码,直接到想要的位置。
很简单吧。
4 编辑然后继续运⾏在运⾏⼀个很复杂的程序和插件时,发现⼀个错误,但是不想浪费时间去重编译重启动程序。
很简单,只要在这个位置修改这个bug,然后继续调试。
Visual studio会修改这个程序,使得你可以继续调试⽽不需要重启程序。
值得注意的是“编辑然后继续运⾏”这个功能有⼏个限制。
⼀,它不能在64位代码上使⽤。
如果想使⽤这个功能,到项⽬设置⾥的编译选项,选择”x86”作为⽬标平台。
不要担⼼,这⽬标平台在reslease配置是和”debug是分离的,也就是说依然是”Any CPU”的设置。
VS2010 C++下编译调试
MongoDB源码
考虑到m ongodb使用了boost库源码,参考m ongodb官方文档后,下载编译boost版本是1.42(时间为2010-2-2)或更新版本:
boost版本1.42:
/projects/boost/files/boost/1.42.0/boost_1_42_0.zip/download
下载boost源码之后,我把boost解压在D盘。
1.在D:\boost_1_42_0\下找到该批处理文件bootstrap.bat,以vs2010命令行方式运行它,并最终生成bjam.exe可执行文件(详细结果及错误信息见生成的bjam.log日志)。
2.将生成的bjam.exe文件拷贝到“D:\boost_1_42_0”目录下,运行下面命令行:
bjam stage variant=debug --stagedir="d:\boost_1_42_0" --with-files
ystem --with-thread --with-date_time --with-program_options --layou
t=versioned threading=multi toolset=msvc-10.0
如下
图:
注:i.如果要生成release链接库文件,需将上面的variant设置成release,形如:bjam stage variant=release .....
ii.如果要全部生成使用下面编译选项
bjam ...... --build-type=com plete
编译过程可能会用一些时间,最终会在"D:\boost_1_42_0" 生成一个lib目录,里面包括刚生成的库文件。
3.下载已用vs2010编译的SpiderMonkey库文件及源码包,并将其解压到D盘下,下载链接:
https:///dwight/vc2010_js
将该文件夹名称改为“js”(因为m ongodb项目会默认指定该路径寻找可用的lib及c源文件),
如下图:
说明:SpiderMonkey是由C语言操作的JavaScript引擎,它支持JS1.4和ECMAScript-262规范。
该引擎分析、编译和执行脚本,根据JS数据类型和对象的需要进行内存分配及释放操作。
目前它是Mozilla项目的一部分。
可通过下面链接了解更多信息:
https://developer.m /en/SpiderMonkey
源码下载链接:
https://developer.m /En/SpiderMonkey/Getting_SpiderMonkey_source_code 另外如何使用spiderm onkey参见:
/developerworks/cn/linux/shell/js/js_engine/
4.接下来下载并解压m ongod源码包(本人下载的是其最新版本:r1.8.0-rc1),这里我将其也解压在了D盘:
m ongodb-src-r1.8.0-rc1:
https:///m ongodb/m ongo/zipball/r1.8.0-rc1
之后利用vs2010打开D:\m ongodb-m ongo-4d2aeb6\db目录下的解决方案文件
“db_10.sln”, 加载之后的视图如下:在其中的m ongod 项目上,点击鼠标右键,打开"属性"对话框, 在“配置属性”-“c++目录”-"包含目录"中点“编
辑”:
添加对上面的boost源码文件路径的包
含:设置库文件目录选项中添加对刚编译的boost库的路径"D:\boost_1_42_0\lib"声明,如下
图:
在C/C++常规--“附加包含目录”,中添加"D:\boost_1_42_0"声明,如下图:
5.因为我的机器是32位系统,而下载的m ongodb项目设置为64位,所以要修改一下编译方式,如下
图:
一切就绪后,开始编译,时间比较长,耐心等待...
注:如出现“pch.h文件无法打开”的错误信息时,只要在VS2010中的开该文件即可。
6.如果要调试的话,打开“项目属性”--“配置属性”--“调试”--“命令参数”,输入如下参数:
"--dbpath d:\m ongodb\db" "--port 27017"
然后找出db.cpp文件,将断点放在如下函数的第一行代码处:int m ain(int argc, char* argv[])
如下图:
需要说明的是,我一开始使用的是VS2008,但m ongodb源码在最新版本中好像就不再提供vs2008的项目文件了,另外我使用vs2008也一直没有成功编译过m ongodb,不是缺文件就是链接库编译时有问题(google一下,发现国外同行也被类似问题困扰)。
所以大家也就不要再VS2008编译上浪费时间了。
好了,到这里主要的内容介绍完了,大家可以通过调试来分析观察MONGODB代码的执行流程了。
参考链接:
/wondering/archive/2009/05/21/boost_setup.htm l
/xdotnet/archive/2008/03/22/boost_install_config.htm l http://www.m /display/DOCS/Building+with+Visual+Studio+2010。