VC PlusPlus:マクロ定義を展開した後のプログラムを確認する方法 新しいページはコチラ

提供: yonewiki
移動: 案内, 検索
(マクロ定義展開方法)
(マクロ定義展開方法)
87行: 87行:
  
  
2.表示されたダイアログで[行番号の前処理の抑制]の欄で値を[はい /PE]にします。
+
2.表示されたダイアログで[行番号の前処理の抑制]の欄で値を[はい /EP]にします。
  
  
105行: 105行:
  
 
 初心者がコードリーディングする時にはオススメだね。コードリーディングってのは誰かが作ったプログラムを読み解く感じの事です。自分が作ったプログラムを後で見返すときにコードリーディングする人もいると思いますけど。
 
 初心者がコードリーディングする時にはオススメだね。コードリーディングってのは誰かが作ったプログラムを読み解く感じの事です。自分が作ったプログラムを後で見返すときにコードリーディングする人もいると思いますけど。
 +
 +
 上記のような結果を出力エディタ(stdout コンパイル・リンク処理の標準出力)にだけ表示するのではなく、ファイルに出力する場合は少しだけ違う設定を使います。
 +
 +
 +
1.VisualStudioのソリューションエクスプローラからマクロ定義を展開したいcppファイルを選択して、右クリックして表示されるコンテクストメニューからプロパティを開きます。プロジェクトのプロパティと似たような感じで対象ファイルのプロパティを設定できます。
 +
 +
 +
2.表示されたダイアログで[ファイルの前処理]の欄で値を[はい /P]にします。
 +
 +
 +
3.VisualStudioのソリューションエクスプローラからマクロ定義を展開したいcppファイルを選択して、右クリックして表示されるコンテクストメニューからコンパイルを選択して、実行します。
 +
 +
 +
 これで出力object(*.obj)ファイルが出力されるフォルダと同じ階層に*.iという名前で前処理の結果が出力されます。object(*.obj)ファイルは生成されません。先ほども記述しましたが、展開された部分を探すのに疲れる場合もあるかもしれませんが、マクロ展開された部分は必ずあります。根気よく検索で探しましょう。探しきれない場合は一度、かなりユニークな文字列の引数をマクロに設定して試すとよいかもしれません。先ほどの出力エディタに表示するのとは異なる内容で、展開中にファイルを行き来するので、ファイルの途中でのファイル離脱時は、その行番号を、行先の行番号とファイル名が表示されます。より、わかりやすいですが、単純に行ったり来たりすることもあるので、冗長に感じる場合もあります。
 +
 +
 +
 いずれにしても、マクロを展開すると、ユーザ定義の部分がかなり減るので、繰り返し記述される無駄な記述(冗長)があるものの理解不能な宣言文が少なくなるので、見やすくはなります。それでも人の作ったクラスや変数があるので、理解することは簡単なことではないです。
 +
 +
 +
 知ってると知らないとでは差がでるところの知識かなと思います。この便利な手法については誰も教えてくれないので、右も左もわからないで、この文章に巡り合えた人は'''ついている'''と思っていいでしょう。
 +
 +
  
 
[[VC PlusPlus]]に戻る
 
[[VC PlusPlus]]に戻る

2021年2月14日 (日) 00:00時点における版



個人用ツール
名前空間

変種
操作
案内
ツールボックス