可能性の重複:
C/C++ source file after preprocessingマクロでいっぱいの大きなC/C++コードを理解するには?
他の日は、私は、問題はこのことであるVC++ 8.下に大きなC/C++プロジェクト開発のバグを修正するタスクを割り当てられていましたコードは実際にネストされたマクロでいっぱいです。 を理解する最良の方法は何ですかこのコードは?どんな提案も感謝しています。
可能性の重複:
C/C++ source file after preprocessingマクロでいっぱいの大きなC/C++コードを理解するには?
他の日は、私は、問題はこのことであるVC++ 8.下に大きなC/C++プロジェクト開発のバグを修正するタスクを割り当てられていましたコードは実際にネストされたマクロでいっぱいです。 を理解する最良の方法は何ですかこのコードは?どんな提案も感謝しています。
コンパイラ・ライン・オプション/E
を使用すると、すべてのプリプロセッサ出力が標準出力に出力されます。このファイルには、インクルードされたすべてのインライン展開されたマクロがすべて含まれます。プロジェクトの構築方法に応じて、このフラグを追加する最良の方法を理解する必要があります。出力によって、マクロが何を拡大しているのかをよりよく知ることができますが、マクロを展開した出力をトレースするのは難しいことがあります。しかし、あなたはそれを理解することができるはずです。 Reference for the command line options for VS8.0 compiler。
としては、コメントで指摘し、これは、重複であり、ここで、より良い答えです:https://stackoverflow.com/a/277362/192896
私はあなたが最初のマクロが何をすべきかを理解し、その後、コードは後に何を理解しようとする必要があると思いますマクロが展開されます。うまくいけば、各マクロまたはマクロの小さなセットが、定義やコメントから把握できるという意味合いがあることを望みます。
プリプロセッサを使用してコードを実行することはできますが、一般的に分かりにくい分かりにくい質量が(コメントなしで)分かりやすくなります。
Visual Studioにはコメントや行番号を前処理されたコードに保存するオプションがあります –
@Duck:これらのオプションを使用しても、マクロは1つの行にまとめられ、いくつかのコメントは削除されます。 –
http://stackoverflow.com/questions/277258/c-c-source-file-after-preprocessing –
*プログラマ*に属していませんか? – bitmask
これはリンクされた質問の正確な欺瞞ではありません。 – Pubby