SUU-Lab

プログラムに関するメモとかが多いです。

プリプロセッサシンボルの難解なメモリー破壊バグ

初めて書く記事がメモリー破壊バグについてとは…。

 

STL( Standard Template Library) では

プリプロセッサシンボル「_DEBUG」の定義ありの場合となしの場合で

確保するメモリーサイズが違うことにより、

モリー破壊が起こるという難解なバグが発生。

 

複数プロジェクトで構成されるアプリケーションで、

各々のプロジェクトでプリプロセッサシンボルを定義している場合は要注意です!

 

対策として、

大事なプリプロセッサシンボルは別のプロパティシートで定義しておき、

プロジェクトから参照するようにするのが望ましいのではないかと思います。