0

我有一个运行构建脚本然后执行程序的构建系统。问题是在应用程序结束之前不会打印程序所做的任何输出。

我尝试从批处理脚本运行程序并使用以下内容:

{
    "cmd": "build.bat Release & cd bin & .\\editor.exe & cd ..",
    "working_dir": "${project_path:${folder}}",
    "shell": true,
}

有什么办法可以避免这种行为?

这是一些重现该问题的简单 C++ 代码:

#include <stdio.h>
#include <thread>

int main(int argc, char** argv)
{    
    using namespace std::chrono_literals;

    fprintf(stderr, "Hello, World\n");
    std::this_thread::sleep_for(2s);

    return 0;
}

编辑:正如 OdatNurd 指出fflush的那样,调用 c++ 代码就可以了。但我宁愿不必修改我的源代码以使其与 sublime 一起正常工作。对我来说,该工具应该适应代码,而不是相反。

EDIT2:这似乎并没有在 Linux 上发生,所以我想这是一些 Windows 特定的东西。结果我更新了标题。

4

0 回答 0