婷婷亚洲天堂影院-国产精品豆花视频www-伊人影院在线观看-日本少妇浓毛bbwbbwbbw-av网站观看-亚州欧美在线-91精品国产乱码久-任我爽精品视频在线播放-日本视频不卡-亚洲国产精品va在线观看香蕉-国产毛片乡下农村妇女-国产成人免费ā片在线观看老同学-欧美日韩免费在线-成人无码视频免费播放-色综合美女-免费毛片av

電子開發(fā)網

電子開發(fā)網電子設計 | 電子開發(fā)網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發(fā)網 >> 電子開發(fā) >> EDA開發(fā)應用 >> Keilc >> 正文

keil C 編譯器錯誤與解決方法

作者:佚名    文章來源:本站原創(chuàng)    點擊數:    更新時間:2008-12-3

         最近調好了基于EDN USB學習板的無線鍵盤程序,以前KEIL C沒有怎么好好的學習.調試中遇到很多的問題.下面我自己在網上搜到了一些關于keil C 編譯器錯誤與解決方法.做成PDF文檔,望大家少走一點彎路:

                                                   keil c編譯器錯誤與解決方法

1. Warning 280:’i’:unreferenced local variable
說明局部變量i 在函數中未作任何的存取操作解決方法消除函數中i 變量的宣告
2 Warning 206:’Music3’:missing function-prototype
說明Music3( )函數未作宣告或未作外部宣告所以無法給其他函數調用
解決方法將敘述void Music3(void)寫在程序的最前端作宣告如果是其他文件的函數則要寫
成extern void Music3(void),即作外部宣告
3 Compling :C:\8051\MANN.C
Error:318:can’t open file ‘beep.h’
說明在編譯C:\8051\MANN.C 程序過程中由于main.c 用了指令#i nclude “beep.h”,但
卻找不到所致解決方法編寫一個beep.h 的包含檔并存入到c:\8051 的工作目錄中
4 Compling:C:\8051\LED.C
Error 237:’LedOn’:function already has a body
說明LedOn( )函數名稱重復定義即有兩個以上一樣的函數名稱
解決方法修正其中的一個函數名稱使得函數名稱都是獨立的
5 ***WARNING 16:UNCALLED SEGMENT,IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_DELAYX1MS?DELAY
說明DelayX1ms( )函數未被其它函數調用也會占用程序記憶體空間解決方法去掉
DelayX1ms( )函數或利用條件編譯#if …..#endif,可保留該函數并不編譯
6 ***WARNING 6 :XDATA SPACE MEMORY OVERLAP
FROM : 0025H
TO: 0025H
說明外部資料ROM 的0025H 重復定義地址
解決方法外部資料ROM 的定義如下Pdata unsigned char XFR_ADC _at_0x25 其中XFR_ADC
變量的名稱為0x25,請檢查是否有其它的變量名稱也是定義在0x25 處并修正它
7 WARNING 206:’DelayX1ms’: missing function-prototype
C:\8051\INPUT.C
Error 267 :’DelayX1ms ‘:requires ANSI-style prototype C:\8051\INPUT.C
說明程序中有調用DelayX1ms 函數但該函數沒定義即未編寫程序內容或函數已定義但未作
宣告
解決方法編寫DelayX1ms 的內容編寫完后也要作宣告或作外部宣告可在delay.h 的包含檔
宣告成外部以便其它函數調用
8 ***WARNING 1:UNRESOLVED EXTERNAL SYMBOL
SYMBOL:MUSIC3
MODULE:C:\8051\MUSIC.OBJ(MUSIC)
***WARNING 2:REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL:MUSIC3
MODULE:C:\8051\MUSIC.OBJ(MUSIC)
ADDRESS:0018H
說明程序中有調用MUSIC 函數但未將該函數的含擴檔C 加入到工程檔Prj 作編譯和連接
解決方法設MUSIC3 函數在MUSIC C 里將MUSIC C 添加到工程文件中去
9 ***ERROR 107:ADDESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: _DATA_GOUP_
LENGTH: 0018H
***ERROR 118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: VOLUME
MODULE: C:\8051\OSDM.OBJ (OSDM)
ADDRESS: 4036H
說明data 存儲空間的地址范圍為0~0x7f,當公用變量數目和函數里的局部變量如果存
儲模式設為SMALL 則局部變量先使用工作寄存器R2~R7 作暫存當存儲器不夠用時則會
以data 型別的空間作暫存的個數超過0x7f 時就會出現地址不夠的現象
解決方法將以data 型別定義的公共變量修改為idata 型別的定義
說明如對編譯出錯感興趣的網友能否把你們常遇到的錯誤信息收集起來并提出最終的
解決辦法加以歸納以期共享
10.***WARNING L15: MULTIPLE CALL TO SEGMENT
SEGMENT: ?PR?_WRITE_GMVLX1_REG?D_GMVLX1
CALLER1: ?PR?VSYNC_INTERRUPT?MAIN
CALLER2: ?C_C51STARTUP
***WARNING L15: MULTIPLE CALL TO SEGMENT
SEGMENT: ?PR?_SPI_SEND_WORD?D_SPI
CALLER1: ?PR?VSYNC_INTERRUPT?MAIN
CALLER2: ?C_C51STARTUP
***WARNING L15: MULTIPLE CALL TO SEGMENT
SEGMENT: ?PR?SPI_RECEIVE_WORD?D_SPI
CALLER1: ?PR?VSYNC_INTERRUPT?MAIN
CALLER2: ?C_C51STARTUP
該警告表示連接器發(fā)現有一個函數可能會被主函數和一個中斷服務程序(或者調用中斷
服務程序的函數)同時調用,
或者同時被多個中斷服務程序調用。
出現這種問題的原因之一是這個函數是不可重入性函數,當該函數運行時它可能會被一
個中斷打斷,從而使得結果發(fā)生變化
并可能會引起一些變量形式的沖突(即引起函數內一些數據的丟失,可重入性函數在任何時
候都可以被ISR 打斷,一段時間后又可以
運行,但是相應數據不會丟失)。
原因之二是用于局部變量和變量(暫且這樣翻譯,arguments,[自變量,變元一數值,用于
確定程序或子程序的值])的內存區(qū)被其他函數的內存區(qū)所覆蓋,如果該函數被中斷,則它的
內存區(qū)就會
被使用,這將導致其他函數的內存沖突。
例如,第一個警告中函數WRITE_GMVLX1_REG 在D_GMVLX1.C 或者D_GMVLX1.A51 被定義,
它被一個中斷服務程序或者一個調用了中斷
服務程序的函數調用了,調用它的函數是VSYNC_INTERRUPT,在MAIN.C 中。
解決方法:
如果你確定兩個函數決不會在同一時間執(zhí)行(該函數被主程序調用并且中斷被禁止),并
且該函數不占用內存(假設只使用寄存器),
則你可以完全忽略這種警告。
如果該函數占用了內存,則應該使用連接器(linker)OVERLAY 指令將函數從覆蓋分析
(overlay analysis)中除去,例如:
OVERLAY (?PR?_WRITE_GMVLX1_REG?D_GMVLX1 ! *)
上面的指令防止了該函數使用的內存區(qū)被其他函數覆蓋。如果該函數中調用了其他函數,
而這些被調用在程序中其他地方也被調用,
你可能會需要也將這些函數排除在覆蓋分析(overlay analysis)之外。這種OVERLAY 指令能
使編譯器除去上述警告信息。
如果函數可以在其執(zhí)行時被調用,則情況會變得更復雜一些。這時可以采用以下幾種方
法:
1.主程序調用該函數時禁止中斷,可以在該函數被調用時用#pragma disable 語句來實現禁
止中斷的目的。必須使用OVERLAY 指令將該函數
從覆蓋分析中除去。
2.復制兩份該函數的代碼,一份到主程序中,另一份復制到中斷服務程序中。
3.將該函數設為重入型。例如:
void myfunc(void) reentrant {
...
}
這種設置將會產生一個可重入堆棧,該堆棧被被用于存儲函數值和局部變量,用這種
方法時重入堆棧必須在STARTUP.A51 文件中配置。
這種方法消耗更多的RAM 并會降低重入函數的執(zhí)行速度。
11. *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_COMPARE?TESTLCD
說明:程序中有些函數(或片段)以前(調試過程中)從未被調用過,或者根本沒有
調用它的語句。
這條警告信息前應該還有一條信息指示出是哪個函數導致了這一問題。只要做點簡
單的調整就可以。不理它也沒什么大不了的。
解決方法:去掉COMPARE()函數或利用條件編譯#if …..#endif,可保留該函數并不
編譯。
C 編譯器錯誤信息中文翻譯
Ambiguous operators need
parentheses
不明確的運算需要用括號括起
Ambiguous symbol ``xxx``
不明確的符號
Argument list syntax error
參數表語法錯誤
Array bounds missing
丟失數組界限符
Array size toolarge
數組尺寸太大
Bad character in paramenters
參數中有不適當的字符
Bad file name format in include
directive
包含命令中文件名格式不正確
Bad ifdef directive synatax
編譯預處理ifdef 有語法錯
Bad undef directive syntax
編譯預處理undef 有語法錯
Bit field too large
位字段太長
Call of non-function
調用未定義的函數
Call to function with no
prototype
調用函數時沒有函數的說明
Cannot modify a const object
不允許修改常量對象
Case outside of switch
漏掉了case 語句
Case syntax error
Case 語法錯誤
Code has no effect
代碼不可述不可能執(zhí)行到
Compound statement missing{
分程序漏掉"{"
Conflicting type modifiers
不明確的類型說明符
Constant expression required
要求常量表達式
Constant out of range in
comparison
在比較中常量超出范圍
Conversion may lose
significant digits
轉換時會丟失意義的數字
Conversion of near pointer not
allowed
不允許轉換近指針
Could not find file ``xxx``
找不到XXX 文件
Declaration missing ;
說明缺少";"
Declaration syntax error
說明中出現語法錯誤
Default outside of switch
Default 出現在switch 語句之外
Define directive needs an
identifier
定義編譯預處理需要標識符
Division by zero
用零作除數
Do statement must have while
Do-while 語句中缺少while 部分
Enum syntax error
枚舉類型語法錯誤
Enumeration constant syntax
error
枚舉常數語法錯誤
Error directive :xxx
錯誤的編譯預處理命令
Error writing output file
寫輸出文件錯誤
Expression syntax error
表達式語法錯誤
Extra parameter in call
調用時出現多余錯誤
File name too long
文件名太長
Function call missing )
函數調用缺少右括號
Fuction definition out of place
函數定義位置錯誤
Fuction should return a value
函數必需返回一個值
Goto statement missing label
Goto 語句沒有標號
Hexadecimal or octal constant
too large
16 進制或8 進制常數太大
Illegal character ``x``
非法字符x
Illegal initialization
非法的初始化
Illegal octal digit
非法的8 進制數字
Illegal pointer subtraction
非法的指針相減
Illegal structure operation
非法的結構體操作
Illegal use of floating point
非法的浮點運算
Illegal use of pointer
指針使用非法
Improper use of a
typedefsymbol
類型定義符號使用不恰當
In-line assembly not allowed
不允許使用行間匯編
Incompatible storage class
存儲類別不相容
Incompatible type conversion
不相容的類型轉換
Incorrect number format
錯誤的數據格式
Incorrect use of default
Default 使用不當
Invalid indirection
無效的間接運算
Invalid pointer addition
指針相加無效
Irreducible expression tree
無法執(zhí)行的表達式運算
Lvalue required
需要邏輯值0 或非0 值
Macro argument syntax error
宏參數語法錯誤
Macro expansion too long
宏的擴展以后太長
Mismatched number of
parameters in definition
定義中參數個數不匹配
Misplaced break
此處不應出現break 語句
Misplaced continue
此處不應出現continue 語句
Misplaced decimal point
此處不應出現小數點
Misplaced elif directive
不應編譯預處理elif
Misplaced else
此處不應出現else
Misplaced else directive
此處不應出現編譯預處理else
Misplaced endif directive
此處不應出現編譯預處理endif
Must be addressable
必須是可以編址的
Must take address of memory
location
必須存儲定位的地址
No declaration for function
``xxx``
沒有函數xxx 的說明
No stack
缺少堆棧
No type information
沒有類型信息
Non-portable pointer
assignment
不可移動的指針(地址常數)賦

