|
關(guān)于keil軟件的一編譯錯誤提示,大家可以收藏備用,評論下面有鏈接
keil 編譯錯誤提示 -
C51編譯器識別錯類型有三種
1、致命錯誤:偽指令控制行有錯,訪問不存在的原文件或頭文件等。
2、語法及語義錯誤:語法和語義錯誤都發(fā)生在原文件中。有這類錯誤時,給出 提示但不產(chǎn)生目標(biāo)文件,錯誤超過一定數(shù)量才終止編譯。
3、警告:警告出現(xiàn)并不影響目標(biāo)文件的產(chǎn)生,但執(zhí)行時有可能發(fā)生問題。程序 員應(yīng)斟酌處理。 D.1 致命錯誤 C_51 FATAL_ERROR ACTION: LINE:
ERROR: terminated 或C_51 FATAL ERROR ACTION: FILE:
ERROR: terminated C_51 TERMINATED C_51 (1) ACTION 的有關(guān)信息
*PARSING INVOKE-/#PRAGMA_LINE
在對#pragma 指明的控制行作此法分析時出錯。 *ALLOCATING MEMORY
系統(tǒng)分配存儲空間時出錯。編譯較大程序需要512k空間。 *OPENING INPUT_FILE
打開文件時,未找到或打不開源文件/頭文件。 *CREATE LIST_FILE/OBJECT_FILE/WORK_FILE
不能創(chuàng)建上述文件?赡艽疟P滿或文件已存在而且寫保護(hù)。 *PARSING SOURCE_FILE/ANALYZING DECLARATIONS 分析源程序時發(fā)現(xiàn)外部引用名太多。 *GENERATING INTERMEDIATE CODE
源代碼被翻譯成內(nèi)部偽代碼,錯誤可能來源于函數(shù)太大而超過內(nèi)部極限。 *WRITING TO FILE
在向文件(work,list,prelist或object file)寫時發(fā)生錯誤。 (2)ERROR的有關(guān)信息 *MEMORY SPACE EXHAUSTED
所有可用系統(tǒng)空間耗盡。至少需要512k 字節(jié)空間。沒有足夠空間,用戶必須檢查常駐內(nèi)存 的驅(qū)動程序是否太多。 *FILE DOES NOT EXIST
FILE 行定的文本文件名未發(fā)現(xiàn)。 *CAN’T CREAT FILE
FILE 行定義的文件不能被創(chuàng)建。 *SOURCE MUST COME FROMA DISK_FILE
源文件和頭文件必須存在于硬盤或軟盤上?刂婆_、CON、CI 或類似設(shè)備不允許作為輸入 文件。
*MORE THAN 256 SEGMENTS/PUBLICS/EXTERNALS
受OMF_51的歷史限制,一個源程序不能超過256個各種函數(shù)的類型段,256個全局變量,
256 個公共定義或外部引用名。不使用為變量可以減少使用的段數(shù)。使用static 存儲類型說
明符可減少全局變量的使用數(shù)目。合理調(diào)整定義性說明的位置可減少外部引用名的使用數(shù) 目。
*FILEWRITE ERROR
當(dāng)向list、prelist、work或object文件中寫內(nèi)容時,由于空間不夠而發(fā)生錯誤。 *NON_NULLARGUMENT EXPECTED
所選的控制參數(shù)需要一個括號內(nèi)的變量,如一個文件夾或一個數(shù)。 *“(”AFTER CONTROL EXPECTED 變量的左括號丟失。
*“)”AFTER PARAMETER EXPECTED 變量的右括號丟失。
*RESPECIFIED OR CONFLICTING CONTROL
所選的控制參數(shù)與前面發(fā)生沖突或重復(fù),例如CODE和NOCOND *BAD DECIMAL NUMBER
控制參數(shù)的數(shù)字含有非法數(shù),需要使用十進(jìn)制數(shù)。 *OUT OF RANGE DECIMAL NUMBER
控制參數(shù)的數(shù)字越界,例如OPTIMIZE 的參量為0-5。 *IDENTIFIER EXPECTED
控制參數(shù)DEFINE 需要一個標(biāo)識符做參量,與C語言的規(guī)則相同。 *PARSE STACK OVERFLOW
分析棧溢出?赡苁窃闯绦虬貏e復(fù)雜的表達(dá)式,或功能塊嵌套數(shù)超過15。 *PREPOCESSOR: MACRO TO NESTED
宏擴展期間,預(yù)處理器的棧耗用太大。表明宏嵌套太多,或有遞歸宏定義。 *PREPOCESSOR: LINE TOO LONG(510) 宏擴展后行超過510個字符。
*CAN’T HAVE GENERAL CONTROL IN INVOCATION LINE
一般控制(如EJECT)不能是命令行的一部分,應(yīng)將它們放入源文件“pragma”預(yù)處理行 中。
|
|