4

在 Visual Studio 中,我可以在源代码中包含以下宏,并在构建过程中打印出消息。然后我可以双击构建消息窗口中的消息并转到源代码行。

#define _QUOTE(x) # x
#define QUOTE(x) _QUOTE(x)
#define __FILE__LINE__ __FILE__ "(" QUOTE(__LINE__) ") : "
#pragma message ( __FILE__LINE__ "Notify user of something in code" )

是否可以在 Builder C++ 中做同样的事情?

我认为不是,因为在 Builder C++ 的构建消息窗口中似乎有更多信息允许“查看源代码”选项或双击命令起作用。

C++ 生成器 XE。

我在这个问题中包含了 Delphi 标签,因为许多 Delphi 用户也使用 Builder C++。

4

2 回答 2

3

C++ Builder 中的等价物是#warning指令。该行:

#warning Test warning message here

在消息窗格中显示以下内容:

“消息”窗格中的警告消息

这就像任何其他编译器消息一样,双击它会将您带到代码行。

__FILE____LINE__宏不会在您定义的消息内扩展 using -#warning它接受文本并完全按照所写的方式将其吐出。但是,您不需要使用它们,因为发出的消息无论如何都包含文件和行号。

如果您想写出错误消息(因为 Delphi 允许您$MESSAGE从内存中获得提示、警告或错误的级别),您可以使用#error. 它的工作原理与#warning任何其他错误编译一样,并在该行停止编译,所以

#error This is an error message

“消息”窗格中的错误消息

我正在使用C++ Builder 2010,但我确信这些指令适用于许多版本。

(顺便说一句,标记 C++ Builder 问题“delphi”通常很好,因为关于 IDE 或 VCL 的许多问题将由两个社区同样回答。我一直这样做。这可能不是这些问题之一,因为Delphi 的人不太可能知道特定的 C++ Builder 编译器指令。单独标记“c++-builder”就可以了。)

于 2011-01-11T23:34:02.230 回答
0

在 Delphi 中,您可以包含消息指令。例如:

{$MESSAGE WARN 'To be or not to be'}

这将在构建消息中输出警告。该构建消息与任何其他编译器错误/警告/提示一样可单击,单击它会将您带到源代码中 {$MESSAGE ...} 指令的位置。

我不知道,因为我不使用 C++ builder,但我认为 C++ Builder 支持类似的技术......

于 2011-01-06T19:36:58.743 回答