C語言#error命令,阻止程式編譯
阿新 • • 發佈:2022-05-06
#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