Non-portable pointer
comparison
不可移動的指針(地址常數)比

Non-portable pointer
conversion
不可移動的指針(地址常數)轉

Not a valid expression format
type
不合法的表達式格式
Not an allowed type
不允許使用的類型
Numeric constant too large
數值常太大
Out of memory
內存不夠用
Parameter ``xxx`` is never
used
能數xxx 沒有用到
Pointer required on left side of
->
符號->的左邊必須是指針
Possible use of ``xxx`` before
definition
在定義之前就使用了xxx(警告)
Possibly incorrect assignment
賦值可能不正確
Redeclaration of ``xxx``
重復定義了xxx
Redefinition of ``xxx`` is not
identical
xxx 的兩次定義不一致
Register allocation failure
寄存器定址失敗
Repeat count needs an lvalue
重復計數需要邏輯值
Size of structure or array not
known
結構體或數給大小不確定
Statement missing ;
語句后缺少";"
Structure or union syntax error
結構體或聯合體語法錯誤
Structure size too large
結構體尺寸太大
Sub scripting missing ]
下標缺少右方括號
Superfluous & with function or
array
函數或數組中有多余的"&"
Suspicious pointer conversion
可疑的指針轉換
Symbol limit exceeded
符號超限
Too few parameters in call
函數調用時的實參少于函數的
參數不
Too many default cases
Default 太多(switch 語句中一
個)
Too many error or warning
messages
錯誤或警告信息太多
Too many type in declaration
說明中類型太多
Too much auto memory in
function
函數用到的局部存儲太多
Too much global data defined
in file
文件中全局數據太多
Two consecutive dots
兩個連續(xù)的句點
Type mismatch in parameter
xxx
參數xxx 類型不匹配
Type mismatch in
redeclaration of ``xxx``
xxx 重定義的類型不匹配
Unable to create output file
``xxx``
無法建立輸出文件xxx
Unable to open include file
``xxx``
無法打開被包含的文件xxx
Unable to open input file ``xxx``
無法打開輸入文件xxx
Undefined label ``xxx``
沒有定義的標號xxx
Undefined structure ``xxx``
沒有定義的結構xxx
Undefined symbol ``xxx``
沒有定義的符號xxx
Unexpected end of file in
comment started on line xxx
從xxx 行開始的注解尚未結束文
件不能結束
Unexpected end of file in
conditional started on line xxx
從xxx 開始的條件語句尚未結
束文件不能結束
Unknown assemble instruction
未知的匯編結構
Unknown option
未知的操作
Unknown preprocessor
directive: ``xxx``
不認識的預處理命令xxx
Unreachable code
無路可達的代碼
Unterminated string or
character constant
字符串缺少引號
User break
用戶強行中斷了程序
Void functions may not return a
value
Void 類型的函數不應有返回值
Wrong number of arguments
調用函數的參數數目錯
``xxx`` not an argument
xxx 不是參數
``xxx`` not part of structure
xxx 不是結構體的一部分
xxx statement missing (
xxx 語句缺少左括號
xxx statement missing )
xxx 語句缺少右括號
xxx statement missing ;
xxx 缺少分號
xxx`` declared but never used
說明了xxx 但沒有使用
xxx`` is assigned a value which
is never used
給xxx 賦了值但未用過
Zero length structure
結構體的長度為零

