他のディスカッションで、リリース dll はデバッグ dll と比較してサイズが縮小されていることを読みました。しかし、なぜ私が作成した dll のサイズが逆なのですか? Release dll は Debug dll よりも大きいのです。それは問題を引き起こしますか?
4 に答える
問題が発生することはありません。おそらく、コンパイラがリリース ビルドでより多くの項目を「インライン化」し、より大きなコードを作成している可能性があります。それはすべてコード自体に依存します。
心配する必要はありません。
編集: 速度について本当に心配していて心配していない場合は、サイズの最適化をオンにすることができます。または、自動インライン化をオフにして、どのような違いが得られるかを確認してください。
編集: 詳細 dumpbin /headers
については、dll が大きくなる場所を確認するために使用できます。
リリース DLL はデバッグ DLL よりどれくらい大きいですか?
PDB シンボル ファイルを生成しているため、デバッグ DLL が小さく見える場合があります (そのため、デバッグ シンボルは実際には DLL ファイルに含まれていません)。または、うっかりデバッグ シンボルをリリース DLL にコンパイルしてしまった場合。
これは、ループのアンローリングなどのパフォーマンスの最適化が原因である可能性があります。大幅に異なる場合は、リリース リンカーの設定を調べて、何かを静的にコンパイルしていないことを確認してください。
アプリケーションが高パフォーマンスのタスクを実行する場合、パフォーマンスが影響を受ける可能性があります。デバッグに関する情報を含むコードを生成するオプションがマークされている場合、リリース バージョンはデバッグ バージョンよりも大きくなる可能性があります。ただし、これは使用しているコンパイラにも依存します。