从编译器检索错误处理到IDE的正确方法是什么? [已关闭]

问题描述 投票:0回答:1

我已经编写了自己的编程语言,并为其完成了自托管编译器。我现在正在 Windows 中为这个编译器后端编写 ide 前端。

问题是我在编译器后端创建了所有错误处理,所以现在我正在为此编译器创建 ide,我不明白它们应该如何通信。 IDE 应该在按下运行按钮时执行编译器,然后将 IDE 中创建的文件传递给编译器进行解析和编译。这看起来非常简单,但是如果有错误的话,我们如何从编译器中检索错误呢?我认为错误需要以某种方式传递回 ide,以便我们可以在错误或输出窗口中显示它。

那么将错误处理从编译器检索到 ide 的正确方法是什么?

c winapi error-handling compiler-construction ide
1个回答
1
投票

通常的方法是通过命令行和标准输出。

在命令行上指定子进程的参数,并将 STARTUPINFO 参数传递给 CreateProcess,在 dwFlags 中设置 STARTF_USESTDHANDLES 并根据需要设置 hStdOutput 和 hStdError 句柄。

在子流程中,使用这些句柄写入父流程所需的任何信息。

当子进程完成时,使用这些句柄来读取进程写入的任何内容。

这假设通常的非交互式编译器进程,您只需将其设置为运行,它就会工作然后返回,而不需要用户输入。

© www.soinside.com 2019 - 2024. All rights reserved.