1. 程式人生 > >[realview] warning: #550-D: variable "d" was set but never used

[realview] warning: #550-D: variable "d" was set but never used

realview arm 編譯器warning #550-D: variable “d” was set but never used 描述: 變數’d’定義但從未使用,或者是,雖然這個變數你使用了,但編譯器認為變數d所在的語句沒有意義,編譯器把它優化了. 使用RealView的amrcc編譯器時遇到了這個警告,本想設定個臨時變數儲存一個結果,然後在偵錯程式中檢視。開始沒有注意這個警告,除錯時才發現變數不可訪問,所以,出現這個警告的時候,編譯器可能已經把這個它認為沒有用的變數給優化掉了。 解決的辦法是,如果你確實需要這個變數,在定義時加上volatile關鍵字,以明確告訴編譯器不要優化它。 另外,有時程式中先寫了一個變數,但確實還沒有用(就像有時我們會寫空函式或者一個函式中有時不需要某個引數),可以用(void)variable;的方式明確的消除編譯器警告。畢竟,遺留任何警告資訊都是不好的。