Visual C++ コンパイラ (vc12) を使用して、次のようなことができるようにしたいと思います。
// If we have compiled with O2
#ifdef _O2_FLAG_
bool debug_mode = false;
// If we are in dirty slow non optimized land
#else
bool debug_mode = true;
#endif
しかし、この目的のために事前定義されたマクロが見つかりません。
環境:
debug_mode フラグは次のように使用されます。
if (!debug_mode && search_timer->seconds_elapsed() > 20) {
return best_result_so_far;
}
問題は、私がこれをステップスルーするデバッグインスタンスでは、奇妙なことに、コードをステップスルーするのにCPUが通常それを通過するよりもはるかに長い時間がかかるため、これが常に失敗して爆撃されることです:-)
デバッグ時に一時停止する基になるクロックがあれば、それも私の問題を解決します。現在、std::chrono::high_res_clock::now() への 2 つの呼び出しの違いを使用しています。
編集:
やりたいことをやりたくない理由を説明するいくつかのコメントに応えて、おそらく質問を簡単に言い換える必要があります: __optimize__
cl に gcc に相当するものはありますか?