【问题标题】:Adding compile time message from source file [duplicate]从源文件添加编译时消息[重复]
【发布时间】:2014-08-05 16:19:54
【问题描述】:

当我编译源文件时,是否可以在任何可用的 C/C++ 编译器中打印来自源文件的消息(如果它在链接时不打印它也没关系)。我必须将消息嵌入到源文件中。

(为了更清楚,使用 printf 会在运行时打印消息。我不想在运行时打印消息。)

我知道消息可以放在 Makefile 中(这是我迄今为止所做的)。但是,我真的很希望消息可以放在源文件本身中。

【问题讨论】:

  • 如果您的编译器支持它,您可以使用#warning 预处理器指令,但请记住该消息将显示为警告。
  • 任何特定的 C 编译器?如果是 Microsoft 或 gcc,请查看 #pragma 消息。请注意,MS 和 gcc 的语法不同
  • Borland/CodeGear/Embarcadero 编译器也支持#pragma message

标签: c++ c compilation


【解决方案1】:

C99 标准定义了一个可用于此任务的 #error 预处理器指令:

§6.10.5:

表单的预处理指令

#error pp-tokensopt 换行

使实现产生一个诊断消息,其中包括指定的 预处理标记序列。

【讨论】:

    【解决方案2】:

    一些编译器有#pragma message,它会在编译器的诊断输出中打印一条用户定义的消息。

    【讨论】:

      猜你喜欢
      • 2020-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-15
      • 2014-12-08
      • 1970-01-01
      相关资源
      最近更新 更多