代码更改未在输出中反映出来(CodeBlocks)

3
最近,当我在我的C代码中做一些更改时,它没有反映出来 - 编译器仍然运行旧版本的代码。例如,这个打印语句 >>
printf("Enter a String: ");

它会打印出来

输入一个字符串:

改为:

printf("Enter aaaaaaa String: ");

仍然打印

输入一个字符串:

为什么?我正在使用Code::Blocks IDE。


3
重新构建后再运行...我猜你是在没有重新构建代码的情况下运行它。 - Srinath
如果您正在使用 Eclipse,它不会在构建之前自动保存。 - OopsUser
3个回答

2

当我遇到这些问题时,我会在Linux中按以下方式检查我的可执行文件。

strings a.out | grep aaaaaaa 

输入一个字符串:

如果在您的可执行文件中存在该字符串,则会显示此结果。

在您的情况下,只需尝试模拟源代码中的编译错误(#error)。这是为了确保文件是否正在进行编译。


0

我也遇到了同样的问题。问题是防病毒软件正在检查病毒,这需要太长时间。在关闭先前的可执行文件时,它没有正确地关闭该文件。我不得不通过进入任务管理器找到那个exe并关闭它来关闭它。然后再运行,更改已经反映出来。

永久解决方案是:进入您的防病毒软件设置,在例外选项卡中为您保存程序的路径设置一个例外。

然后防病毒软件将不会扫描正在制作的exe。

希望对您有所帮助。它对我有效...


0

这可能意味着你的新代码由于某些原因没有被编译/链接,而旧版本的可执行文件在运行。清理你的项目并重新构建。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接