关于vc go to definition定位不准的问题

xialibing103 · · 932 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

今天将一个vc工程拷贝了一份到当前文件夹下保存,并用vc打开复制的工程开始修改程序,发现在使用在头文件里使用go to definition时,经常跳转到拷贝前的那个工程源文件里,而不是当前源文件里。另外,记得以前使用vc时也经常出现go to definition操作跳转不准,老是错位几行。仔细查了以下,发现go to definition与debug/release下的*.bsc文件有关,只要删掉这个文件,重新编译这个问题就可以解决了。

 

     于是照这样做,但是有另外一个问题,出现如下报错,can't open *.bsc,查询原因,由于*.bsc是在编译时产生的*.sbr的基础上生成的,而我的工程在编译某个文件时,出现超过100的编译错误,如下报错:

 

   fatal error C1003: error count exceeds 100; stopping compilation

 

这样编译该文件产生的sbr文件生成,也就无法生成工程bsc文件。

 

     解决方法可以通过使用暂时不编译这个文件的方式,使工程生成bsc文件,这样就可以先使用go to definition功能了。或者放大编译器单个文件最大编译错误限制,使之生成sbr文件,目前还没找到方法。

 

另附vc各种扩展名文件的作用:

 

原文网址:http://pcedu.pconline.com.cn/empolder/gj/vc/0507/669859.html

 

.APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件。

 

.BMP:位图资源文件。

 

.BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。用于浏览项目信息的,如果用source brower的话就必须有这个文件。可以在project options里去掉Generate Browse Info File,这样可以加快编译进度。

 

.C:用C语言编写的源代码文件。

 

.CLW:ClassWizard生成的用来存放类信息的文件。classwizard信息文件,ini文件的格式。

 

.CNT:用来定义帮助文件中“Contents”的结构。

 

.CPP或.CXX:用C++语言编写的源代码文件。

 

.CUR:光标资源文件。

 

.DEF:模块定义文件,供生成动态链接库时使用。

 

.DLG:定义对话框资源的独立文件。这种文件对于VC工程来说并非必需,因为VC一般把对话框资源放在.RC资源定义文件中。

 

.DSP:VC开发环境生成的工程文件,VC4及以前版本使用MAK文件来定义工程。项目文件,文本格式。

 

.DSW:VC开发环境生成的WorkSpace文件,用来把多个工程组织到一个WorkSpace中。工作区文件,与.dsp差不多。

 

.EXP:由LIB工具从DEF文件生成的输出文件,其中包含了函数和数据项目的输出信息,LINK工具将使用EXP文件来创建动态链接库。只有在编译DLL时才会生成,记录了DLL文件中的一些信息。

 

.H、.HPP或.HXX:用C/C++语言编写的头文件,通常用来定义数据类型,声明变量、函数、结构和类。

 

.HLP:Windows帮助文件。

 

.HM:在Help工程中,该文件定义了帮助文件与对话框、菜单或其它资源之间ID值的对应关系。

 

.HPJ:由Help Workshop生成的Help工程文件,用来控制Help文件的生成过程。

 

.HPG,生成帮助的文件的工程。

 

.ICO:图标资源文件。

 

.ILK:连接过程中生成的一种中间文件,只供LINK工具使用。

 

.INI:配置文件。

 

.LIB:库文件,LINK工具将使用它来连接各种输入库,以便最终生成EXE文件。

 

.LIC:用户许可证书文件,使用某些ActiveX控件时需要该文件。

 

.MAK:即MAKE文件,VC4及以前版本使用的工程文件,用来指定如何建立一个工程,VC6把MAK文件转换成DSP文件来处理。

 

.MAP:由LINK工具生成的一种文本文件,其中包含有被连接的程序的某些信息,例如程序中的组信息和公共符号信息等。执行文件的映像信息记录文件。

 

.MDP:旧版本的项目文件,相当于.dsp

 

.NCB:NCB是“No Compile Browser”的缩写,其中存放了供ClassView、WizardBar和Component Gallery使用的信息,由VC开发环境自动生成。无编译浏览文件。当自动完成功能出问题时可以删除此文件。编译工程后会自动生成。

 

.OBJ:由编译器或汇编工具生成的目标文件,是模块的二进制中间文件。

 

.ODL:用对象描述语言编写的源代码文件,VC用它来生成TLB文件。

 

.OLB:带有类型库资源的一种特殊的动态链接库,也叫对象库文件。

 

.OPT:VC开发环境自动生成的用来存放WorkSpace中各种选项的文件。工程关于开发环境的参数文件。如工具条位置信息等。

 

.PBI、.PBO和.PBT:由VC的性能分析工具PROFILE生成并使用的三种文件。

 

.PCH:预编译头文件,比较大,由编译器在建立工程时自动生成,其中存放有工程中已经编译的部分代码,在以后建立工程时不再重新编译这些代码,以便加快整个编译过程的速度。

 

.PDB:程序数据库文件,在建立工程时自动生成,其中存放程序的各种信息,用来加快调试过程的速度。记录了程序有关的一些数据和调试信息。

 

.PLG:编译信息文件,编译时的error和warning信息文件。

 

.RC:资源定义文件。

 

.RC2:资源定义文件,供一些特殊情况下使用。

 

.REG:注册表信息文件。

 

.RES:二进制资源文件,资源编译器编译资源定义文件后即生成RES文件。

 

.RTF:Rich Text Format(丰富文本格式)文档,可由Word或写字板来创建,常被用来生成Help文件。

 

.SBR:VC编译器为每个OBJ文件生成的原始浏览信息文件,浏览信息维护工具(BSCMAKE)将利用SBR文件来生成BSC文件。

 

.TLB:OLE库文件,其中存放了OLE自动化对象的数据类型、模块和接口定义,自动化服务器通过TLB文件就能了解自动化对象的使用方法。

 

.WAV:声音资源文件。

 

本文来自:CSDN博客

感谢作者:xialibing103

查看原文:关于vc go to definition定位不准的问题

入群交流(和以上内容无关):Go中文网 QQ 交流群:729884609 或加微信入微信群:274768166 备注:入群;关注公众号:Go语言中文网

932 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传