为每一个软件行业的从业人员,无论是开发人员、项目经理、还是测试人员,也要不断适应这个趋势,我认为VS 2003 报错只会使我们的工作更简单和更轻松。
上回在公司运行VS 2003 突然弹出VS 2003 报错的问题,在运行是发现了一个VS2003的Bug。直接导致6个VS 2003无法运行,需重新安装,下面就说一下VS 2003的相关BUG。。
我在此先描述一下关于VS 2003的Bug,再讨论 iostream 的Bug。
因为在对于此Bug的测试中,直接导致其6名同事的VS 2003 报错,需要重装。及 遥望 的VC 6 的完全损毁。
Part 1: 关于 Visual Studio 2003 Enterprise Architect 的 Bug: #t#
在我发现 iostream 的一个怀疑是 Bug 的问题后,将其剥离出来,作为单独的测试程序,发送给了 遥望(其又转发至其同事)。据 遥望 反馈,他们的步骤如下:
1. 先建一空的 C++ 控制台项目;
2. 向其中添加一个空的cpp文件;
3. 将我的代码(随后附上)拷贝进去;
4. 编译。
之后链接器抛出两个错误:
test error LNK2001: 无法解析的外部符号 _main
test fatal error LNK1120: 1 个无法解析的外部命令
之后所有的控制台程序就都不能编译,且发现,随便在文件里写什么,编译单个文件的时候都不会报错,但编译整个工程的时候就还是那两个错误” 我确定,在我的代码中没有任何语法错误。 于是我照着VS 2003 报错其步骤试验,果然抛出以上两个错误。但幸好我其它的控制台程序还可以正常编译。
此后找人再试,编译通过,没有发现问题。于是话题转移到了 iostream 的Bug 上。
于是,遂将该问题送至 MicroSoft。另外,不保证该错误肯定会出现,或导致VS 2003 报错,但大家如果要试,仍请三思。毕竟,7个VS 2003,一个VC6, 一个VC2003 测试, 7个VS 2003 报错,其中6个损毁;一个VC 6损毁,一个 VC2003 平安。
其全部代码如下:
- #include"windows.h"
- #include"iostream"
- usingnamespacestd;
- /*
- FUNCTIONDEFINITIONS:BugGenesis
- */
- BOOLBugGenesis()
- {
- TCHARszLinkString[MAX_PATH];
- ZeroMemory(szLinkString,MAX_PATH*sizeof(TCHAR));
- cout<<"Ifyouinputthe\"wew;we;\",thebugwilloccur:"<<endl;
- cin>>szLinkString;
- cout<<"TheInputStringAre:"<<szLinkString<<endl;
- returnTRUE;
- }
- /*
- FUNCTIONDEFINITIONS:MainFunctions
- */
- intmain()
- {
- intiChooseNum=0;
- cout<<"IostreamBug:"<<endl;
- while(TRUE)
- {
- cout<<"1.BugGenesis:"<<endl;
- cout<<"0.Exit;"<<endl;
- cout<<"Choice:";
- cin>>iChooseNum;
- if(!iChooseNum)break;
- switch(iChooseNum)
- {
- case1:
- BugGenesis();
- break;
- default:
- cout<<"ErrorChoice!"<<endl<<"PleaseRechoose!"<<endl<<endl;
- break;
- }
- }
- return0;
- }
知优网 » 简介VS2003报错详细介绍(vs2003使用方法)