何が原因だと思いますか?
なおVisual studio上では普通に実行できました。
Log.txtを見ても異常はありませんでした。
実行ファイルをダブルクリックしたらすぐ閉じてしまいます。
Re: 実行ファイルをダブルクリックしたらすぐ閉じてしまいます。
コンソール・アプリケーションをWindowsエクスプローラー上で
ダブルクリックによって実行すると、終了時にコマンドプロンプトが
すぐ閉じるのはごく普通のことだと思います。
コードの最後にgetchar(); か何かを書いてEnterキーの待ち受け状態にしていないのであれば。
上記の状況ではないのでしたら、何をしたときにそうなったのか、
具体的に書いてください。
ダブルクリックによって実行すると、終了時にコマンドプロンプトが
すぐ閉じるのはごく普通のことだと思います。
コードの最後にgetchar(); か何かを書いてEnterキーの待ち受け状態にしていないのであれば。
上記の状況ではないのでしたら、何をしたときにそうなったのか、
具体的に書いてください。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: 実行ファイルをダブルクリックしたらすぐ閉じてしまいます。
状況:DXライブラリをつかってゲームを作成し、Releaceにしてビルド→実行ファイルが出来る。フォルダに素材を放り込む→実行ファイルダブルクリック→すぐ落ちる
Log.txtを見ると素材は読み込めていると思います。
Log.txt
0:システムの情報を出力します
1: DXライブラリ Ver3.05
2: 論理プロセッサの数 : 8
3: OS Windows7 ( Build 7601 Service Pack 1 )
105: CPU動作速度:大体3.38GHz
105: MMX命令を使用します
106: SSE命令が使用可能です
106: SSE2命令が使用可能です
107: CPUベンダ:GenuineIntel
109: CPU名: Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
111:COMの初期化... 成功しました
113:メモリ総量:6126.45MB 空きメモリ領域:3448.34MB
113:タイマーの精度を検査します
113:精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60
114: パフォーマンスカウンターを使用します タイマー精度 : 3312.871000 KHz
114: ソフトの二重起動検査... 二重起動はされていませんでした
116:ウインドウクラスを登録します... 登録に成功しました
116:ウインドウモード起動用のウインドウを作成します
129:ウインドウの作成に成功しました
156:IMEを無効にしました
157:ウインドウスタイルをウインドウモード用に変更します... 完了
158:DirectInput関係初期化処理
158: DirectInput7 の取得中... 成功
165: 引き続き初期化処理... 初期化成功
167: ジョイパッドの初期化...
170: ジョイパッドの初期化は正常に終了しました
170: マウスデバイスの初期化... 初期化成功
171: キーボードデバイスの初期化... 初期化成功
172:DirectInput 関連の初期化は正常に終了しました
172:DirectSound の初期化を行います
173:DirectSound インターフェースの取得を行います.... 成功
174:引き続きインターフェースの初期化処理... 成功
203: DirectSound デバイスを列挙します
204: モジュール名: ドライバ記述:プライマリ サウンド ドライバー
204: モジュール名:{0.0.0.00000000}.{b219bdf5-094c-46d0-bb91-c1fc0f9686c4} ドライバ記述:スピーカー (Realtek High Definition Audio)
204: モジュール名:{0.0.0.00000000}.{c97b50b3-e779-4872-975a-a5b2f433383c} ドライバ記述:Realtek Digital Output (Realtek High Definition Audio)
205: 最大サンプリングレート:200.00KHz 最小サンプリングレート:0.10KHz
205: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB
205: 利用可能サンプリング精度
206: プライマリ 16bit = OK 8bit = OK
206: セカンダリ 16bit = OK 8bit = OK
206: 利用可能チャンネル
207: プライマリ MONO = OK STEREO = OK
207: セカンダリ MONO = OK STEREO = OK
207:DirectSound の初期化は正常に終了しました
209:DirectDraw オブジェクトの取得を行います.... 成功
211:引き続き初期化処理... 初期化に成功しました
235:IDirect3D9Ex オブジェクトを取得します.... 成功
240:IDirect3DDevice9Ex オブジェクトを取得します.... ハードウエア頂点演算を使用します
533:成功
534:Driver:atiu9pag.dll Description:ATI Radeon HD 5700 Series
534:画面のフォーマットは D3DFMT_X8R8G8B8 です
535:Zバッファのフォーマットは D3DFMT_D16 です
535:16bit カラーフォーマットは D_D3DFMT_R5G6B5 です
535:32bit カラーフォーマットは D_D3DFMT_X8R8G8B8 です
536:アルファ付き 16bit カラーフォーマットは D_D3DFMT_A4R4G4B4 です
536:アルファ付き 32bit カラーフォーマットは D_D3DFMT_A8R8G8B8 です
536:アルファテスト用 16bit カラーフォーマットは D_D3DFMT_A1R5G5B5 です
537:アルファテスト用 32bit カラーフォーマットは D_D3DFMT_A8R8G8B8 です
537:DXT1テクスチャフォーマットは D_D3DFMT_DXT1 です
537:DXT2テクスチャフォーマットは D_D3DFMT_DXT2 です
538:DXT3テクスチャフォーマットは D_D3DFMT_DXT3 です
538:DXT4テクスチャフォーマットは D_D3DFMT_DXT4 です
538:DXT5テクスチャフォーマットは D_D3DFMT_DXT5 です
539:描画用 16bit カラーフォーマットは D_D3DFMT_R5G5B5 です
539:描画用 32bit カラーフォーマットは D_D3DFMT_X8R8G8B8 です
539:描画用アルファ付き 32bit カラーフォーマットは D_D3DFMT_A8R8G8B8 です
539:最大テクスチャサイズ 幅:16384 高さ:16384
540:テクスチャステージテンポラリレジスタ:使用可
540:減算合成のハードウェア対応:ネイティブ
540:頂点シェーダーバージョンコード:300
541:ピクセルシェーダーバージョンコード:300
638:バックバッファロック転送の時間:29748nsec 一時的な描画可能バッファを使用した転送の時間:1447nsec
639:バックバッファロックを使用しません
639:Zバッファを作成します.... 成功
648:プログラマブルシェーダーを使用します
699:フォントの初期化を行います
700:フォントの初期化は正常に終了しました
701:文字コードバッファの初期化を行います... 完了しました
ちなみにWaitKeyをコードに記述してもすぐ閉じてしまいます。
Log.txtを見ると素材は読み込めていると思います。
Log.txt
0:システムの情報を出力します
1: DXライブラリ Ver3.05
2: 論理プロセッサの数 : 8
3: OS Windows7 ( Build 7601 Service Pack 1 )
105: CPU動作速度:大体3.38GHz
105: MMX命令を使用します
106: SSE命令が使用可能です
106: SSE2命令が使用可能です
107: CPUベンダ:GenuineIntel
109: CPU名: Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
111:COMの初期化... 成功しました
113:メモリ総量:6126.45MB 空きメモリ領域:3448.34MB
113:タイマーの精度を検査します
113:精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60
114: パフォーマンスカウンターを使用します タイマー精度 : 3312.871000 KHz
114: ソフトの二重起動検査... 二重起動はされていませんでした
116:ウインドウクラスを登録します... 登録に成功しました
116:ウインドウモード起動用のウインドウを作成します
129:ウインドウの作成に成功しました
156:IMEを無効にしました
157:ウインドウスタイルをウインドウモード用に変更します... 完了
158:DirectInput関係初期化処理
158: DirectInput7 の取得中... 成功
165: 引き続き初期化処理... 初期化成功
167: ジョイパッドの初期化...
170: ジョイパッドの初期化は正常に終了しました
170: マウスデバイスの初期化... 初期化成功
171: キーボードデバイスの初期化... 初期化成功
172:DirectInput 関連の初期化は正常に終了しました
172:DirectSound の初期化を行います
173:DirectSound インターフェースの取得を行います.... 成功
174:引き続きインターフェースの初期化処理... 成功
203: DirectSound デバイスを列挙します
204: モジュール名: ドライバ記述:プライマリ サウンド ドライバー
204: モジュール名:{0.0.0.00000000}.{b219bdf5-094c-46d0-bb91-c1fc0f9686c4} ドライバ記述:スピーカー (Realtek High Definition Audio)
204: モジュール名:{0.0.0.00000000}.{c97b50b3-e779-4872-975a-a5b2f433383c} ドライバ記述:Realtek Digital Output (Realtek High Definition Audio)
205: 最大サンプリングレート:200.00KHz 最小サンプリングレート:0.10KHz
205: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB
205: 利用可能サンプリング精度
206: プライマリ 16bit = OK 8bit = OK
206: セカンダリ 16bit = OK 8bit = OK
206: 利用可能チャンネル
207: プライマリ MONO = OK STEREO = OK
207: セカンダリ MONO = OK STEREO = OK
207:DirectSound の初期化は正常に終了しました
209:DirectDraw オブジェクトの取得を行います.... 成功
211:引き続き初期化処理... 初期化に成功しました
235:IDirect3D9Ex オブジェクトを取得します.... 成功
240:IDirect3DDevice9Ex オブジェクトを取得します.... ハードウエア頂点演算を使用します
533:成功
534:Driver:atiu9pag.dll Description:ATI Radeon HD 5700 Series
534:画面のフォーマットは D3DFMT_X8R8G8B8 です
535:Zバッファのフォーマットは D3DFMT_D16 です
535:16bit カラーフォーマットは D_D3DFMT_R5G6B5 です
535:32bit カラーフォーマットは D_D3DFMT_X8R8G8B8 です
536:アルファ付き 16bit カラーフォーマットは D_D3DFMT_A4R4G4B4 です
536:アルファ付き 32bit カラーフォーマットは D_D3DFMT_A8R8G8B8 です
536:アルファテスト用 16bit カラーフォーマットは D_D3DFMT_A1R5G5B5 です
537:アルファテスト用 32bit カラーフォーマットは D_D3DFMT_A8R8G8B8 です
537:DXT1テクスチャフォーマットは D_D3DFMT_DXT1 です
537:DXT2テクスチャフォーマットは D_D3DFMT_DXT2 です
538:DXT3テクスチャフォーマットは D_D3DFMT_DXT3 です
538:DXT4テクスチャフォーマットは D_D3DFMT_DXT4 です
538:DXT5テクスチャフォーマットは D_D3DFMT_DXT5 です
539:描画用 16bit カラーフォーマットは D_D3DFMT_R5G5B5 です
539:描画用 32bit カラーフォーマットは D_D3DFMT_X8R8G8B8 です
539:描画用アルファ付き 32bit カラーフォーマットは D_D3DFMT_A8R8G8B8 です
539:最大テクスチャサイズ 幅:16384 高さ:16384
540:テクスチャステージテンポラリレジスタ:使用可
540:減算合成のハードウェア対応:ネイティブ
540:頂点シェーダーバージョンコード:300
541:ピクセルシェーダーバージョンコード:300
638:バックバッファロック転送の時間:29748nsec 一時的な描画可能バッファを使用した転送の時間:1447nsec
639:バックバッファロックを使用しません
639:Zバッファを作成します.... 成功
648:プログラマブルシェーダーを使用します
699:フォントの初期化を行います
700:フォントの初期化は正常に終了しました
701:文字コードバッファの初期化を行います... 完了しました
ちなみにWaitKeyをコードに記述してもすぐ閉じてしまいます。
Re: 実行ファイルをダブルクリックしたらすぐ閉じてしまいます。
コードと実行ファイルを貼り付けていただくのがいいかと思います。
因みにDebugビルドでは同様の現象は起こるのでしょうか?
因みにDebugビルドでは同様の現象は起こるのでしょうか?
Re: 実行ファイルをダブルクリックしたらすぐ閉じてしまいます。
コードはたくさんあるのでどれを公開すればいいですか?
なおりビルドしフォルダを見たところ
実行ファイルとpdbファイルしかありませんでした。
http://dixq.net/g/h_07.html
のフォルダみたいに他のファイルはありませんでしたが何か関係あるのでしょうか?
Debugフォルダから起動してもすぐ閉じてしまいました。Ctrl+F5で実行はできるのでコードは問題ないと思います。
なおりビルドしフォルダを見たところ
実行ファイルとpdbファイルしかありませんでした。
http://dixq.net/g/h_07.html
のフォルダみたいに他のファイルはありませんでしたが何か関係あるのでしょうか?
Debugフォルダから起動してもすぐ閉じてしまいました。Ctrl+F5で実行はできるのでコードは問題ないと思います。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: 実行ファイルをダブルクリックしたらすぐ閉じてしまいます。
Log.txtが終了処理がなく初期化しかないので、どこかでexit()しているとか、何か他の良くないことをしている気がします。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 実行ファイルをダブルクリックしたらすぐ閉じてしまいます。
ただ単純にフォルダに読み込むファイルを入れ忘れファイルが存在しなかったため、exit()で抜けていたのが原因のようでした。
皆様回答ありがとうございました。
皆様回答ありがとうございました。
Re: 実行ファイルをダブルクリックしたらすぐ閉じてしまいます。
エラーで終了する際にはわかりやすく通知をしたほうが良いかと思います。
あと、exit()は使わずに、しっかりと終了処理を踏んでから終了したほうが良いかと思います。
exitを使うにしてもDxLib_End()は呼んだほうがいいです。
あと、exit()は使わずに、しっかりと終了処理を踏んでから終了したほうが良いかと思います。
exitを使うにしてもDxLib_End()は呼んだほうがいいです。