【发布时间】:2011-10-13 19:02:15
【问题描述】:
我想我以前见过这个问题,我敢打赌那里有更好的解决方案,所以问..
在调试过程中,我发现assert 之前的任何printf 都不能正常工作。它们大部分时间都没有打印出来。我尝试添加 fflush(stdout) 但似乎没有帮助。
还有其他想法或替代方案吗?
例子:
printf... <- not printed
printf... <- not printed due to the assert. stdout not flushed?
do something
assert()
【问题讨论】:
-
可以给我们看看相关代码吗?
-
不看你的代码就无法判断。
-
“更好的解决方案”?你的解决方案是什么?
-
我刚刚尝试了一个小程序,它可以做到
printf("Hello\n"); assert(0);。它打印“Hello”然后中止。 -
你的平台和编译器是什么?这些是不是很晦涩?