我正在研究Windows上的一個小應用程序。它使用CImage
在磁盤上寫入一個PNG文件。CImage ::保存導致的錯誤線程0x ****退出代碼1(0x1)
它只是這樣的:
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表示一個錯誤? – IInspectable