プログラム終了時にプロセスが残ってしまう現象に悩まされています。
ソースの一部をコメントアウトしながら確認しておりましたところ、
ScreenFlip();をコメントアウトするとプロセスが残らないようになりました。
以下、ソースコードの概略です。
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
//** 前処理 **//
while( ProcessMessage() == 0 ){
//** キャラクターの移動等 **//
if( exitFlag ) break; // ゲーム終了フラグが立っていたらメインループを抜ける
//** 裏画面への描画処理 **//
ScreenFlip();
ClearDrawScreen();
}
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
「キャラクターの移動等」や「裏画面への描画処理」をコメントアウトした場合、プロセスが残ってしまいますが
「ScreenFlip();」をコメントアウトした場合のみ、プロセスが残りません(当然、画面は真っ黒です)。
プロセスが残る・残らないに関わらず、最後の「return 0;」まで処理が走っていることは確認済みです。
(VisualStudio2008のブレークポイント機能を使いました)
何か相性の悪い関数を使ってしまったのかもしれません。
もし何か心当たりがあれば、どんな些細なことでも教えて頂けると助かります。
また、ScreenFlip以外に裏画面を表画面へ描画する方法があれば、そちらも教えて頂きたいです。
以上、よろしくお願いします。