CImage :: Save导致错误线程0x ****已退出代码1(0x1)

时间:2015-08-17 16:21:30

标签: multithreading mfc

我正在开发Windows上的小应用程序。

它使用CImage在磁盘上写入PNG文件。

就是这样:

CImage theImage;
...
theImage.Save("D:\\xxx.png");

将文件写入磁盘后,我单击右上角的关闭按钮退出程序。控制台向我显示了这样的信息:

Thread 0x**** has exited with code 1 (0x1)
Program "[*****] xxx.exe" has exited with code 0 (0x0).

代码0x1应该表示错误,对吗?当CImage::Save创建的线程正在写文件时,似乎发生了错误。

图像文件完全在磁盘上,没有任何问题。我检查了Save的返回值,它也表示成功。

我已经浏览了所有代码,我确信它肯定是由CImage::Save的调用引起的,如果我不调用它,则此消息永远不会弹出。也就是说,控制台看起来像这样:

Program "[*****] xxx.exe" has exited with code 0 (0x0).

我做了一些搜索,我找到了this post,但他们也没有解决。

即使程序没有崩溃,但这条消息仍然让我感到烦恼。

有什么想法吗?非常感谢。

1 个答案:

答案 0 :(得分:0)

“代码0x1应该表示错误,对吗?”

仅以'错误'的最抽象的含义。谁创作了线程的创建和破坏,决定返回什么价值,以及这个价值意味着什么。可能是某人使用了一些需要清理的库,这些库没有及时完成,或者是1000种可能原因中的另一种。不是花时间的东西。