問題タブ [static-if]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 特定のコードが発行されているかどうかを確認する
特定のコードが出力されていないことを確認するにはどうすればよいですか?
static switchたとえば、 (or )のようなものを書き込もうとして、 2 番目のラムダの本体が放出されているstatic ifかどうかを検出したいとします。operator ()
結果のバイナリ/.o/.a に特定のコード ブロックの存在を検出できるようにするトリックは何ですか?
以前は次のことができました ( GCCの場合):
- に追加
-Wa,-adhlns="$@.lst"しCXXFLAGSます。 - テストするコード ブロックにステートメントを追加
asm volatile ("nop");します。 - ビルドしてから、ディレクトリ内のファイルへの
awk "/\#APP/, /\#NO_APP/" build/*.lstインライン アセンブリを表示するコマンド (ハッシュ記号の代わりにスラッシュがある場合があります) を実行します。*.lstbuild - 何か
awkを出力すると、特定のコードブロックが発行されます。
しかし、私はコンパイラパラメータを使用clangしているため、使用できません。-Wa方法は何clangですか?コンパイラ オプションを使用してアセンブリ ファイル ( .S) を出力できることはわかって-Sいますが、大きなプロジェクトでは、ビルド中に依存関係の連鎖がある場合、そのような方法で行うことは困難です。ファイルに加えてアセンブリを出力するには?.o