Tags:keil c,編譯器,錯誤,解決方法  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
推薦文章
最新推薦
熱門文章
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
婷婷亚洲天堂影院-国产精品豆花视频www-伊人影院在线观看-日本少妇浓毛bbwbbwbbw-av网站观看-亚州欧美在线-91精品国产乱码久-任我爽精品视频在线播放-日本视频不卡-亚洲国产精品va在线观看香蕉-国产毛片乡下农村妇女-国产成人免费ā片在线观看老同学-欧美日韩免费在线-成人无码视频免费播放-色综合美女-免费毛片av
<button id="4i884"></button>
  • <abbr id="4i884"><source id="4i884"></source></abbr>
  • <code id="4i884"><tr id="4i884"></tr></code>
  • <rt id="4i884"></rt>
    <li id="4i884"></li>
  • <rt id="4i884"><tr id="4i884"></tr></rt>
  • 国产网站免费在线观看| 日韩免费在线观看av| 久久国产亚洲精品无码| 国产999免费视频| 午夜免费视频网站| 国产青草视频在线观看| 久久人人爽人人爽人人av| 久久久久亚洲av无码专区喷水| 日本黄色的视频| 国产情侣第一页| 可以在线看的黄色网址| 午夜精品在线免费观看| 五月花丁香婷婷| 日本xxxxxxxxxx75| 奇米影视四色在线| 日本三级免费网站| 潘金莲激情呻吟欲求不满视频| 伊人精品视频在线观看| 国产精品三级一区二区| 激情 小说 亚洲 图片: 伦| 公共露出暴露狂另类av| 日本精品www| 国产树林野战在线播放| 欧在线一二三四区| 动漫av网站免费观看| 四虎1515hh.com| 嫩草影院国产精品| 992tv人人草| 国产大片一区二区三区| 国产资源在线免费观看| 美女av免费观看| 一区中文字幕在线观看| 五月婷婷六月合| 爱情岛论坛vip永久入口| 日韩免费毛片视频| 成人在线播放网址| 国模无码视频一区二区三区| 自拍偷拍视频在线| 男女激情免费视频| 日韩极品视频在线观看| 红桃av在线播放| 日本男人操女人| 一区二区三区国产好的精华液| 一区二区三区韩国| 日韩国产小视频| 无码人妻精品一区二区三区在线| 欧美 日韩精品| 国内av免费观看| 黄色国产精品视频| a级网站在线观看| 日本成人在线免费视频| 欧美少妇一级片| 玩弄japan白嫩少妇hd| 不卡中文字幕在线| 日日碰狠狠躁久久躁婷婷| 中文字幕第100页| 37pao成人国产永久免费视频| 国产成人黄色网址| www.中文字幕在线| aa视频在线播放| 日韩国产小视频| 国产亚洲精品久久久久久久| 亚洲高清在线免费观看| 国产午夜福利100集发布| 免费网站在线观看黄| 一区二区成人网| 天美星空大象mv在线观看视频| 九色自拍视频在线观看| 17c丨国产丨精品视频| 伊人久久在线观看| 福利视频免费在线观看| www.射射射| 日本美女高潮视频| 色香蕉在线观看| 男女私大尺度视频| 亚洲一区二区三区四区五区xx| 五月婷婷狠狠操| 日本黄网站色大片免费观看| 97精品国产97久久久久久粉红| 国产女人18毛片| 一区二区传媒有限公司| 在线免费观看av的网站| 国产精品久久久久久9999| 大桥未久一区二区三区| 青青在线视频观看| 欧美一级视频免费看| 91大神免费观看| 黄色手机在线视频| 欧美爱爱视频免费看| 裸体大乳女做爰69| 国内自拍视频网| 超碰av在线免费观看| 日本a级片在线播放| www.cao超碰| 日本在线观看a| 日韩欧美xxxx| 国产精品-区区久久久狼| 国产精彩视频一区二区| 丰满的少妇愉情hd高清果冻传媒| 午夜精品久久久久久久99热影院| 又粗又黑又大的吊av| 日韩美女爱爱视频| 国产视频九色蝌蚪| 国产 日韩 欧美在线| 欧美牲交a欧美牲交aⅴ免费真| 超碰10000| 日韩网址在线观看| 粉嫩虎白女毛片人体| 久久精品视频在线观看免费| 黄色a级三级三级三级| 800av在线免费观看| 青青青免费在线| 国产欧美一区二| 水蜜桃色314在线观看| 美女黄色片视频| 国产高清av在线播放| 在线免费看污网站| 国产精品亚洲a| 美脚丝袜脚交一区二区| 色播五月激情五月| 欧美a在线视频| 欧美日韩黄色一级片| 超薄肉色丝袜足j调教99| 日本xxxxxxx免费视频| 超薄肉色丝袜足j调教99| 中文字幕第36页| 欧美aⅴ在线观看| 国产成人无码a区在线观看视频| 污色网站在线观看| 国产一级不卡毛片| 国产午夜福利视频在线观看| 妞干网在线视频观看| www.亚洲视频.com| 操bbb操bbb| 免费一级特黄毛片| 日韩欧美亚洲天堂| 日韩一级在线免费观看| 欧在线一二三四区| 看欧美ab黄色大片视频免费 | 日韩中文字幕三区| 国产高清999| 我的公把我弄高潮了视频| 18岁网站在线观看| 999这里有精品| 三区视频在线观看| 日本中文字幕在线不卡| 大西瓜av在线| 欧美精品自拍视频| 深夜黄色小视频| 日韩精品视频在线观看视频| 日本www在线视频| 岛国av在线免费| 丝袜老师办公室里做好紧好爽| 久久撸在线视频| 又粗又黑又大的吊av| 男女啪啪免费观看| www.桃色.com| 婷婷激情综合五月天| 男人透女人免费视频| 成人免费性视频| 日韩一级特黄毛片| 欧美国产在线一区| 国产卡一卡二在线| 九九九九九九九九| gogogo免费高清日本写真| 亚洲视频在线观看一区二区三区| 91视频 - 88av| 视频一区二区视频| 精品一区二区三区毛片| 黄色小视频免费网站| 污污的网站18| 91av视频免费观看| 久久人人爽人人片| 日韩精品久久一区二区| 拔插拔插海外华人免费| 乱妇乱女熟妇熟女网站| 亚洲欧美另类动漫| 韩国一区二区在线播放| av一区二区三区免费观看| 97在线国产视频| 三级a三级三级三级a十八发禁止| 在线观看免费av网址| av一区二区三区免费观看| 水蜜桃色314在线观看| 91激情视频在线| 亚洲人成无码网站久久99热国产 | 91插插插插插插插插| 亚洲国产一二三精品无码| 无码内射中文字幕岛国片| 国产青草视频在线观看| 久草综合在线观看| 免费在线观看亚洲视频| 大桥未久一区二区| www.亚洲高清| 国产精品视频分类| 性欧美极品xxxx欧美一区二区| 欧美视频在线免费播放| 99999精品| 日韩视频免费播放| 日本精品久久久久久久久久|