VS2008EEでDXライブラリを使用したところ、以下のようなメッセージが出て終了時にプログラムが中断しました。
・出力の内容を一部抜粋
--------------------
〜(略)〜
DirectDrawオブジェクトを解放します
スレッド 'Win32 スレッド' (0x1590) はコード 0 (0x0) で終了しました。
HEAP[DX_Lib_test.exe]: Heap block at 0591ECF0 modified at 0591ECFB past requested size of 3
Windows によって DX_Lib_test.exe でブレークポイントが発生しました。
〜(略)〜
HEAP[DX_Lib_test.exe]: Invalid Address specified to RtlFreeHeap( 05A70000, 0591ECF8 )
Windows によって DX_Lib_test.exe でブレークポイントが発生しました。
〜(略)〜
'DX_Lib_test.exe': 'C:\Windows\System32\atiumdva.dll' をアンロード
スレッド 'Win32 スレッド' (0xf24) はコード 0 (0x0) で終了しました。
'DX_Lib_test.exe': 'C:\Windows\System32\atiumdag.dll' をアンロード
DirectDrawオブジェクトを解放しました
〜(略)〜
--------------------
中断している場所は、DxLib_End()の内部のようです。VS2005では、このようなエラーは発生していませんでした。
このエラーは、開発環境から実行したときのみ発生します。
このログを出力しているDX_Lib_test.exeのコードは、以下の最低限のものしか書いてありません。
#include "DxLib.h"
int WINAPI WinMain(〜略〜) {
SetGraphMode( 640 , 480 , 32 );
ChangeWindowMode( TRUE );
if( DxLib_Init() == -1 ) return -1;
DxLib_End();
return 0;
}
使用したライブラリのバージョンは、2.24cです。2.24bでも同様のエラーを確認しました。
他のバージョンは試していません。
こちらの環境や設定が原因かもしれませんが、確認していただければ幸いです。