VC++6.0版本C源文件已经产生,为什么调试的时候提示vc debug调试中文件不存在

4165人阅读
VC编译开关选项分析(debug和release版本的对比)
1.参考资源
经常需要用到VC的编译开关,在网上搜索和在MSDN中找大体资源如下。几乎所有的中文文章都是以这两个为基础发展来的。
Compiler Reference:
Compiler Options Listed by Category:
2.VC中默认的选择项如下所示:
/nologo/MDd/W3/Gm/GX/ZI
/Od/D &WIN32& /D &_DEBUG& /D &_WINDOWS&/D&_AFXDLL&/D &_MBCS&
/FR&Debug/& /Fp&Debug/FTTnSystem.pch&/Yu&stdafx.h& /Fo&Debug/&/Fd&Debug/& /FD/GZ
/nologo/MT/W3/GX/Zi
/O2/D&WIN32& /D &NDEBUG& /D &_WINDOWS&
/D&_MBCS&/FR&Release/&/Fp&Release/FTTnSystem.pch& /Yu&stdafx.h&
/Fo&Release/&/Fd&Release/& /FD /c
色块标识:Debug和Release都有&&&&Debug&&&&&Release
3.具体讲解
在VC中debug版本中包含了很多调试信息,而release版本则是发布版,而这些信息都在编译开关中体现出来了。编译器的编译选项有速度优先和代码最小等选项,可以调节。还有其他信息。VC可以可以通过Settings--&Project--&C/C++--&Customize来设置这个编译开关,快捷键(ALT+F7)具体体现如下:
-预处理器------------------------------------------------------------------------------------
/C:在预处理输出中保留注释语句
/c:只编译,不连接,相当于在&Build&菜单下选择了&Compile&
/D:定义常量和宏,与源程序里的#define有相同效果
/E:预处理C、C++源文件,将源文件中所有的预编译指令及宏展开,将注释去掉,然后
将预处理器的输出拷贝至标准输出设备输出,并且在每个文件的开头和末尾加入#line
/EH:指定编译器用何种异常处理模型
/EP:同/E,只是去掉了#line
-输出文件------------------------------------------------------------------------------------
/F:设置程序的堆栈大小
/FA:设置生成何种列表文件(汇编、汇编与机器码、汇编与源码、汇编与机器码以及源
/Fa:指定用/FA设置的列表文件的存放路径及(或)文件名
/FD:生成文件的相互依赖信息
/Fd:设置程序数据库文件(PDB)的存放路径及(或)文件名
/Fe:设置最终可执行文件的存放路径及(或)文件名
/FI:预处理指定的头文件,与源文件中的#include有相同效果
/Fm:创建map文件
/Fo:设置编译后Obj文件的存放路径及(或)文件名
/Fp:设置预编译文件(pch)的存放路径及(或)文件名
/FR:生成浏览信息(sbr)文件
/Fr:同/FR,不同之处在于/Fr不包括局部变量信息
代码生成--------------------------------------------------------------------------------------------------
/G3:为80386处理器优化代码生成
/G4:为80486处理器优化代码生成
/G5:为Pentium处理器优化代码生成
/G6:为Pentium Pro处理器优化代码生成
/GA:为Windows应用程序作优化
/GB:为Pentium处理器优化代码生成,使用80386、80486、Pentium、PentiumPro的混合
指令集,是代码生成的默认选项(程序属性选项中Processor对应Blend)
/GD:为Windows动态库(dll)作优化,此开关在VC6中没有实现
/Gd:指定使用__cdecl的函数调用规则
/Ge:激活堆栈检测
/GF:消除程序中的重复的字符串,并将她放到只读的缓冲区中
/Gf:消除程序中的重复字符串
/Gh:在每个函数的开头调用钩子(hook)函数--penter
/Gi:允许渐进编译
/Gm:允许最小化rebuild
/GR:允许运行时类型信息(Run-Time Type Infomation)
/Gr:指定使用__fastcall的函数调用规则
/Gs:控制堆栈检测所用内存大小
/GT:支持用__declspec(thread)分配的数据的fier-safety
/GX:允许同步异常处理,与/EHsc开关等价
/Gy:允许编译器将每一个函数封装成COMDATs的形式,供连接器调用
/GZ:允许在Debug build的时候捕捉Release build的错误
/Gz:指定使用__stdcall的函数调用规则
/H:限制外部名字的长度
/HELP:列出编译器的所有的命令开关
/I:指定头文件的搜索路径
/J:将char的缺省类型从signed char改成unsigned char
-链接----------------------------------------------------------------------------------------
/LD:创建一个动态连接库
/LDd:创建一个Debug版本的动态链接库
/link:将指定的选项传给连接器
/MD:选择多线程、DLL版本的C Run-Time库
/MDd:选择多线程、DLL、Debug版本的C
Run-Time库
/ML:选择单线程版本的C Run—Time库
/MLd:选择单线程、Debug版本的CRun—Time库
/MT:选择多线程版本的C Run-Time库
/MTd:选择多线程、Debug版本的CRun—Time库
/nologo:不显示程序的版权信息
优化:---------------------------------------------------------------------------------------
/O1:优化使产生的可执行代码最小
/O2:优化使产生的可执行代码速度最快
/Oa:指示编译器程序里没有使用别名,可以提高程序的执行速度
/Ob:控制内联(inline)函数的展开
/Od:禁止代码优化
/Og:使用全局优化
/Oi:用内部函数去代替程序里的函数调用,可以使程序运行的更快,但程序的长度变长
/Op:提高浮点数比较运算的一致性
/Os:产生尽可能小的可执行代码
/Ot:产生尽可能块的可执行代码
/Ow:指示编译器在函数体内部没有使用别名
/Ox:组合了几个优化开关,达到尽可能多的优化
/Oy:阻止调用堆栈里创建帧指针
/Q1f:对核心级的设备驱动程序生成单独的调试信息
/QI0f:对Pentium 0x0f错误指令作修正
/Qifdiv:对Pentium FDIV错误指令作修正
/P:将预处理输出写到指定文件里,文件的后缀名为I
/TC:将命令行上的所有文件都当作C源程序编译,不管后缀名是否为.c
/Tc:将指定的文件当作C源程序编译,不管后缀名是否为.c
/TP:将命令行上的所有文件都当作C++源程序编译,不管后缀名是否为.cpp
/Tp:将指定文件当作C++源程序编译,不管后缀名是否为.cpp
/U:去掉一个指定的前面定义的符号或常量
/u:去掉所有前面定义的符号或常量
/V:在编译的obj文件里嵌入版本号
/vd:禁止/允许构造函数置换
/vmb:选择指针的表示方法,使用这个开关,在声明指向某个类的成员的指针之前,必须
先定义这个类
/vmg:选择指针的表示方法,使用这个开关,在声明指向某个类的成员的指针之前,不必
先定义这个类,但要首先指定这个类是使用何种继承方法
/vmm:设置指针的表示方法为SingleInheritance and Multiple Inheritance
/vms:设置指针的表示方法为SingleInheritance
/vmv:设置指针的表示方法为Any class
/W:设置警告等级
/w:禁止所有警告
/X:阻止编译器搜索标准的include 目录
/Yc:创建预编译头文件(pch)
/Yd:在所有的obj文件里写上完全的调试信息
/Yu:在build过程中使用指定的预编译头文件
/YX:指示编译器若预编译头文件存在,则使用它,若不存在,则创建一个
-语言-----------------------------------------------------------------------------------------
/Z7:生成MSC7.0兼容的调试信息
/Za:禁止语言扩展(Microsoft Extensions to C)
/Zd:调试信息只包含外部和全局的符号信息以及行号信息
/Ze:允许语言扩展(Microsoft Extensionsto C)
/Zg:为源文件里面定义的每个函数生成函数原型
/ZI:生成程序库文件(Pdb)并支持Edit and Continue调试特性
/Zi:生成程序库文件(pdb),包含类型信息和符号调试信息
/ZL:从obj文件里去掉缺省的库文件名
/Zm:设置编译器的内存分配xianzhi
/Zn:禁止浏览信息文件里面的封装
/Zp:设置结构成员在内存里面的封装格式
/Zs:快速检查语法错误
参考文章:
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:344729次
积分:4930
积分:4930
排名:第2716名
原创:108篇
转载:25篇
评论:325条
(5)(1)(1)(3)(1)(1)(1)(1)(1)(1)(4)(3)(3)(1)(9)(4)(1)(9)(19)(2)(4)(23)(6)(8)(2)(1)(1)(7)(1)(6)(3)2135人阅读
1、&&&&&&&&&
如何快速地规范代码缩进格式
选中所需要规范的代码,按shift+F8
2、&&&&&&&&&
如何在Release状态下进行调试
Project-&Setting=&ProjectSetting对话框,选择Release状态。C/C++标签中的Category选General,Optimizations选Disable(Debug),Debut
info选Program Database。在Link标签中选中Generate
debug info复选框。
注:只是一个介乎Debug合Release的中间状态,所有的ASSERT、VERIFY都不起作用,函数调用方式已经是真正的调用,而不查表,但是这种状态下QuickWatch、调用队列跟踪功能仍然有效,和Debug版一样。
3、&&&&&&&&&
Release和Debug有什么不同。
Release版称为发行版,Debug版称为调试版。
Debug中可以单步执行、跟踪等功能,但生成的可执行文件比较大,代码运行速度较慢。Release版运行速度较快,可执行文件较小,但在其编译条件小无法执行调试功能。
Release的exe文件链接的是标准的MFC DLL(Use MFC in a shared
or static dll),比如MFC42.DLL。这些DLL在安装Windows的时候,已经配置,所以这些程序能够在没有安装Visual
C++ 6.0的机器上运行。而Debug版本的exe链接了调试版本的MFC DLL文件,如MFC42D.DLL。在没有安装Visual
C++6.0的机器上不能运行,因为缺MFC42D.DLL等,除非选择use static
dll when link。
4、&&&&&&&&&
ASSERT和VERIFY有什么区别
ASSERT里面的内容在Release版本中不编译,VERIFY里面的内容仍然翻译,但不再判断真假。所以后者更安全一点。
例如ASSERT(file.Open(strFileName))。
一旦到了Release版本中,这一行就忽略了,file根本就不Open()了,而且没有任何出错的信息。如果用VERIFY()就不会有这个问题。
5、&&&&&&&&&
Workspace和Project之间是什么样的关系
每个Workspace可以包括几个project,但只有一个处于Active状态,各个project之间可以有依赖关系,在project的Setting..中可以设定,比如那个Active状态的project可以依赖于其他的提供其函数调用的静态库。
6、&&&&&&&&&
如何在非MFC程序中使用ClassWizard
在工程目录下新建一个空的.RC文件,然后加入到工程中就可以了。
7、&&&&&&&&&
如何设置断点
按F9在当前光标处增加一个断点和取消一个断点。
另外,在编辑状态下,按Ctrl+B组合键,弹出断点设置对话框。然后单击【Condition…】按钮弹出设置断点条件的对话框进行设置。
8、&&&&&&&&&
在编辑状态下发现成员变量或函数不能显示提示是如何打开显示功能
这似乎是目前这个Visual C++ 6.0版本的一个bug,可按如下步骤使其正常,如再出现,可如法炮制:
(1)&&&&&&&&&&&&
关闭Project
(2)&&&&&&&&&&&&
删除“工程名.ncb”文件
(3)&&&&&&&&&&&&
重新打开工程
9、&&&&&&&&&
如何将一个通过ClassWizard生成的类彻底删除
首先在工作区的FileView中选中该类的.h和.cpp文件,按delete删除,然后在文件管理器中将这两个文件删除,再运行ClassWizard,这时出现是否移走该类的提示,选择remove就可以了。
如何将再workspace中消失的类找出来
打开该类对应的头文件,然后将其类名随便改一下,这个时候工作区就会出现新的类,再将这个类改回原来的名字就可以了。
如何清楚所有的断点
菜单【Edit】-&【Breakpoints…】,打开“Breakpoints”对话框,单击【Remove
All】按钮即可。
快捷键是“Ctrl + Shift + F8”。
如何再ClassWizard中选择未列出的信息
打开“ClassWizard”对话框,然后切换到“Class
Info”页面。改变“Message filter”,如选择“Window”,“Message”页面就会出现Window的信息。
如何检测程序中的括号是否匹配
把光标移动到需要检测的括号前面,按快捷键“Ctrl
+ ]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告。
如何查看一个宏(或变量、函数)的定义
把光标移动到要查看的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右键菜单中的相关菜单),如果没有建立浏览文件,就会出现提示对话框,按【确定】按钮,然后就会跳到该宏(或变量、函数)定义的地方。
如何添加Lib文件到当前工程
单击菜单【Project】-&【Settings…】弹出“Project
Setting”对话框,切换到“Link”标签页,在“Object/library modules”处输入Lib文件名称,不同的Lib之间用空格格开。
如何快速删除项目下的Debug文件夹中临时文件
在工作区的FileView视图中选中对应的项目,单击右键弹出菜单,选择【Clean(selection only)】菜单即可。
如何快速生成一个现有工程除了工程名外完全相同的新工程。
在新建工程的“New”对话框中选择“Custom Appwizard”项,输入新工程的名字,单击【OK】按钮。出现“Custom
AppWizard”项,输入新工程的名字,单击【OK】按钮。出现“Custom AppWizard-Step
1 of 2”对话框,选择“An existing Project”项,单击【Next】按钮。出现“Custom
AppWizard-Step 2 of 2”对话框,选择现有工程的工程文件名,最后单击【Finish】按钮。编译后就生成一个与现有工程相同但可以重新取名的工程AppWizard。
现在就可以项用MFC AppWizard一样用这个定制的向导。如果不想用了,可以在Visual C++ 6.0安装目录下Common/MSDev98/Template目录中删除该Wizard对应的.awx和.pdb文件。
如何解决Visual C++ 6.0不正确连接的问题
情景:明明之间改动了一个文件,却要把整个项目全部重新编译链接一次。刚刚链接好,一运行,有提示重新编译链接一次。
这是因为出现了未来文件(修改时间和创建时间比系统时间晚)的缘故。可以这样处理:找到工程文件夹下的debug目录,将创建和修改时间都比系统时间的文件全部删除,然后再从新“Rebuild
All”一次。
引起LNK2001的常见错误都有哪些
遇到的LNK2001错误主要为:unresolved external symbol “symbol”
如果链接程序不能在所有的库和目标文件内找到所引用的函数、变量或标签,将产生此错误信息。
一般来说,发生错误的原因有两个:一时所引用的函数、变量不存在,拼写不正确或者使用错误;其次可能使用了不同版本的链接库。一下是可能产生LNK2001错误的原因:
&1&由于编码错误导致的LNK2001错误
(1)&&&&&&&&&&&&
不相匹配的程序代码或模块定义(.DEF)文件导致LNK2001。例如,如果在C++源文件了内声明了一变量“var1”,却视图在另一个文件内以变量“var1”访问改变量。
(2)&&&&&&&&&&&&
如果使用的内联函数是在.cpp文件内定义的,而不是在头文件内定义将导致LNK2001错误。
(3)&&&&&&&&&&&&
调用函数是如果所用的参数类型头函数声明是的类型不符将会产生LNK2001错误。
(4)&&&&&&&&&&&&
视图从基类的构造函数或析构函数中调用虚拟函数时将会导致LNK2001错误。
(5)&&&&&&&&&&&&
要注意函数和变量的可公用性,只有全局变量、函数时可公用的。静态函数和静态变量具有相同的使用范围限制。当试图从文件外部方位任何没有在该文件内声明的静态变量时将导致编译错误或LNK2001错误。
&2&由于编译和联机的设置而造成的LNK2001错误
(1)&&&&&&&&&&&&
如果编译时使用的时/NOD(/NODERAULTLIB)选项,程序所需要的运行库和MFC时将得到又编译器写入目标文件模块,但除非在文件中明确包含这些库名,否则这些库不会北链接进工程文件。这种情况下使用/NOD将导致LNK2001错误
(2)&&&&&&&&&&&&
如果没有为wWinMainCRTStartup设定程序入口,在使用Unicode和MFC时讲的到“unresolved
external on _WinMain@16”的LNK2001错误信息。
(3)&&&&&&&&&&&&
使用/MD选项编译时,既然所有的运行库都被保留在动态链接库之内,源文件中对“func”的引用,在目标文件里即对“__imp__func”的引用。如果试图使用静态库LIBC.LIB或LIBCMT.LIB进行链接,将在__imp__func上发生LNK2001错误。如果不使用/MD选项编译,在使用MSVCxx.LIB链接时也会发生LNK2001错误。
(4)&&&&&&&&&&&&
使用/ML选项编译时,如用LIBCMT.LIB链接回在_errno上发生LNK2001错误。
(5)&&&&&&&&&&&&
当编译调试版的应用程序时,如果采用发行版模态库进行链接也会产生LNK2001错误;同样,使用调试版模态库链接发行版应用程序时也会产生相同的错误。
(6)&&&&&&&&&&&&
不同版本的库和编译器的混合使用也能产生问题,因为新版的库里可能包含早先的版本没有的符号和说明。
(7)&&&&&&&&&&&&
在不同的模块中使用内联和非内联的编译选项能够导致LNK2001错误。如果创建C++库时打开了函数内联(/Ob1或/Ob2),但是在描述该函数的相应头问卷安里却关闭了函数内联(没有inline关键字),只是将得到错误信息。为避免该问题的发生,应该在相应的头文件中用inline关键字标志为内联函数。
(8)&&&&&&&&&&&&
不正确的/SUBSYSTEM或ENTRY设置也能导致LNK2001错误。
如何调试一个没有源码的exe文件调用的dll
在Visual C++ 6.0中,进入“Project Setting”对话框然后选择Debug标签页。通常Visual
Studio默认“executable for debug session”为可执行文件名,但可以将他改成任何你想要的程序。甚至可以指定不同的工作目录以及传递参数到你的程序。这个技术常用来调试Dlls、名字空间扩展、COM对象和其他从某些EXE以及从第三方的EXE中调用的plug-in程序。
Visual C++ 6.0工程中的项目文件都表示什么。
.opt:工程关于开发化境的参数文件。如工具条位置等信息。
.aps(AppStudio File)资源辅助文件,二进制格式,一般不用去管他。
.clw:ClassWizard信息文件,实际上是INI文件格式,又兴趣可以研究一下。有时候ClassWizard出了问题,手工修改CLW文件可以解决。如果此文件不存在的话,每次用ClassWizard的时候回提示是否重建。
.dsp(DevelopStudio Project):项目文件,文本格式,不过不熟悉的或不要手工修改。
.dsw(DevelopStudio Workspace):是工作区文件,其他特点和.dsp差不多。
.plg:是编译信息文件,编译时的error和warning信息文件(实际上时一个html文件),一般用处不大。在单击菜单【Tool】-&【Option】弹出的对话框里面有个选项可以控制这个文件的生成。
.hpj(Help Project):是生成帮助文件的工程,用microsoft Help Compiler可以处理。
.mdp(Microsoft DevStudio Project):是旧版本的项目文件,如果要打开此文件的话,回提示你是否转换成新的.dsp格式。
.bsc:是用于浏览项目信息的,如果用Source Brower的话旧必须又这个文件。如果不用这个功能的话,可以在Project
Options里面去掉Generate Browse Info File,这样可以加快编译速度。
.map是执行文件的影像信息记录文件,除非对系统底层,这个文件一般用不着。
.pch(Pre-Compiled File):是与编译文件,可以加快编译速度,但是文件非常大。
.pdb(Program Database),记录了程序有关的一些数据和调试信息,在调试的时候可能有用。
.exp:只有在编译DLL的时候才会生成,记录了DLL文件的一些信息,一般也没有用。
.ncb:无编译浏览文件(no compile browser)。当自动完成功能出问题时可以删除此文件。编译工程后回自动生成。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:109059次
积分:1480
积分:1480
排名:第15254名
原创:27篇
转载:104篇
评论:21条
(5)(3)(3)(1)(4)(6)(1)(1)(1)(4)(2)(5)(3)(4)(5)(2)(8)(2)(12)(2)(14)(19)(1)(3)(1)(5)(3)(11)VC++6.0调试方法大全_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
VC++6.0调试方法大全
V​C​调​试​方​法
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢一段C代码,在本地机器上,VC6.0 Debug版调试通过,运行报错;Release版可以运行;VS2010下可以运行;_百度知道
一段C代码,在本地机器上,VC6.0 Debug版调试通过,运行报错;Release版可以运行;VS2010下可以运行;
一段C代码,在本地机器上,VC6.0 Debug版调试通过,运行报错;Release版可以运行;VS2010下可以运行;在别人机器上,VC6.0下都可以运行。这是怎么回事?机器设置问题?还是VC6.0和VS2010不兼容?怎么解决?附代码:#include &stdio.h&#include &stdlib.h&#include &string.h&int main(void){ int n = 0,
len = 0; char *str = NULL,
*p = NULL,
**num = NULL,
*tem = NULL; str = (char *) malloc(sizeof(char)); num = (char **) malloc(sizeof(char*)); scanf(&%s&, str); for (p=*p!='\0';) {
if (*p != '5')
} while (*p!='5'&&*p!='\0');
num = (char **) realloc(num, n*sizeof(char*));
len = p-str-i;
tem = (char *) malloc((len+1)*sizeof(char));
memcpy(tem, str+i, len);
tem[len] = '\0';
num[n-1] =
p++; } for (i=0; i&n; i++) {
printf(&%d\n&, atoi(num[i])); } return 0;}
to:gfming1970:helloworld模板只是多定义了一个不应用多余MFC类的宏,并采用了预编译。to:陈宗权:你分析的有道理,问题依你方法也解决了。还有几个问题就是:scanf用%s格式读入字符串是会自动添加'\0'的吧,给段代码看下:#include &stdio.h&#include &stdlib.h&#include &string.h&int main(){
char *str = (char*) malloc(sizeof(char));
scanf(&%s&, str);
printf(&%s\n&, str);
while(str[i]!='\0')
printf(&%c&, str[i]);
printf(&\n&);
return 0;}(注意,申请的依然是一个空间,代码在VC6.0下编译通过并运行)?为什么在别人的机器上运行没报错呢。相关设置没改,因为是将我机器上的VC打包拷贝过去的?同样的,为什么在VC6.0下报错,在VS2010下不报错呢?to:ijtni96:空间是多一个的。to:chzhn:是msvcr100.dll吧。这个文件没少to:youlizhi551,用了三个SDK:Microsoft Platform SDK for Windows Server 2003、Microsoft Platform SDK for Windows XP和VC自带的SDK测试用例是一串数字,发现问题的用例是:456789
提问者采纳
主要问题在于str = (char *) malloc(sizeof(char));你想要用来保存输入的字符串,申请一个字符的空间是不够的,输入时必然会导致越界访问。这种越界访问在Debug版本中可能会进行运行时检查、报错,在Release版中不检查,但严重的越界可能导致程序运行时崩溃。改成str = (char *) malloc(1000*sizeof(char));
提问者评价
谢谢,在你和其他人的帮助下这个问题解决了,但还是有些不太明白的地方,希望能指教一二
其他类似问题
是不是库的原因?重装一个vc看一下
为您推荐:
其他3条回答
程序没问题,是你不会用vc6.0.我建议你从头见一个console工程,选择helloworld模板,然后把你的代码替换其中的main函数,注意不要把原来的#include语句干掉。
addr=new char[strlen(b)];在这里进行动态分配内存地址时应该多分配一个字节的内存。没有设置这一位时delete [] addr可能删除 分配的内存以外一直到'\0'为止的内存。
这是不行的addr=new char[strlen(b)+1];因为字符串实际是以'\0'来标识的。多设置的这一位就是'\0'
缺少msvcr10.dll的原因
vs2010的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁vc++6.0调试c语言问题_百度知道
提问者采纳
C++ Compiling... Error spawning cl.exe 错误解决办法 15:19当VC++出现Compiling... Error spawning cl.exe 错误的解决办法有如下几种,请楼主尝试: 方法1: 启动VC时不要用图形界面,通过在命令提示符下输入:Msdev /useenv运行(注意啦/前面有个空格).它会强制使系统环境变量全高设置成正确值.而且,只需要使用一次这样的方式运行VC,以后再次通过双击图标的方式启动也不会有问题。 方法2: 使用你的VC安装盘修复一下。 方法3: 在VC中点击“Tools”—&“Option”—&“Directories”,发现路径有误,重新设置“Excutable Fils,Include Files,Library Files,Source Files”的路径。 要是显示“找不到mspdb60.dll”,去能正常运行VC++的电脑中搜索mspdb60.dll文件,拷贝到你的机器上Microsoft Visual Studio\Common\MSDev98\Bin下。缺失其他文件类似操作O(∩_∩)O。 方法4: 可能很多人在安装VC 6.0后有过点击“Compile”或者“Build”后被出现的 “Compiling... ,Error spawning cl.exe”错误提示给郁闷过。很多人的 选择是重装,实际上这个问题很多情况下是由于路径设置的问题引起的, “CL.exe”是VC使用真正的编译器(编译程序),其路径在“VC根目录\VC98\Bin”下面, 你可以到相应的路径下找到这个应用程序。 因此问题可以按照以下方法解决:打开vc界面 点击VC“TOOLS(工具)”—&“Option(选择)” —&“Directories(目录)”重新设置“Excutable Fils、Include Files、 Library Files、Source Files”的路径。很多情况可能就一个盘符的不同 (例如你的VC装在C,但是这些路径全部在D),改过来就OK了。 如果你是按照初始路径安装vc6.0的,路径应为: executatble files: C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin C:\Program Files\Microsoft Visual Studio\VC98\BIN C:\Program Files\Microsoft Visual Studio\Common\TOOLS C:\Program Files\Microsoft Visual Studio\Common\TOOLS\WINNT include files: C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE library files: C:\Program Files\Microsoft Visual Studio\VC98\LIB C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB source files: C:\Program Files\Microsoft Visual Studio\VC98\MFC\SRC C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE C:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC 如果你装在其他盘里,则仿照其路径变通就行。 关键是microsoft visual studio\ 后面的东西要相同。
提问者评价
不好使啊,换电脑。还是谢谢你
其他类似问题
为您推荐:
c语言的相关知识
其他4条回答
没有碰到过....你新建一个win32控制台工程,把程序拷进去运行一下看行不,
是不是环境变量的问题?
我的电脑右键-&系统属性-&高级-&环境变量-&path里面vc的路径对吗?
改路径,我也试过这样,后来我发现默认路径的确有时会出莫名其妙的错误。
先输个hello world程序看能不能行 然后再看其他的
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 vc 6.0怎样单步调试 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信