新聞中心
上回在公司運行VS 2003 突然彈出VS 2003 報錯的問題,在運行是發(fā)現(xiàn)了一個VS2003的Bug。直接導致6個VS 2003無法運行,需重新安裝,下面就說一下VS 2003的相關BUG。。

創(chuàng)新互聯(lián)建站成立于2013年,先為巴中等服務建站,巴中等地企業(yè),進行企業(yè)商務咨詢服務。為巴中企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
我在此先描述一下關于VS 2003的Bug,再討論 iostream 的Bug。
因為在對于此Bug的測試中,直接導致其6名同事的VS 2003 報錯,需要重裝。及 遙望 的VC 6 的完全損毀。
Part 1: 關于 Visual Studio 2003 Enterprise Architect 的 Bug:#t#
在我發(fā)現(xiàn) iostream 的一個懷疑是 Bug 的問題后,將其剝離出來,作為單獨的測試程序,發(fā)送給了 遙望(其又轉發(fā)至其同事)。據(jù) 遙望 反饋,他們的步驟如下:
1. 先建一空的 C++ 控制臺項目;
2. 向其中添加一個空的cpp文件;
3. 將我的代碼(隨后附上)拷貝進去;
4. 編譯。
之后鏈接器拋出兩個錯誤:
test error LNK2001: 無法解析的外部符號 _main
test fatal error LNK1120: 1 個無法解析的外部命令
之后所有的控制臺程序就都不能編譯,且發(fā)現(xiàn),隨便在文件里寫什么,編譯單個文件的時候都不會報錯,但編譯整個工程的時候就還是那兩個錯誤” 我確定,在我的代碼中沒有任何語法錯誤。 于是我照著VS 2003 報錯其步驟試驗,果然拋出以上兩個錯誤。但幸好我其它的控制臺程序還可以正常編譯。
此后找人再試,編譯通過,沒有發(fā)現(xiàn)問題。于是話題轉移到了 iostream 的Bug 上。
于是,遂將該問題送至 MicroSoft。另外,不保證該錯誤肯定會出現(xiàn),或導致VS 2003 報錯,但大家如果要試,仍請三思。畢竟,7個VS 2003,一個VC6, 一個VC2003 測試, 7個VS 2003 報錯,其中6個損毀;一個VC 6損毀,一個 VC2003 平安。
其全部代碼如下:
- #include "windows.h"
- #include "iostream"
- using namespace std;
- /*
- FUNCTION DEFINITIONS: Bug Genesis
- */
- BOOL BugGenesis()
- {
- TCHAR szLinkString[MAX_PATH];
- ZeroMemory( szLinkString, MAX_PATH * sizeof( TCHAR ) );
- cout<<"If you input the \"wew; we;\",the bug will occur:"<
; - cin>>szLinkString;
- cout<<"The Input String Are:"<
; - return TRUE;
- }
- /*
- FUNCTION DEFINITIONS: Main Functions
- */
- int main()
- {
- int iChooseNum = 0;
- cout<<"Iostream Bug:"<
; - while( TRUE )
- {
- cout<<"1. Bug Genesis:"<
; - cout<<"0. Exit;"<
; - cout<<"Choice:";
- cin>>iChooseNum;
- if( !iChooseNum ) break;
- switch( iChooseNum )
- {
- case 1:
- BugGenesis();
- break;
- default:
- cout<<"Error Choice!"<
"Please Rechoose!"< ; - break;
- }
- }
- return 0;
- }
分享名稱:簡介VS2003報錯詳細介紹
文章起源:http://www.dlmjj.cn/article/dhheesj.html


咨詢
建站咨詢
