2014-06-15 13 views
0

當我編譯源文件時(如果在鏈接時不打印它,它可以)在任何可用的C/C++編譯器中是否可以從源文件中打印消息。我將不得不將該消息嵌入到源文件中。從源文件中添加編譯時間消息

(使其更清晰,使用一個printf將打印在運行時的消息。我不希望打印在運行時的消息。)

我知道的消息可以在Makefile中放(這是我迄今爲止所做的)。不過,我真的很喜歡這條消息是否可以放入源文件本身。

+4

請參閱http://stackoverflow.com/questions/3826832/is-there-a-portable-way-to-print-a-message-from-the-c-preprocessor – DrWatson

+0

如果您的編譯器支持它,您可以使用'#warning'預處理器指令,但請記住該消息將顯示爲警告。 –

+0

任何特定的C編譯器?如果它是Microsoft或gcc,請查看#pragma消息。請注意,MS和gcc的語法不同 – cup

回答

0

C99標準定義了可被用於此任務的#error預處理指令:

§6.10.5:

形式

#error PP-的預處理指令代幣 opt新生線

導致實現產生診斷消息,其中包含指定的預處理令牌序列。

0

某些編譯器有#pragma message,它在編譯器的診斷輸出中打印用戶定義的消息。

相關問題