什么是编译器诊断?

emb*_*edc 1 c++ compiler-errors compiler-warnings language-lawyer

我通常会说“编译器警告”,“编译器错误”。因此,当听到“编译器诊断消息”或“编译器诊断”消息时,我不确定它们是否只是通常的“编译器警告”,“编译器错误”或其他内容?

Sto*_*ica 6

标准实际上将诊断消息定义为

[defns.diagnostic]

属于实现的输出消息的实现定义子集的消息

这是实现选择选择以任何形式呈现的任何消息。打印到控制台的警告和错误均属于此定义。但它不仅限于控制台,甚至不只是警告或错误。例如,一种实现可以选择在弹出窗口中显示“信息”消息。这也是潜在的诊断消息。

  • @ formerlyknownas_463035818 ghuHmoH:整数chenmoH初始化vo'指针Hutlh woDlu'chugh [-wint-conversion] (3认同)
  • @ formerlyknownas_463035818该措辞允许实现的多个自由。它允许实现输出不是诊断的消息。它允许选择所发出的消息是否采用不同的形式(例如,“警告:初始化使指针从整数生成而没有强制转换[-Wint-conversion]”,克林贡语中的等效语言或42的数字代码)。它允许选择如何显示消息(例如,文本输出,窗口弹出)。可能性是无止境。 (2认同)