既然平常都是用 GCC,還是查一下 GCC 要怎麼做。
底下是來自 stackoverflow rob05c 的解答。
#define STRINGIFY(s) XSTRINGIFY(s)
#define XSTRINGIFY(s) #s
#define XDEFINE __GNUC__
#define YDEFINE __GNUC_MINOR__
#define ZDEFINE __GNUC_PATCHLEVEL__
#pragma message "GCC = " STRINGIFY(XDEFINE)"."STRINGIFY(YDEFINE)"."STRINGIFY(ZDEFINE)
輸出結果
test.c:12:9: note: #pragma message: GCC = 4.9.2
#pragma message "GCC = " STRINGIFY(XDEFINE)"."STRINGIFY(YDEFINE)"."STRINGIFY(ZDEFINE)
後記
這兩篇指的都是在編譯時期,需要做一些前置檢查,如果不符合某些條件,就停止編譯。如果是在執行時期就不需要那麼麻煩了。
沒有留言:
張貼留言