当我在 Clion 2018.1.3 中编译并运行时,它构建得很好,但没有任何反应。也没有错误。控制台打开,显示项目的路径位置,让我输入,但它不显示任何 printf 语句。当我在调试器中运行它时,一切都会显示出来并且工作正常。以前不是这样的。我尝试回溯但没有成功。在 main 的第一行插入 printf 语句也不会在控制台上打印。
我尝试在另一个项目上再次重写大量代码。没有运气。我能否了解为什么会出现这种沟通不畅的情况?这是用 C++ 编写的,但使用 cstdio cstdlib 库从 C 语言翻译而来。
最佳答案
CLion 捕获程序的输出。这意味着标准输出的输出(使用 printf 或类似的)不会像默认情况那样进行行缓冲。相反,它是完全缓冲的。如果您希望发生输出,您需要显式刷新标准输出。
它可以进行调试的原因可能是(我在这里推测)CLion 本身可以识别换行符并写入输出。或者它将标准输出修改为无缓冲。
关于c++ - Clion 的调试器正在运行程序,但常规控制台却没有。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53574263/