![]() |
發布時間: 2018-10-1 18:40
正文摘要:今天寫程序時遇到一個不能理解的語法錯誤, 編譯時顯示致命錯誤, 請問各位大神是什么原因呢 報錯如下: compiling mian.c... C51 FATAL-ERROR - ACTION: GOBAL ... |
很不錯我的也有這個問題看了之后解決了有用 |
sxhwdz 發表于 2018-10-2 16:21 定義的時候定義成無符號字符型也可以賦值,并通過了 |
psuxaog 發表于 2018-10-5 23:00 好的,謝謝您的提醒,確實存在容易溢出的問題,我以后會汲取這樣的教訓的的 |
你的dat形參是8位的,而你定義這幾個變量都是int的,而且還加了個0x30很容易溢出,最后發現在屏蔽ge那行或把ge等于0去掉會編譯通過,具體原因未知,但要把你的程序整理一下,你的程序風格不好,很不嚴謹,不方便維護。 |
經過實驗,只要把 delay 函數的變量改成 uchar 也是可以通過的 void delay(uchar xms) { uchar i,j; for(i=xms;i>0;i--) for(j=112;j>0;j--); } |
把優化級別降到6級及6級以下就能通過了 |