![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.4ベストアンサー
- 回答日時:
まず、仕様書がを読み、機能と対応すると思われるソースコードを読みます。
よくできたシステム(のソース)ならば大体対応が取れるので、これで大雑把にわかります。ここで重要なのは、このソースコードはどういう機能を実現しているかをざっくり理解することです。
仕様書がなければ、人に聞くか、取説でもいいからドキュメントを探します。もちろん仕様書がアップデートされていないことは良くあるから、あまり悩むのは無駄です。
次に、データ構造を捉えます。
C言語の場合ですが、データ構造を構成するメンバ変数を元に検索すれば、ソースコード間の因果関係が明らかになります。
ポイントはどのメンバ変数は、いつどこでどう書かれるのか、読まれるのかを明らかにすることです。
ここまでできれば、読みやすそうなソースコードを手始めに解析を始めます。
読みやすいとは、ソースコードのステップ数が少なく、他のソースコードと依存がなく、機能がはっきりわかるものを選びます。
解析のポイントは、ソースコードを書き換えて見ることです。自分の読みやすい形に書き換えて、メモを入れてみたりすればよいです。リファクタリングかな?
以上いかがでしょうか?
No.3
- 回答日時:
私は、上下から読んでいきます。
mainからも読みますが、関数が何をやっているのかを読んでおきます。
で、関数名を参照しながら、「ここは....をして、その次の関数で...をして」と、全体を見ながらのボトムアップ的な読み方をしています。
完全に下から読むのではなく、上から一度読んだだけで理解しようともせず、下から読んだ知識を元に上から読んでいくというイメージでしょうか。
関数呼び出しのTree構造を調べるツールは必須です。
No.2
- 回答日時:
ソースコードをhtml化するツールがあります。
ディスクスペースがかなり必要となりますが、知らない関数に出会ったときにすぐに辿れるのでとても便利です。
参考URL:http://uguisu.skr.jp/Windows/gtags.html
No.1
- 回答日時:
まず関数レベルでツリー構造を確認すれば簡単ではないでしょうか。
例えばこんなツールです。
http://www.vector.co.jp/soft/dos/prog/se174432.h …
参考URL:http://www.vector.co.jp/soft/dos/prog/se174432.h …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- オープンソース IT用語、ソースとオブジェクト、改変と翻訳と翻案の違いなど どのようにりかいすればよいのですか 1 2022/09/09 10:02
- JavaScript 読み込んだQRコードをフォームに受け渡したい 1 2023/05/18 11:18
- IT・エンジニアリング 700行近いソースコードを読むのに、プログラマーやエンジニアの方はどのくらいの時間かかるものですか? 2 2022/12/11 23:51
- C言語・C++・C# C言語のファイル入力が分かりません 2 2022/05/22 06:35
- Visual Basic(VBA) Excel VBA 複数ブックシートごとにデータを統合する方法について 4 2022/05/20 14:23
- 実用・教育 遅読と速読はどちらが良いと思われますか? 遅読にも速読にもメリットがあるように思います。 私は遅読す 5 2022/04/18 07:18
- その他(IT・Webサービス) HTML 、「コード」や「ソースコード」について 4 2022/07/09 00:53
- その他(教育・科学・学問) 長文読解のやり方を教えて欲しいです。 私は今まで長文を全て日本語に訳してから問題を解くようにしてたん 1 2022/11/05 18:37
- HTML・CSS htmlのデータをwebページみたいに見る方法 5 2023/06/23 17:47
- 工学 シミュレーションのソースコードについて 4 2022/07/13 23:20
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
QGISでの円(圏域)描画方法に...
-
フロントページ
-
過去の順位を調べる方法
-
メールヘッダー解析
-
パケットキャプチャツール(Wir...
-
フリーHP作成
-
メールのオープンソースを探し...
-
webでの社内情報共有システムに...
-
ExcelをPDFにコンバート
-
不倫でバレた後、再構築と仮面...
-
夫婦共に浮気、発覚後に再構築...
-
RAID5+HS vs RAID6
-
ホームページ上でのデータベー...
-
付加価値を加える?
-
Word、Excelのファイル名に自動...
-
レジストリー
-
Movable Typeで特定のページの...
-
再構築を選んだ皆様は本当に幸...
-
VB6の変数宣言で、末尾に"*"と...
-
EXCEL VBAのModuleの使い方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
QGISでの円(圏域)描画方法に...
-
VBAをDLL化する方法を教えてく...
-
パケットキャプチャツール(Wir...
-
Accessの代わりのノンプログラ...
-
Windows serverでマルチキャス...
-
ツールチップ
-
ExcelをPDFにコンバート
-
ツールが消えた
-
pdfの読み込み
-
イベントログファイル(.evt)の...
-
Perlソース(拡張子.cgi)のス...
-
VB5.0からVB.NETへの移行
-
写真を半分覆う半透明な四角の...
-
難読化ソフト
-
asp(vbs)のソースを整えたい
-
diffツールでコメントを比較対...
-
インストーラーの作成
-
C言語のソース解析ツールありま...
-
VBの種類
-
「開発支援ツール」を英語で言...
おすすめ情報