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