0

#if DEBUGディレクティブをクラスライブラリで使用します。コンパイルされたClassLibrary.dllは、別のApplication.exeで使用されます。#ifコンパイルされたクラスライブラリのDEBUGディレクティブ

このクラスライブラリのデバッグコードは、次の状況で実行されますか?

  1. ライブラリがデバッグモードでコンパイルされたアプリケーションがRELEASE
  2. にコンパイルされている
  3. ライブラリがRELEASEでコンパイルされ、アプリケーションは、コンパイラディレクティブがコンパイル時ではなく、実行時に解釈されDEBUG
+1

ライブラリをコンパイルするときに生成されるコードは、アプリケーションにリンクされるコードになります。私は多くの理由で考えていますが、おそらく、デバッグとリリースのビルドをリンクすることはありません。この回答にはいくつかの情報があります:http://stackoverflow.com/questions/11658915/mixing-debug-and-release-library-binary-bad-practice – Robinson

答えて

5

にコンパイルされています。したがって、使用するアプリケーションがRELEASEまたはDEBUGモードでコンパイルされている場合は問題ありません。従って

1)ライブラリがデバッグモードでコンパイルされ、アプリケーションがリリースでコンパイルさ=>はい

2)ライブラリがリリースでコンパイルされ、アプリケーションは、DEBUG =>でNO

コンパイルされていません
関連する問題