keil c在單步執行的時後出問題 |
答題得分者是:rick060
|
scott123
中階會員 發表:19 回覆:66 積分:52 註冊:2011-08-11 發送簡訊給我 |
|
kib72377
高階會員 發表:1 回覆:217 積分:238 註冊:2004-11-12 發送簡訊給我 |
|
scott123
中階會員 發表:19 回覆:66 積分:52 註冊:2011-08-11 發送簡訊給我 |
|
rick060
高階會員 發表:2 回覆:112 積分:217 註冊:2009-11-17 發送簡訊給我 |
|
scott123
中階會員 發表:19 回覆:66 積分:52 註冊:2011-08-11 發送簡訊給我 |
dec++沒意義?
請問是什麼意思 我的程式是要把一個16進制轉成10進制 假設我的16進制是a dec是10進制的個位數,dec10是10進制的十位數 (先假設dec不是保留字) 我每a減一次,dec就 1,如果滿十dec10就進位,直到a為0 這樣子寫語法有問題嗎? ===================引 用 rick060 文 章=================== optimize? 就 code 來看,dec 沒意義,compiler 就會略過 另 if(dec=0) //恆成立.. ; compiler 會改成 if(1) ; |
rick060
高階會員 發表:2 回覆:112 積分:217 註冊:2009-11-17 發送簡訊給我 |
|
scott123
中階會員 發表:19 回覆:66 積分:52 註冊:2011-08-11 發送簡訊給我 |
|
scott123
中階會員 發表:19 回覆:66 積分:52 註冊:2011-08-11 發送簡訊給我 |
|
rick060
高階會員 發表:2 回覆:112 積分:217 註冊:2009-11-17 發送簡訊給我 |
1.因為你是寫單晶片,故我預設 compiler 有 開啟最佳化,相關資料可至 http://en.wikipedia.org/wiki/Compiler_optimization 它不是"問題",而是經過最佳化得到的結果 例程式(1) int main() { int a,b,c; a = 10; b = 20; c = 30; printf("%d",a b); } 明顯變數 c 沒用到,雖然已有 assign 但沒有"應用",compiler 就會直接把 c 省略來節省記憶體空間,因靜態變數會佔 stack 空間 例程式(2) int main() { int a; if( a = 10 ) printf("This is always be shown"); } if 判斷 (a = 10) 為恆成立..,故 compiler 就會直接把這行判斷改成 if(1) ,而省去 asm opcode 的開銷 2. 是 if(dec == 10) 還是 if(dec = 10)
|
scott123
中階會員 發表:19 回覆:66 積分:52 註冊:2011-08-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |