『壹』 c語言編程中出現的糾錯英文語句是啥意思
編譯錯誤信息
說明:Turbo C 的源程序錯誤分為三種類型:致命錯誤、一般錯誤和警告。其中,致命錯誤通常是內部編譯出錯;一般錯誤指程序的語法錯誤、磁碟或內存存取錯誤或命令行錯誤等;警告則只是指出一些得懷疑的情況,它並不防止編譯的進行。
下面按字母順序A~Z分別列出致命錯誤及一般錯誤信息,英漢對照及處理方法:
(一)、致命錯誤英漢對照及處理方法:
A-B致命錯誤
Bad call of in-line function (內部函數非法調用)
分析與處理:在使用一個宏定義的內部函數時,沒能正確調用。一個內部函數以兩個下劃線(__)開始和結束。
Irrecable expression tree (不可約表達式樹)
分析與處理:這種錯誤指的是文件行中的表達式太復雜,使得代碼生成程序無法為它生成代碼。這種表達式必須避免使用。
Register allocation failure (存儲器分配失敗)
分析與處理:這種錯誤指的是文件行中的表達式太復雜,代碼生成程序無法為它生成代碼。此時應簡化這種繁雜的表達式或乾脆避免使用它。
(二)、一般錯誤信息英漢照及處理方法
#operator not followed by maco argument name(#運算符後沒跟宏變元名)
分析與處理:在宏定義中,#用於標識一宏變串。「#」號後必須跟一個宏變元名。
'xxxxxx' not anargument ('xxxxxx'不是函數參數)
分析與處理:在源程序中將該標識符定義為一個函數參數,但此標識符沒有在函數中出現。
Ambiguous symbol 'xxxxxx' (二義性符號'xxxxxx')
分析與處理:兩個或多個結構的某一域名相同,但具有的偏移、類型不同。在變數或表達式中引用該域而未帶結構名時,會產生二義性,此時需修改某個域名或在引用時加上結構名。
Argument # missing name (參數#名丟失)
分析與處理:參數名已脫離用於定義函數的函數原型。如果函數以原型定義,該函數必須包含所有的參數名。
Argument list syntax error (參數表出現語法錯誤)
分析與處理:函數調用的參數間必須以逗號隔開,並以一個右括弧結束。若源文件中含有一個其後不是逗號也不是右括弧的參數,則出錯。
Array bounds missing (數組的界限符"]"丟失)
分析與處理:在源文件中定義了一個數組,但此數組沒有以下右方括弧結束。
Array size too large (數組太大)
分析與處理:定義的數組太大,超過了可用內存空間。
Assembler statement too long (匯編語句太長)
分析與處理:內部匯編語句最長不能超過480位元組。
Bad configuration file (配置文件不正確)
分析與處理:TURBOC.CFG配置文件中包含的不是合適命令行選擇項的非註解文字。配置文件命令選擇項必須以一個短橫線開始。
Bad file name format in include directive(包含指令中文件名格式不正確)
分析與處理:包含文件名必須用引號("filename.h")或尖括弧(<filename>)括起來,否則將產生本類錯誤。如果使用了宏,則產生的擴展文本也不正確,因為無引號沒辦法識別。
Bad ifdef directive syntax (ifdef指令語法錯誤)
分析與處理:#ifdef必須以單個標識符(只此一個)作為該指令的體。
Bad ifndef directive syntax (ifndef指令語法錯誤)
分析與處理:#ifndef 必須以單個標識符(只此一個)作為該指令的體。
Bad undef directive syntax (undef指令語法錯誤)
分析與處理:#undef指令必須以單個標識符(只此一個)作為該指令的體。
Bad file size syntax (位欄位長語法錯誤)
分析與處理:一個位欄位長必須是1—16位的常量表達式。
Call of non-functin (調用未定義函數)
分析與處理:正被調用的函數無定義,通常是由於不正確的函數聲明或函數名拼錯而造成。
Cannot modify a const object (不能修改一個長量對象)
分析與處理:對定義為常量的對象進行不合法操作(如常量賦值)引起本錯誤。
Case outside of switch (Case 出現在switch外)
分析與處理:編譯程序發現Case語句出現在switch語句之外,這類故障通常是由於括弧不匹配造成的。
Case statement missing (Case語句漏掉)
分析與處理:Case語必須包含一個以冒號結束的常量表達式,如果漏了冒號或在冒號前多了其它符號,則會出現此類錯誤。
Character constant too long (字元常量太長)
分析與處理:字元常量的長度通常只能是一個或兩個字元長,超過此長度則會出現這種錯誤。
Compound statement missing (漏掉復合語句)
分析與處理:編譯程序掃描到源文件未時,未發現結束符號 (大括弧),此類故障通常是由於大括弧不匹配所致。
Conflicting type modifiers (類型修飾符沖突)
分析與處理:對同一指針,只能指定一種變址修飾符(如near 或far);而對於同一函數,也只能給出一種語言修飾符(如Cdecl、pascal或interrupt)。
Constant expression required (需要常量表達式)
分析與處理:數組的大小必須是常量,本錯誤通常是由於#define常量的拼寫錯誤引起。
Could not find file 'xxxxxx.xxx' (找不到'xxxxxx.xx'文件)
分析與處理:編譯程序找不到命令行上給出的文件。
Declaration missing (漏掉了說明)
分析與處理:當源文件中包含了一個struct或 union域聲明,而後面漏掉了分號,則會出現此類錯誤。
Declaration needs type or storage class(說明必須給出類型或存儲類)
分析與處理:正確的變數說明必須指出變數類型,否則會出現此類錯誤。
Declaration syntax error (說明出現語法錯誤)
分析與處理:在源文件中,若某個說明丟失了某些符號或輸入多餘的符號,則會出現此類錯誤。
Default outside of switch (Default語句在switch語句外出現)
分析與處理:這類錯誤通常是由於括弧不匹配引起的。
Define directive needs an identifier (Define指令必須有一個標識符)
分析與處理:#define 後面的第一個非空格符必須是一個標識符,若該位置出現其它字元,則會引起此類錯誤。
Division by zero (除數為零)
分析與處理:當源文件的常量表達式出現除數為零的情況,則會造成此類錯誤。
Do statement must have while (do語句中必須有While關鍵字)
分析與處理:若源文件中包含了一個無While關鍵字的 do語句,則出現本錯誤。
DO while statement missing ( (Do while語句中漏掉了符號 "(")
分析與處理:在do語句中,若 while關鍵字後無左括弧,則出現本錯誤。
Do while statement missing;(Do while語句中掉了分號)
分析與處理:在DO語句的條件表達式中,若右括弧後面無分號則出現此類錯誤。
Duplicate Case (Case情況不唯一)
分析與處理:Switch語句的每個case必須有一個唯一的常量表達式值。否則導致此類錯誤發生。
Enum syntax error (Enum語法錯誤)
分析與處理:若enum說明的標識符表格式不對,將會引起此類錯誤發生。
Enumeration constant syntax error (枚舉常量語法錯誤)
分析與處理:若賦給enum類型變數的表達式值不為常量,則會導致此類錯誤發生。
Error Directive : xxxx (Error指令:xxxx)
分析與處理:源文件處理#error指令時,顯示該指令指出的信息。
Error Writing output file (寫輸出文件錯誤)
分析與處理:這類錯誤通常是由於磁碟空間已滿,無法進行寫入操作而造成。
Expression syntax error (表達式語法錯誤)
分析與處理:本錯誤通常是由於出現兩個連續的操作符,括弧不匹配或缺少括弧、前一語句漏掉了分號引起的。
Extra parameter in call (調用時出現多餘參數)
分析與處理:本錯誤是由於調用函數時,其實際參數個數多於函數定義中的參數個數所致。
Extra parameter in call to xxxxxx(調用xxxxxxxx函數時出現了多餘參數)
File name too long (文件名太長)
分析與處理:#include指令給出的文件名太長,致使編譯程序無法處理,則會出現此類錯誤。通常DOS下的文件名長度不能超過 64個字元。
For statement missing ) (For語名缺少")")
分析與處理:在 for語句中,如果控製表達式後缺少右括弧,則會出現此類錯誤。
For statement missing( (For語句缺少"(")
For statement missing; (For 語句缺少";")
分析與處理:在 for語句中,當某個表達式後缺少分號,則會出現此類錯誤。
Function call missing) (函數調用缺少")")
分析與處理:如果函數調用的參數表漏掉了右手括弧或括弧不匹配,則會出現此類錯誤。
Function definition out ofplace (函數定義位置錯誤)
Function doesn't take a variable number of argument(函數不接受可變的參數個數)
Goto statement missing label (Goto語句缺少標號)
If statement missing( (If語句缺少"(")
If statement missing) (If語句缺少")")
lllegal initalization (非法初始化)
lllegal octal digit (非法八進制數)
分析與處理:此類錯誤通常是由於八進制常數中包含了非八進制數字所致。
lllegal pointer subtraction (非法指針相減)
lllegal structure operation (非法結構操作)
lllegal use of floating point (浮點運算非法)
lllegal use of pointer (指針使用非法)
Improper use of a typedef symbol (typedef符號使用不當)
Incompatible storage class (不相容的存儲類型)
Incompatible type conversion (不相容的類型轉換)
Incorrect commadn line argument:xxxxxx (不正確的命令行參數:xxxxxxx)
Incorrect commadn file argument:xxxxxx (不正確的配置文件參數:xxxxxxx)
Incorrect number format (不正確的數據格式)
Incorrect use of default (deflult不正確使用)
Initializer syntax error (初始化語法錯誤)
Invaild indrection (無效的間接運算)
Invalid macro argument separator (無效的宏參數分隔符)
Invalid pointer addition (無效的指針相加)
Invalid use of dot (點使用錯)
Macro argument syntax error (宏參數語法錯誤)
Macro expansion too long (宏擴展太長)
Mismatch number of parameters in definition(定義中參數個數不匹配)
Misplaced break (break位置錯誤)
Misplaced continue (位置錯)
Misplaced decimal point (十進制小數點位置錯)
Misplaced else (else 位置錯)
Misplaced else driective (clse指令位置錯)
Misplaced endif directive (endif指令位置錯)
Must be addressable (必須是可編址的)
Must take address of memory location (必須是內存一地址)
No file name ending (無文件終止符)
No file names given (未給出文件名)
Non-protable pointer assignment (對不可移植的指針賦值)
Non-protable pointer comparison (不可移植的指針比較)
Non-protable return type conversion (不可移植的返回類型轉換)
Not an allowed type (不允許的類型)
Out of memory (內存不夠)
Pointer required on left side of (操作符左邊須是一指針)
Redeclaration of 'xxxxxx' ('xxxxxx'重定義)
Size of structure or array not known (結構或數組大小不定)
Statement missing; (語句缺少「;」)
Structure or union syntax error (結構或聯合語法錯誤)
Structure size too large (結構太大)
Subscription missing ] (下標缺少『]』)
Switch statement missing ( (switch 語句缺少"(")
Switch statement missing ) (switch 語句缺少")")
Too few parameters in call (函數調用參數太少)
Too few parameter in call to'xxxxxx'(調用'xxxxxx'時參數太少)
Too many cases (Cases太多)
Too many decimal points (十進制小數點太多)
Too many default cases (defaut太多)
Too many exponents (階碼太多)
Too many initializers (初始化太多)
Too many storage classes in declaration (說明中存儲類太多)
Too many types in decleration (說明中類型太多)
Too much auto memory in function (函數中自動存儲太多)
Too much global define in file (文件中定義的全局數據太多)
Two consecutive dots (兩個連續點)
Type mismatch in parameter # (參數"#"類型不匹配)
Type mismatch in parameter # in call to 'XXXXXXX' (調用'XXXXXXX'時參數#類型不匹配)
Type missmatch in parameter 'XXXXXXX' (參數'XXXXXXX'類型不匹配)
Type mismatch in parameter 'YYYYYYYY' in call to 'YYYYYYYY'(調用'YYYYYYY'時參數'XXXXXXXX'數型不匹配)
Type mismatch in redeclaration of 'XXX' (重定義類型不匹配)
Unable to creat output file 'XXXXXXXX.XXX' (不能創建輸出文件'XXXXXXXX.XXX')
Unable to create turboc.lnk (不能創建turboc.lnk )
Unable to execute command 'xxxxxxxx'(不能執行'xxxxxxxx'命令)
Unable to open include file 'xxxxxxx.xxx' (不能打開包含文件'xxxxxxxx.xxx')
Unable to open inputfile 'xxxxxxx.xxx' (不能打開輸入文件'xxxxxxxx.xxx')
Undefined label 'xxxxxxx' (標號'xxxxxxx'未定義)
Undefined structure 'xxxxxxxxx' (結構'xxxxxxxxxx'未定義)
Undefined symbol 'xxxxxxx' (符號'xxxxxxxx'未定義)
Unexpected end of file in comment started on line #(源文件在某個注釋中意外結束)
Unexpected end of file in conditional stated on line # (源文件在#行開始的條件語句中意外結束)
Unknown preprocessor directive 'xxx' (不認識的預處理指令:'xxx')Untermimated character constant (未終結的字元常量)
Unterminated string (未終結的串)
Unterminated string or character constant(未終結的串或字元常量)
User break (用戶中斷)
Value required (賦值請求)
While statement missing ( (While語句漏掉 '(')
While statement missing ) (While語句漏掉 ')')
Wrong number of arguments in of 'xxxxxxxx' (調用'xxxxxxxx'時參數個數錯誤)
『貳』 程序發生錯誤,急.急.急,急
簡單的說,重起再進,不行就重裝游戲再進,再不行系統重裝系統,還不行,只好換電腦了
復雜點說
該內存不能read written常見原因
使用Windows操作系統的人有時會遇到這樣的錯誤信息:「0X????????指令引用的0x00000000內存,該內存不能written」,然後應用程序被關閉。如果去請教一些「高手」,得到的回答往往是「Windows就是這樣不穩定」之類的義憤和不屑。其實,這個錯誤並不一定是Windows不穩定造成的。本文就來簡單分析這種錯誤的常見原因。
一、應用程序沒有檢查內存分配失敗
程序需要一塊內存用以保存數據時,就需要調用操作系統提供的「功能函數」來申請,如果內存分配成功,函數就會將所新開辟的內存區地址返回給應用程序,應用程序就可以通過這個地址使用這塊內存。這就是「動態內存分配」,內存地址也就是編程中的「指針」。
內存不是永遠都招之即來、用之不盡的,有時候內存分配也會失敗。當分配失敗時系統函數會返回一個0值,這時返回值「0」已不表示新啟用的指針,而是系統向應用程序發出的一個通知,告知出現了錯誤。作為應用程序,在每一次申請內存後都應該檢查返回值是否為0,如果是,則意味著出現了故障,應該採取一些措施挽救,這就增強了程序的「健壯性」。
若應用程序沒有檢查這個錯誤,它就會按照「思維慣性」認為這個值是給它分配的可用指針,繼續在之後的運行中使用這塊內存。真正的0地址內存區保存的是計算機系統中最重要的「中斷描述符表」,絕對不允許應用程序使用。在沒有保護機制的操作系統下(如DOS),寫數據到這個地址會導致立即死機,而在健壯的操作系統中,如Windows等,這個操作會馬上被系統的保護機制捕獲,其結果就是由操作系統強行關閉出錯的應用程序,以防止其錯誤擴大。這時候,就會出現上述的「寫內存」錯誤,並指出被引用的內存地址為「0x00000000」。
內存分配失敗故障的原因很多,內存不夠、系統函數的版本不匹配等都可能有影響。因此,這種分配失敗多見於操作系統使用很長時間後,安裝了多種應用程序(包括無意中「安裝」的病毒程序),更改了大量的系統參數和系統文件之後。
二、應用程序由於自身BUG引用了不正常的內存指針
在使用動態分配的應用程序中,有時會有這樣的情況出現:程序試圖讀寫一塊「應該可用」的內存,但不知為什麼,這個預料中可用的指針已經失效了。有可能是「忘記了」向操作系統要求分配,也可能是程序自己在某個時候已經注銷了這塊內存而「沒有留意」等等。注銷了的內存被系統回收,其訪問權已經不屬於該應用程序,因此讀寫操作也同樣會觸發系統的保護機制,企圖「違法」的程序唯一的下場就是被操作終止運行,回收全部資源。計算機世界的法律還是要比人類有效和嚴厲得多啊! 像這樣的情況都屬於程序自身的BUG,你往往可在特定的操作順序下重現錯誤。無效指針不一定總是0,因此錯誤提示中的內存地址也不一定為「0x00000000」,而是其他隨機數字。
如果系統經常有所提到的錯誤提示,下面的建議可能會有幫助:
1.查看系統中是否有木馬或病毒。這類程序為了控制系統往往不負責任地修改系統,從而導致操作系統異常。平常應加強信息安全意識,對來源不明的可執行程序絕不好奇。
2.更新操作系統,讓操作系統的安裝程序重新拷貝正確版本的系統文件、修正系統參數。有時候操作系統本身也會有BUG,要注意安裝官方發行的升級程序。
3.試用新版本的應用程序。
運行某些程序的時候,有時會出現內存錯誤的提示,然後該程序就關閉。
「0x????????」指令引用的「0x????????」內存。該內存不能為「read」。
「0x????????」指令引用的「0x????????」內存,該內存不能為「written」。
不知你出現過類似這樣的故障嗎?(0x後面內容有可能不一樣。)
一般出現這個現象有方面的,一是硬體,即內存方面有問題,二是軟體,這就有多方面的問題了。
下面先說說硬體:
一般來說,內存出現問題的可能性並不大,主要方面是:內存條壞了、內存質量有問題,還有就是2個不同牌子不同容量的內存混插,也比較容易出現不兼容的情況,同時還要注意散熱問題,特別是超頻後。你可以使用MemTest 這個軟體來檢測一下內存,它可以徹底的檢測出內存的穩定度。
假如你是雙內存,而且是不同品牌的內存條混插或者買了二手內存時,出現這個問題,這時,你就要檢查是不是內存出問題了或者和其它硬體不兼容。如果都沒有,那就從軟體方面排除故障了。
先簡單說說原理:內存有個存放數據的地方叫緩沖區,當程序把數據放在其一位置時,因為沒有足夠空間,就會發生溢出現象。舉個例子:一個桶子只能將一斤的水,當你放入兩斤的水進入時,就會溢出來。而系統則是在屏幕上表現出來。這個問題,經常出現在windows2000和XP系統上,Windows 2000/XP對硬體的要求是很苛刻的,一旦遇到資源死鎖、溢出或者類似Windows 98里的非法操作,系統為保持穩定,就會出現上述情況。另外也可能是硬體設備之間的兼容性不好造成的。
下面我從幾個例子給大家分析:
例一:打開IE瀏覽器或者沒過幾分鍾就會出現"0x70dcf39f"指令引用的"0x00000000"內存。該內存不能為「read」。要終止程序,請單擊「確定」的信息框,單擊「確定」後,又出現「發生內部錯誤,您正在使用的其中一個窗口即將關閉」的信息框,關閉該提示信息後,IE瀏覽器也被關閉。 解決方法:修復或升級IE瀏覽器,同時打上補丁。看過其中一個修復方法是,Win2000自升級,也就是Win2000升級到Win2000,其實這種方法也就是把系統還原到系統初始的狀態下。比如你的IE升級到了6.0,自升級後,會被IE5.0代替。
例二:在windows xp下雙擊光碟裡面的「AutoRun.exe」文件,顯示「0x77f745cc」指令引用的「0x00000078」內存。該內存不能為「written」,要終止程序,請單擊「確定」,而在Windows 98里運行卻正常。 解決方法:這可能是系統的兼容性問題,winXP的系統,右鍵「AutoRun.exe」文件,屬性,兼容性,把「用兼容模式運行這個程序」項選擇上,並選擇「Windows 98/Me」。win2000如果打了SP的補丁後,只要開始,運行,輸入:regsvr32 c:\\winnt\\apppatch\\slayerui.dll。右鍵,屬性,也會出現兼容性的選項。
例三:RealOne Gold關閉時出現錯誤,以前一直使用正常,最近卻在每次關閉時出現「0xffffffff」指令引用的「0xffffffff」內存。該內存不能為「read」 的提示。 解決方法:當使用的輸入法為微軟拼音輸入法2003,並且隱藏語言欄時(不隱藏時沒問題)關閉RealOne就會出現這個問題,因此在關閉RealOne之前可以顯示語言欄或者將任意其他輸入法作為當前輸入法來解決這個問題。
例四:我的豪傑超級解霸自從上網後就不能播放了,每次都提示「Ox060692f6」(每次變化)指令引用的「Oxff000011」內存不能為「read」,終止程序請按確定。 解決方法:試試重裝豪傑超級解霸,如果重裝後還會,到官方網站下載相應版本的補丁試試。還不行,只好換就用別的播放器試試了。
例五:雙擊一個游戲的快捷方式,「Ox77f5cdO」指令引用「Oxffffffff」內 存,該內存不能為「read」 ,並且提示Client.dat程序錯誤。 解決方法:重裝顯卡的最新驅動程序,然後下載並且安裝DirectX9.0。
例六:一個朋友發信息過來,我的電腦便出現了錯誤信息:「0*772b548f」指令引用的「0*00303033」內存,該內存不能為「written」,然後QQ自動下線,而再打開QQ,發現了他發過來的十幾條的信息。 解決方法:這是對方利用QQ的BUG,發送特殊的代碼,做QQ出錯,只要打上補丁或升級到最新版本,就沒事了。
通過上面的幾個例子,可以看到,出現故障的原因有好多種,在這里把已經提到和有可能發生的原因列個表,方便查閱。
解決方法
1、內存條壞了更換內存條
2、雙內存不兼容使用同品牌的內存或只用一條內存
3、內存質量問題更換內存條
4、散熱問題加強機箱內部的散熱
5、內存和主板沒插好或和其它硬體不兼容等重插內存或換個插糟
6、硬碟有問題更換硬碟
7、驅動問題重裝驅動。如果是新系統,要先安裝主板驅動
8、軟體損壞重裝軟體
9、軟體有BUG打補丁或用最新的版本。
10、軟體和系統不兼容給軟體打上補丁或者試試系統的兼容模式
11、軟體和軟體之間有沖突如果最近安裝了什麼新軟體,卸載了試試
12、軟體要使用到其它相關的軟體有問題重裝相關軟體。比如播放某一格式的文件時出錯,可能是這個文件的解碼器有問題
13、病毒問題殺毒
14、殺毒軟體與系統或軟體沖突由於殺毒軟體是進入底層監控系統的,可能與一些軟體沖突,卸載了試試
15、系統本身有問題有時候操作系統本身也會有BUG,要注意安裝官方發行的升級程序,像SP的補丁,最好要打上。如果還不行重裝系統或更換其它版本的系統了。
使用Windows出現藍色屏幕是經常的事,而且每每因為不清楚錯誤的來源而頻繁重新安裝系統,勞神費時。下列收集了一些windows死機密碼,供大家參考。
數值 敘述
0 0x0000 作業完成。
1 0x0001 不正確的函數。
2 0x0002 系統找不到指定的檔案。
3 0x0003 系統找不到指定的路徑。
4 0x0004 系統無法開啟檔案。
5 0x0005 拒絕存取。
6 0x0006 無效的代碼。
7 0x0007 儲存體控制區塊已毀。
8 0x0008 儲存體空間不足,無法處理這個指令。
9 0x0009 儲存體控制區塊位址無效。
10 0x000a 環境不正確。
11 0x000b 嘗試載入一個格式錯誤的程式。
12 0x000c 存取碼錯誤。
13 0x000d 資料錯誤。
14 0x000e 儲存體空間不夠,無法完成這項作業。
15 0x000f 系統找不到指定的磁碟機。
16 0x0010 無法移除目錄。
17 0x0011 系統無法將檔案移到 其他的磁碟機。
18 0x0012 沒有任何檔案。
19 0x0013 儲存媒體為防寫狀態。
20 0x0014 系統找不到指定的裝置。
21 0x0015 裝置尚未就緒。
22 0x0016 裝置無法識別指令。
23 0x0017 資料錯誤 (cyclic rendancy check)
24 0x0018 程式發出一個長 度錯誤的指令。
25 0x0019 磁碟機在磁碟找不到 持定的磁區或磁軌。
26 0x001a 指定的磁碟或磁片無法存取。
27 0x001b 磁碟機找不到要求的磁區。
28 0x001c 印表機沒有紙。
29 0x001d 系統無法將資料寫入指定的磁碟機。
30 0x001e 系統無法讀取指定的裝置。
31 0x001f 連接到系統的某個裝置沒有作用。
32 0x0020 the process cannot access the file because it is being used by another process.
33 0x0021 檔案的一部份被鎖定, 現在無法存取。
34 0x0022 磁碟機的磁片不正確。 請將 %2 (volume serial number: %3) 插入磁碟機 %1。
36 0x0024 開啟的分享檔案數量太多。
38 0x0026 到達檔案結尾。
39 0x0027 磁碟已滿。
50 0x0032 不支援這種網路要求。
51 0x0033 遠端電腦無法使用。
52 0x0034 網路名稱重復。
53 0x0035 網路路徑找不到。
54 0x0036 網路忙碌中。
55 0x0037 the specified network resource or device is no longer available.
56 0x0038 the network bios command limit has been reached.
57 0x0039 網路配接卡發生問題。
58 0x003a 指定的伺服器無法執行要求的作業。
59 0x003b 網路發生意外錯誤。
60 0x003c 遠端配接卡不相容。
61 0x003d 印表機佇列已滿。
62 0x003e 伺服器的空間無法儲存等候列印的檔案。
63 0x003f 等候列印的檔案已經刪除。
64 0x0040 指定的網路名稱無法使用。
65 0x0041 拒絕存取網路。
66 0x0042 網路資源類型錯誤。
67 0x0043 網路名稱找不到。
68 0x0044 超過區域電腦網路配接卡的名稱限制。
69 0x0045 超過網路 bios 作業階段的限制。
70 0x0046 遠端伺服器已經暫停或者正在起始中。
71 0x0047 由於連線數目已達上限,此時無法再連線到這台遠端電腦。
72 0x0048 指定的印表機或磁碟裝置已經暫停作用。
80 0x0050 檔案已經存在。
82 0x0052 無法建立目錄或檔案。
83 0x0053 int 24 失敗
84 0x0054 處理這項要求的儲存體無法使用。
85 0x0055 近端裝置名稱已經在使用中。
86 0x0056 指定的網路密碼錯誤。
87 0x0057 參數錯誤。
88 0x0058 網路發生資料寫入錯誤。
89 0x0059 此時系統無法執行其他行程。
100 0x0064 無法建立其他的系統 semaphore。
101 0x0065 屬於其他行程專用的 semaphore 。
102 0x0066 semaphore 已經設定,而且無法關閉。
103 0x0067 無法指定 semaphore 。
104 0x0068 在岔斷時間無法要求專用的 semaphore 。
105 0x0069 此 semaphore 先前的擁有權已經結束。
106 0x006a 請將磁片插入 %1。
107 0x006b 因為代用的磁片尚未插入,所以程式已經停止。
108 0x006c 磁碟正在使用中或被鎖定。
109 0x006d pipe 已經中止。
110 0x006e 系統無法開啟指定的 裝置或檔案。
111 0x006f 檔名太長。
112 0x0070 磁碟空間不足。
113 0x0071 沒有可用的內部檔案識別字。
114 0x0072 目標內部檔案識別字不正確。
117 0x0075 由應用程式所執行的 ioctl 呼叫 不正確。
118 0x0076 寫入驗證參數值不正確。
119 0x0077 系統不支援所要求的指令。
120 0x0078 此項功能僅在 win32 模式有效。
121 0x0079 semaphore 超過逾時期間。
122 0x007a 傳到系統呼叫的資料區域 太小。
123 0x007b 檔名、目錄名稱或儲存體標簽語法錯誤。
124 0x007c 系統呼叫層次不正確。
125 0x007d 磁碟沒有設定標簽。
126 0x007e 找不到指定的模組。
127 0x007f 找不到指定的程序。
128 0x0080 沒有子行程可供等待。
129 0x0081 %1 這個應用程式無法在 win32 模式下執行。
130 0x0082 attempt to use a file handle to an open disk partition for an
operation other than raw disk i/o.
131 0x0083 嘗試將檔案指標移至檔案開頭之前。
132 0x0084 無法在指定的裝置或檔案,設定檔案指標。
133 0x0085 join 或 subst 指令 無法用於 內含事先結合過的磁碟機。
134 0x0086 嘗試在已經結合的磁碟機,使用 join 或 subst 指令。
135 0x0087 嘗試在已經替換的磁碟機,使 用 join 或 subst 指令。
136 0x0088 系統嘗試刪除 未連結過的磁碟機的連結關系。
137 0x0089 系統嘗試刪除 未替換過的磁碟機的替換關系。
138 0x008a 系統嘗試將磁碟機結合到已經結合過之磁碟機的目錄。
139 0x008b 系統嘗試將磁碟機替換成已經替換過之磁碟機的目錄。
140 0x008c 系統嘗試將磁碟機替換成已經替換過之磁碟機的目錄。
141 0x008d 系統嘗試將磁碟機 subst 成已結合的磁碟機 目錄。
142 0x008e 系統此刻無法執行 join 或 subst。
143 0x008f 系統無法將磁碟機結合或替換同一磁碟機下目錄。
144 0x0090 這個目錄不是根目錄的子目錄。
145 0x0091 目錄仍有資料。
146 0x0092 指定的路徑已經被替換過。
147 0x0093 資源不足,無法處理這項 指令。
148 0x0094 指定的路徑這時候無法使用。
149 0x0095 嘗試要結合或替換的磁碟機目錄,是已經替換過的的目標。
150 0x0096 config.sys 檔未指定系統追蹤資訊,或是追蹤功能被取消。
151 0x0097 指定的 semaphore事件 dosmuxsemwait 數目不正確。
152 0x0098 dosmuxsemwait 沒有執行;設定太多的 semaphore。
153 0x0099 dosmuxsemwait 清單不正確。
154 0x009a 您所輸入的儲存媒體標 元長度限制。
155 0x009b 無法建立其他的執行緒。
156 0x009c 接收行程拒絕接受信號。
157 0x009d 區段已經被舍棄,無法被鎖定。
158 0x009e 區段已經解除鎖定。
159 0x009f 執行緒識別碼的位址不正確。
160 0x00a0 傳到 dosexecpgm 的引數字串不正確。
161 0x00a1 指定的路徑不正確。
162 0x00a2 信號等候處理。
164 0x00a4 系統無法建立執行緒。
167 0x00a7 無法鎖定檔案的部份范圍。
170 0x00aa 所要求的資源正在使用中。
173 0x00ad 取消范圍的鎖定要求不明顯。
174 0x00ae 檔案系統不支援自動變更鎖定類型。
180 0x00b4 系統發現不正確的區段號碼。
182 0x00b6 作業系統無法執行 %1。
183 0x00b7 檔案已存在,無法建立同一檔案。
186 0x00ba 傳送的旗號錯誤。
187 0x00bb 指定的系統旗號找不到。
188 0x00bc 作業系統無法執行 %1。
189 0x00bd 作業系統無法執行 %1。
190 0x00be 作業系統無法執行 %1。
191 0x00bf 無法在 win32 模式下執行 %1。
192 0x00c0 作業系統無法執行 %1。
193 0x00c1 %1 不是正確的 win32 應用程式。
194 0x00c2 作業系統無法執行 %1。
195 0x00c3 作業系統無法執行 %1。
196 0x00c4 作業系統無法執行 這個應用程式。
197 0x00c5 作業系統目前無法執行 這個應用程式。
198 0x00c6 作業系統無法執行 %1。
199 0x00c7 作業系統無法執行 這個應用程式。
200 0x00c8 程式碼的區段不可以大於或等於 64kb。
201 0x00c9 作業系統無法執行 %1。
202 0x00ca 作業系統無法執行 %1。
203 0x00cb 系統找不到輸入的環境選項。 \r
205 0x00cd 在指令子目錄下,沒有任何行程有信號副處理程式。
206 0x00ce 檔案名稱或副檔名太長。
207 0x00cf ring 2 堆疊使用中。
內存不能為written或read的解決方案 :
運行某些程序的時候,有時會出現內存錯誤的提示,然後該程序就關閉。
「0x????????」指令引用的「0x????????」內存。該內存不能為「read」。
「0x????????」指令引用的「0x????????」內存,該內存不能為「written」。
不知你出現過類似這樣的故障嗎?(0x後面內容有可能不一樣。)
一般出現這個現象有方面的,一是硬體,即內存方面有問題,二是軟體,這就有多方面的問題了。
下面先說說硬體:
一般來說,內存出現問題的可能性並不大,主要方面是:內存條壞了、內存質量有問題,還有就是2個不同牌子不同容量的內存混插,也比較容易出現不兼容的情況,同時還要注意散熱問題,特別是超頻後。你可以使用MemTest 這個軟體來檢測一下內存,它可以徹底的檢測出內存的穩定度。
假如你是雙內存,而且是不同品牌的內存條混插或者買了二手內存時,出現這個問題,這時,你就要檢查是不是內存出問題了或者和其它硬體不兼容。
如果都沒有,那就從軟體方面排除故障了。
先簡單說說原理:內存有個存放數據的地方叫緩沖區,當程序把數據放在其一位置時,因為沒有足夠空間,就會發生溢出現象。舉個例子:一個桶子只能將一斤的水,當你放入兩斤的水進入時,就會溢出來。而系統則是在屏幕上表現出來。這個問題,經常出現在windows2000和XP系統上,Windows 2000/XP對硬體的要求是很苛刻的,一旦遇到資源死鎖、溢出或者類似Windows 98里的非法操作,系統為保持穩定,就會出現上述情況。另外也可能是硬體設備之間的兼容性不好造成的。
『叄』 Java編程:常見的幾個錯誤
Java 中最常見的 5 個錯誤:
1、Null 的過度使用
避免過度使用 null 值是一個最佳實踐。例如,更好的做法是讓方法返回空的 array 或者 collection 而不是 null 值,因為這樣可以防止程序拋出 NullPointerException。
2、忽視異常
我們經常對異常置之不理。然而,針對初學者和有經驗的 Java程序員,最佳實踐仍是處理它們。異常拋出通常是帶有目的性的,因此在大多數情況下需要記錄引起異常的事件。別小看這件事,如果必要的話,你可以重新拋出它,在一個對話框中將錯誤信息展示給用戶或者將錯誤信息記錄在日誌中。至少,為了讓其它開發者知曉前因後果,你應該解釋為什麼沒有處理這個異常。
3、並發修改異常
這種異常發生在集合對象被修改,同時又沒有使用 iterator 對象提供的方法去更新集合中的內容。
4、違約
有時候,為了更好地協作,由標准庫或者第三方提供的代碼必須遵守共同的依賴准則。例如,必須遵守hashCode和equals的共同約定,從而保證 Java 集合框架中的一系列集合類和其它使用hashCode和equals方法的類能夠正常工作。不遵守約定並不會產生 exception 或者破壞代碼編譯之類的錯誤;它很陰險,因為它隨時可能在毫無危險提示的情況下更改應用程序行為。
5、使用原始類型而不是參數化的
根據 Java 文檔描述:原始類型要麼是非參數化的,要麼是類 R 的(同時也是非繼承 R 父類或者父介面的)非靜態成員。在 Java 泛型被引入之前,並沒有原始類型的替代類型。Java 從1.5版本開始支持泛型編程,毫無疑問這是一個重要的功能提升。然而,由於向後兼容的原因,這里存在一個陷阱可能會破壞整個類型系統。
『肆』 C語言編程代碼好壞如何判斷
1.2.1 正確性
正確性是指軟體按照需求正確執行任務的能力,涵蓋「精確性」。正確性是第一重要的軟體質量屬性。技術評審和測試的第一關是檢查工作成果的正確性。
從「需求開發」到「系統設計」再到「編程」,任何一個環節出現差錯都會降低正確性。軟體運行出錯通常都是人造成的,開發者應做到為「正確」兩字竭盡全力。
1.2.2 健壯性
健壯性是指在異常情況下,軟體能夠正常運行的能力。正確性與健壯性的區別是:前者描述軟體在需求范圍之內的行為,後者描述軟體在需求范圍之外的行為。想不到異常情況,把異常錯當正常而不作處理,這些都會降低健壯性。提高軟體的健壯性也是開發者的義務。
健壯性有兩層含義:一是容錯能力,二是恢復能力。
容錯是指發生異常情況時系統不出錯誤的能力。高風險系統如航空航天、武器、金融等領域的系統,容錯性設計非常重要。
容錯是非常健壯的意思。而恢復則是指軟體發生錯誤後(不論死活)重新運行時,能否恢復到沒有發生錯誤前的狀態的能力。
從語義上理解,恢復不及容錯那麼健壯。
1.2.3 可靠性
可靠性是指在一定環境下,在給定的時間內,系統不發生故障的概率。因為我們無法對軟體進行徹底的測試,無法根除軟體中潛在的錯誤,所以軟體平時運行良好,說不準哪天就會不正常,如「千年蟲」、「內存泄露」、「誤差累積」等。
軟體可靠性分析通常採用統計技術,但目前可供第一線開發人員使用的成果少見。
1.2.4 性能
性能通常是指軟體的「時間—空間」效率,而不僅是指軟體的運行速度。程序員可以通過優化數據結構、演算法和代碼來提高軟體的性能。演算法復雜度分析是很好的方法,可以達到「未卜先知」的功效。
1.2.5 易用性
易用性是指用戶使用軟體的容易程度。它直觀體現為「界面友好」、「方便」等。
1.2.6 清晰性
清晰意味著工作成果易讀、易理解。開發人員只有在自己思路清晰的時候才可能寫出讓別人清晰性好的程序和文檔。可理解的東西通常是簡潔的。簡潔是人們對工作「精益求精」的結果,而不是潦草應付的結果。
1.2.7 安全性
安全性是指信息安全Security,不是safety。安全性是指防止系統被非法入侵的能力,既屬於技術問題又屬於管理問題。對於大多數軟體產品而言,杜絕非法入侵既不可能也沒必要。一般地,如果黑客為非法入侵花費的代價(考慮時間、費用、風險等因素)高於得到的好處,這樣的系統被認為是安全的。
1.2.8 可擴展性
可擴展性反映軟體適應「變化」的能力。在軟體開發過程中,需求、設計、演算法的改進、程序本身都有可能變化,
軟體是否容易修改關鍵看它的規模和復雜性。可擴展性是系統設計階段重點考慮的質量屬性。
1.2.9 兼容性
兼容性是指兩個或以上的軟體相互交換信息的能力。開發某領域的新軟體,應與已流行的軟體相兼容,否則難以被市場接受。
1.2.10 可移植性
可移植性是指軟體運行於不同軟硬體環境的能力。編程語言越低級,程序越難移植。C比匯編可移植性好,Java號稱「一次編程、到處運行」,具有100%的可移植性。
軟體設計時應該將「設備相關程序」與「設備無關程序」分開,將「功能模塊」
『伍』 如何應對werfault.exe應用程序錯誤的問題
答:有兩種解決方案。
解決方法一:
1、首先按下Win+R組合鍵打開「運行」,在運行輸入「gpedit.msc」打開本地組策略。
2、在本地策略編輯器界面中,依次進入用戶配置-->管理模板-->Windows組件-->找到禁用Windows錯誤報告。
3、我們雙擊打開禁用Windows錯誤報告,我們將其「已禁用」。
4、滑鼠右鍵點擊「此電腦」,選擇「管理」,展開服務和應用程序,再點擊服務,我們找到Windowsupdate服務,將其「禁用」了。
5、在此電腦中,我們右鍵C盤,選擇屬性。
6、在常規選項卡中,點擊「磁碟清理」。
7、要刪除的文件全部勾選,點擊確定即可清理。
8、確定要永久刪除這些文件嗎,點擊「刪除文件」。
9、開啟windowsupdate服務,重啟電腦。
解決方法二:1、我們點擊「開始」菜單,我們展開「Windows系統」,滑鼠右鍵「命令提示符」,選擇更多,以管理員身份運行。
2、我們打開命令提示符之後輸入:for%1in(%windir%system32*.dll)doregsvr32.exe/s%1再輸入:for%1in(%windir%system32*.ocx)doregsvr32.exe/s%1重啟電腦。