2013-09-05 14:32:17
#error命令是c/c++語言的預處理命令之一,當預處理器預處理到#error命令時將停止編譯並輸出使用者自定義的錯誤訊息。
語法:#error [使用者自定義的錯誤訊息]
注:上述語法成份中的方括號「」代表使用者自定義的錯誤訊息可以省略不寫。
舉例1:
#error sorry,an error has occurred!
在vs2008下,編譯到該語句就會停止編譯,並給出出錯資訊:
1>e:\visual studio 2010_projects\exam_test_2013_09_05\exam_test_2013_09_05\exam_test.cpp(1注意:#error命令是在編譯時起作用的。): fatal error c1189:
#error : sorry,an error has occurred!
舉例2:
#error
用法示例:
/**檢查編譯此原始檔的編譯器是不是c++編譯器
*如果使用的是c語言編譯器則執行#error命令
*如果使用的是 c++ 編譯器則跳過#error命令
*/#ifndef __cplusplus
#error 親,您當前使用的不是c++編譯器噢!
#endif
#include
int main()
執行結果如圖所示:
#error命令
volatile的作用和舉例
1 作用 作為指令關鍵字,確保本條指令不會因為編譯器的優化而省略,要求每次直接讀值。舉例 int a 10 a 5 a 3 如果不加volatile,編譯器會認為a 3,所以上面兩條指令不會產生機器 2 習題 1 乙個引數既可以是const還可以是volatile嗎?解釋為什麼。2 乙個指標可以是v...
volatile作用及應用舉例
保證執行緒可見性 不能代替synchronized 保證原子性 禁止指令重排序 細節與cpu有關雙重判斷單例 要不要加volatile 需要 一定需要 防止指令重排 synchronized 不能防止重排序 public class singletonclass return instance pr...
error與 pragma的使用
error 生成乙個變異錯誤資訊,可用於提示編譯條件是否滿足。用法 error message 注 message不需要雙引號括起來 pragma用於指示編譯器完成一些特定的動作,並且不同的編譯器之間不可進行移植。pragma的用法 pragma parameter 注 不同的parameter引數...