Re: メモリリークが発生する ( No.1 ) |
- 名前:TS 日時:2019/07/01 10:51
追記です。
プロジェクトのプロパティのC++言語標準を「ISO C++17 標準 (std:c++17)」にしています。
|
Re: メモリリークが発生する ( No.2 ) |
- 名前:gdrop 日時:2019/07/01 21:27
最新Temp版で試しましたが、x86とx64でDebug/Releaseを試しましたがこちらではいずれも問題ないですね。
Windows 10 Pro, x64, VSC 2019
|
Re: メモリリークが発生する ( No.3 ) |
- 名前:管理人 日時:2019/07/02 00:42
|
Re: メモリリークが発生する ( No.4 ) |
- 名前:TS 日時:2019/07/02 11:15
返答ありがとうございます。
頂いたバージョンでリビルドしてみましたが、結果は同じでした。
VS2017にもどして、C++17のオプションを切って試しても同じ結果になりました。
プロジェクトとログを送らせていただきますので、何か解決の参考になればと・・・
http:
//bit.ly/2FNBqOB
VS2017のオプション構成を最小限にしているのも関係しているかもしれないので、
こちらでも調査してみます。
|
Re: メモリリークが発生する ( No.5 ) |
- 名前:gdrop 日時:2019/07/03 05:38
とりあえずメモリリークが発生しないようにするには
SetNotSoundFlag(TRUE);
をDxLib_Init()の前に書くと大丈夫だと思います。
ログが付いているのでわかりましたが、VS2017と2019の違い、とかではありません。
DirectSoundの初期化の途中で失敗しています。
具体的には
DxSoundWin.cppのint InitializeSoundSystem_PF_Timing0( void )の中で
hr = SoundSysData.PF.DirectSoundObject->Initialize( NULL ) ;
でFAILEDになってしまうので
SoundSysData.PF.DirectSoundObject->Release() ;
SoundSysData.PF.DirectSoundObject = NULL ;
return -1 ;
で抜けているのですが、ライブラリでなにか解放漏れがあるのではと思われます。
ここでif (FAILED(hr))のところをif (!FAILED(hr)) にすれば我々のPCでも同じようにリークが発生します。
あとは管理人さんにお任せということで...
SetNotSoundFlag(TRUE); を実行することで、音は使えませんがリークは無くなります。
ちなみに、エラーが発生しているということは、音機能が一切ついていないPCなのでしょうか?
|
Re: メモリリークが発生する ( No.6 ) |
- 名前:TS 日時:2019/07/03 13:07
>>gdrop さん
ありがとうございます。
SetNotSoundFlag(TRUE);を追加したら出なくなりました。
今使ってるPCは、勝手に音が鳴ると困るのでBIOS側でサウンド機能を切っていました。
原因は分かったので、後は管理人さんにお任せですね。
|
Re: メモリリークが発生する ( No.7 ) |
- 名前:管理人 日時:2019/07/04 00:26
|
Re: メモリリークが発生する ( No.8 ) |
- 名前:TS 日時:2019/07/05 10:07
> 管理人さん
対応ありがとうございます。
ライブラリを上書きしたらメモリリークは出なくなりました。
|