1. 程式人生 > 其它 >C語言#error命令,阻止程式編譯

C語言#error命令,阻止程式編譯

#error 指令用於在編譯期間產生錯誤資訊,並阻止程式的編譯,其形式如下:

#error error_message

例如,我們的程式針對Linux編寫,不保證相容Windows,那麼可以這樣做:

#ifdef WIN32
#error This programme cannot compile at Windows Platform
#endif

WIN32 是Windows下的預定義巨集。當用戶在Windows下編譯該程式時,由於定義了WIN32這個巨集,所以會執行#error命令,提示使用者發生了編譯錯誤,錯誤資訊是:

This programme cannot compile at Windows Platform

這和發生語法錯誤的效果是一樣的,程式編譯失敗。請看下面的截圖:

需要注意的是:報錯資訊不需要加引號" ",如果加上,引號會被一起輸出。例如將上面的#error命令改為:  

#error "This programme cannot compile at Windows Platform"

那麼錯誤資訊如下:

再如,當我們希望以C++的方式來編譯程式時,可以這樣做:

#ifndef __cplusplus
#error 當前程式必須以C++方式編譯
#endif