`

C++学习笔记第一天:熟悉C++,解决“Cannot find or open the PDB file”问题

C++ 
阅读更多
昨天偶然看到翁惠玉老师的《C++程序设计思想与方法(第2 版)》。心里总是不平静。以前看C#,看JAVA,太浮躁了。但生活是要沉下去才能品味的到的。今天开始学C++,也正式开始写博客。每天把看的心得,问题都记录下来吧。

今天首先碰到一个问题:用什么IDE?网上推荐的一个没用,我选择了微软的 Visual C++ Express 2010 学习版。这个软件界面和VS几乎一模一样,但创建项目的过程,包括提示信息却是和以前的VC 6.0一模一样!如果你学过C,用过VC或VS,那对这款工具,你会比较容易上手。最重要的是:免费!

一、学习过程

好了。安装好IDE,打开,选择“文件》》新建》》项目》》Win 32 控制台应用程序”。在这里,我不知道为什么只有选择“Win 32 控制台应用程序”才能输出:Hello World。留待以后慢慢明白吧。

第一个程序永远都是经典的“Hello World!”我用F5键来调试,但窗口一闪而过,提示信息是:

“HelloWorld.exe”: 已加载“C:\Windows\System32\ntdll.dll”,Cannot find or open the PDB file
“HelloWorld.exe”: 已加载“C:\Windows\System32\kernel32.dll”,Cannot find or open the PDB file
“HelloWorld.exe”: 已加载“C:\Windows\System32\KernelBase.dll”,Cannot find or open the PDB file
“HelloWorld.exe”: 已加载“C:\Windows\System32\msvcp100d.dll”,已加载符号。
“HelloWorld.exe”: 已加载“C:\Windows\System32\msvcr100d.dll”,已加载符号。
程序“[5272] HelloWorld.exe: 本机”已退出,返回值为 0 (0x0)。

感觉很莫名奇妙。查了一下资料,原因是:程序输出的地方是系统而不是vs2010。你所点的按钮(或者按快捷键F5)的结果是启动调试。你所想要执行的命令是开始执行(不调试)。

解决办法:调试时不再用F5键,改成Ctrl+F5键。详细说明:http://blog.163.com/chenpeijie0_0/blog/static/1830945712011780275118/

二、学习总结

C++的语法格式很奇怪(相对于C,C#和JAVA而言)。需要小心的编码。而且像cout、cin之类的常用关键字竟然没有亮色?!很容易写错的。

1、cout是标准的输出流对象,和它对应的设备是显示器。《 称之为流插入运算符,表示将其后的数据插入该流对象中。

2、endl表示换行(类似/ n吧)。

3、cin是输入对象,与之关联的是键盘,当从键盘输入时,形成一个输入流。流提取运算符 》将数据存储到一个事先定义好的变量中(就是》运算符后边的变量)。

4、iostream是C++提供的标准输入/输出库。cout、cin都是输入/输出流库的一部分。程序中所有的数据的输入/输出都要有该库提供的功能完成。

5、# include命令有两种格式:# include <文件名>;# include “文件名”。用尖括号标记的是系统的标准库。个人编写的库用引号标记。

3
1
分享到:
评论
1 楼 wdhdmx 2012-04-21  
我也在学c++,一起努力。

相关推荐

    vs2010中Cannot find or open the PDB file简单总结

    Cannot find or open the PDB file in VS2010 ...Cannot find or open the PDB file是一个常见的错误信息,可以通过设置系统环境变量、更改项目属性、添加语句、使用断点、调整VS2010设置等方法解决。

    Windows下MinGW生成pdb文件

    总结来说,Windows下使用MinGW生成pdb文件是为了便于调试,尤其是当遇到程序崩溃并生成dmp文件时,pdb文件能够提供关键的符号信息,配合WinDbg等工具,帮助开发者快速定位和解决问题。cv2pdb.exe这样的工具则进一步...

    CShell_PDB_C++_

    CShell_PDB_C++_ 是一个与游戏"Combat Arms"相关的开发话题,主要涉及的是调试信息文件(PDB,Program Database)以及C++编程语言。PDB文件在软件开发过程中扮演着至关重要的角色,尤其是在调试和优化代码时。让我们...

    编译VC2008程序时,vc90.pdb不能更新

    本问题聚焦于一个特定的错误:“error C2471: cannot update program database 'vc90.pdb'”。这个错误通常发生在编译过程中,涉及到调试信息的存储,即程序数据库(Program Database,PDB)文件无法正确更新。 ...

    c++移动、复制文件,新建目录

    在C++编程中,处理文件和目录是常见的任务,包括移动文件、复制文件以及创建新的目录。这些操作在很多应用程序中都是必要的,比如数据备份、文件管理器或者系统工具等。接下来,我们将深入探讨如何使用C++来实现这些...

    Oracle 12C CDB、PDB常用管理命令.docx

    * CREATE OR REPLACE TRIGGER open_pdbs AFTER STARTUP ON DATABASE BEGIN EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN'; END open_pdbs; 从 PDBSEED 创建 PDB 可以使用以下命令来从 PDBSEED 创建 PDB...

    open-image.zip_5566pDB_open

    标题中的"open-image.zip_5566pDB_open"暗示了这是一个与图像处理相关的C++程序,可能是一个用于打开并处理图像的软件工具。"5566pdb"可能是项目或开发者的特定标识,而"open"可能指的是程序的核心功能——打开图像...

    vc解决visual c++ error C2471 无法更新程序数据库.zip

    在编程过程中,尤其是在使用Visual C++ (VC++) 进行Windows应用程序开发时,开发者可能会...记住,遇到问题时,耐心和细致的排查总是解决问题的关键。在编程的世界里,没有解决不了的问题,只有还没找到的解决方案。

    reflector:C++ 的反射系统(从 PDB 文件中提取信息)

    标题“reflector:C++ 的反射系统(从PDB文件中提取信息)”指出了一个项目或工具,它利用C++程序的调试信息(Program Database,PDB文件)来构建一个强大的反射系统。PDB文件是Microsoft Visual Studio编译器生成的...

    qt5.11.1 vs调试时需要的pdb文件

    在VS中,pdb文件允许开发者在调试时查看和步进到Qt库的源代码,从而更好地理解和解决问题。 首先,了解Qt框架。Qt是一个跨平台的C++图形用户界面应用程序开发框架,广泛用于创建桌面、移动和嵌入式应用。Qt 5.11.1...

    uafxcwd.lib库文件

    在使用Microsoft Visual C++ 6.0(简称VC6)进行C++项目开发时,有时会遇到链接错误,其中一种常见的错误是“LNK1104:无法打开文件'uafxcwd.lib'”。这个错误通常表明你的工程缺少了特定的库文件,即uafxcwd.lib。...

    c++的植物大战僵尸模型以及代码

    1. **面向对象编程**:C++是面向对象的语言,游戏中的每个元素如植物、僵尸、场地等都可以抽象为类,通过继承和多态性实现组件的复用和扩展。例如,可以创建一个基础的`Entity`类,然后派生出`Plant`和`Zombie`子类...

    pdb格式文件阅读器下载

    5. 调试辅助:为调试过程提供详细信息,如堆栈跟踪、内存映射等,帮助开发者更快地定位和解决问题。 6. 支持不同版本的PDB:考虑到PDB格式随时间有所演变,该阅读器可能兼容多种版本的PDB文件,确保了广泛的应用性。...

    VS 2017 C/C++ MicroSoft源服务器符号文件(基本完整 截至2019/3.6)

    总的来说,这个压缩包提供的PDB文件为使用VS 2017进行C/C++开发的用户提供了宝贵的资源,尤其是在处理崩溃报告或调试生产环境中的问题时。通过合理设置和利用这些符号文件,开发者可以更有效地诊断和修复代码问题,...

    完美解决VS2003.Net fatal error LNK1201: 写入程序数据库“.pdb”时出错--freepdb.cmd handle.exe

    完美解决VS2003.Net fatal error LNK1201: 写入程序数据库“.pdb”时出错 文末给出一个完美的解决方案和一个懒人补丁包。问题描述如下:在重新编译的时候,经常报错: fatal error LNK1201: 写入程序数据库“.pdb”...

    C++源代码集合(包含数百程序)

    这个压缩包文件名为"C++源代码集合(包含数百程序)",显然,它是一个丰富的C++编程学习资源,其中包含了多个章节的源代码示例。这些章节按照编号排序,可能是按照学习进阶或者主题分类的。让我们逐一探讨这些章节...

    cv2pdb.exe

    根据exe 生成 对应的pdb 文件

    19c RAC远程克隆PDB.docx

    - 打开PDB:`ALTER PLUGGABLE DATABASE clone_pdb OPEN;` - 修改参数:`ALTER SYSTEM SET parameter_name=value SCOPE=BOTH;` - 分配SGA资源:`ALTER SYSTEM SET db_cache_size=value FOR CLUSTER;` - 创建或...

    Python3学习笔记整理

    理解类和对象的关系,以及如何通过面向对象的方式来解决问题,是Python高级编程的基础。 7. **标准库和第三方库**:Python的标准库非常丰富,如Numpy、Pandas用于数据分析,Matplotlib、Seaborn用于数据可视化,...

Global site tag (gtag.js) - Google Analytics