• 締切済み

関数やクラスの相関関係を表示させるにはどうしたらよいでしょうか。

関数やクラスの相関関係を表示させるにはどうしたらよいでしょうか。 プログラミング初心者です。いつもお世話になっております。 C++を用いて関数の静的な呼び出しツリーやクラスの継承関係などを表示するために、 Browser Toolkits for Microsoft Visual C ++のbsckit70.exeをダウンロードし試行錯誤しております。 http://www.microsoft.com/downloads/details.aspx?FamilyId=621AE185-1C2A-4D6B-8146-183D66FE709D&displaylang=en bscファイルにより関数呼び出しツリ-を作成するツールだそうです。 exeファイルを実行すると得られる[bscsdk>samples>bd-cxx>bd.cpp]を、visual studioで [ファイル>新規作成>既存のコードからプロジェクトを作成]から選択しプロジェクトを立ち上げました。 そして同梱されているbsc.hファイルをプロジェクトに追加し、ビルドしたところ以下のエラーが出てきました。 --略-- 1>cl : コマンド ライン warning D9035 : オプション 'Wp64' の使用は現在推奨されていません。今後のバージョンからは削除されます。 1>bd.cpp 1>c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(5545) : error C2146: 構文エラー : ';' が、識別子 'ContextRecord' の前に必要です。 1>c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(5545) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(5545) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(11263) : error C2065: 'PCONTEXT' : 定義されていない識別子です。 1>c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(11264) : error C2146: 構文エラー : ')' が、識別子 'ContextRecord' の前に必要です。 1>c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(11264) : warning C4229: 旧形式が使用されています : データの修飾子は無視されます。 -略- winnt.hの該当部分が以下になります。 5543 typedef struct _EXCEPTION_POINTERS { 5544 PEXCEPTION_RECORD ExceptionRecord; 5545 PCONTEXT ContextRecord; 5546 } EXCEPTION_POINTERS, *PEXCEPTION_POINTERS; 11258 #if (NTDDI_VERSION > NTDDI_WIN2K) 11259 NTSYSAPI 11260 VOID 11261 NTAPI 11262 RtlCaptureContext ( 11263 __out PCONTEXT ContextRecord 11264 ); 11265 #endif ちなみにwinnt.hはbd.cppでは呼び出されておらず、bsc.hからwindef.hがincludeされ、windef.hからwinnt.hがincludeされていました。 何をどうすればToolkitが動くようになるのか見当がついておりません。いくつかエラーが出ていますが関連性がよく分からず、まとめて質問する形になってしまいました。またBrowserToolkitsよりも良い方法がありましたらご教授いただければと思います。よろしくお願いします。 [開発環境] WindowsXP(SP3) VisualStudio2008 C++

みんなの回答

  • zuntac
  • ベストアンサー率36% (45/124)
回答No.1

直接の回答ではないのですが、ドキュメント作成ツールなら以下が よく使われており使い方も比較的簡単かと思います。 http://www.doxygen.jp/ Doxygen ソースコード・ドキュメンテーション・ツール

borialis14
質問者

お礼

ありがとうございます。 参考にさせて頂きます。 もしC++でコードの構造を動的に得られるlibやAPIなど御存知でしたらご教授頂けますでしょうか。 よろしくお願いします。

borialis14
質問者

補足

進展があったので報告します。 インクルードしているbsc.hの冒頭に #include "windows.h" と書き加え、いくつかの操作を行った後ビルドが通りました。 皆様ありがとうございました。 【参考サイト】 http://www.abluestar.com/blog/winnt-h5545-error-c2146-syntax-error-missing-before-identifier-contextrecord/

関連するQ&A