Solution ID: 169450329 表題: WINDOWS: Rose RealTime での C++ Analyzer の使用例 製品: Rose-RT バージョン: 2002.05.20 OS: Windows DEFECT #: PATCH #: 参照事項: Solution 115138634 の日本語訳 作成年月日: 20-Mar-2003 改訂年月日: 質問: C++ コードをリバースエンジニアリングするための C++ Analyzer の 使い方が分かる簡単な例はありますか。 回答: はい、下記に C++ Analyzer の使用例を示します: 1. 添付の 115138634_AnalyzerExample.zip を任意のディレクトリに解凍 します。 2. ファイル (engine.h, engine.cpp, move.h, move.cpp) 内に存在する、 Rose RealTime にインポートされるクラスを確認します。 3. C++ Analyzer を起動します (Tools > C++ Analyzer を選択します)。 4. C++ Analyzer プロジェクトを作成します (C++ Analyzer より File > New を選択します)。 5. $DATA パスが定義がされていない場合、定義するようメッセージが表示 されますので、[OK] を選択し、定義します。 6. プロジェクトダイログボックスにて、[Files...] ボタンをクリックします。 7. [Project Files] ダイアログボックスにて、下半分で、C++ ファイルが 存在するディレクトリを検索し、上半分にてengine.h, engine.cpp, move.h, move.cpp を選択し、[Add Selected] をクリックします。 8. 上記4つのファイルを選択します。 9. [Action] > [Analyze] を選択します。 10. [Action] > [CodeCycle] を選択します。これによって、ファイルに タグが追加されます。 11. [Yes] をクリックしてファイルをアップデートします。 12. ファイルから Rose モデルを作成します。[Action] > [Export to Rose...] を選択し、C++ ファイルが存在するディレクトリを検索します。ファイル名 は temp.mdl と指定します。[Option Set] は FirstLook と設定されている ことを確認します。 13. [OK] を選択します。 14. Rose RealTime に $DATA パスを設定します。Rose RealTime にて、[File] メニュー > [Edit Path Map...] を選択し、$DATA シンボルを追加し、C++ ファイルが存在するディレクトリを検索します。パスマップを追加し、ダイ アログボックスを閉じます。 15. モデルファイルを開きます。Rose RealTime にて、[File] メニュー > [Open] を選択し、ファイルタイプを "Rose model" に指定します。ディレ クトリを検索し、temp.mdl を開きます。 14. "one or more files have been loaded from an older format" という メッセージボックスが表示されたら [File] メニュー -> [Save As…] を 選択、任意のファイル名を指定し、上書きせずに保存します。 15. 保存したファイルを開き、リバースエンジニアされた結果を確認します。 Boat、 Car、Engine および Vehicle クラスがモデルに存在します。 16. 上記クラスのコードをインポートします。 [Tools] メニュー > [Import Code...] を選択し、4つのファイルを右側のペインに移動し、[OK] を クリックします。 17. モデル内のクラスにソースコードが生成されます。 18. Rose RealTime のモデルを保存します。 注意: 結果はパッケージ内のリバースエンジニアされたクラスの RoseRT モデルです。 これらクラスを RoseRT フレームワーク(例: C++) に取り込むには、パッケージ をエクスポートし、*.rtptl をフレームワークにインポートします。 また、この例は、簡単なクラスをリバースエンジニアする際の C++ Analyzer の 使い方を示すためのものです。複雑なクラスをリバースエンジニアリングする場合、 上記以外のステップが必要となることがあります。詳細につきましてはオンライン ヘルプの C++ Analyzer の項をご参照下さい。 ご不明な点等ありましたら、ラショナルカスタマサービスへお問い合わせ下さい。