タグがわからなかったので、適当に付けちゃいました。すいません。
glibcやLinux kernelなどの大きなソース群を読むコツを教えてもらえないでしょうか??
昨日は、GRUBのソースコードを読んでいたのですが、「モジュールを動的にロードしそこからLinux kernelに入る」ということを知るのに6時間もかかりました。
もっと3分位で把握できるようになりたいのです。
大規模なソースを読んでいる時に発生する問題があります。
関数です。
・似たような名前の関数が存在する(どっちを読めば良いのか分からない)
・呼び出されている関数が多すぎる(目的の記述を探すのにどの関数に入っていけばよいのか分からない)
・関数の定義場所、呼び出し場所がヒットしない(特に、「どのように呼び出されているのか分からない」)
・次々に関数にパラメータを渡していくと結局、渡した変数の値がどのように変わっていくかが把握できない
結局この関数のしていることがわからない!!・・・・みたいな?
特に、2番めですね。
どの関数を読めば、目的地にたどり着けるか・・・がわかりません。
大して重要ではない関数に入っていってしまって、「あれ??なにここ??」となります。
glibcは意外と簡単です。
printfやscanfは最終的にシステムコールを呼び出すので、システムコールをラップするための関数群だとわかると非常に読みやすいです。
一方Linux Kernelはやばいです。
全然進まない・・・><
大規模なソースを読むときのコツかなにかあれば教えてください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/19 15:39
2017/12/19 16:00
2017/12/19 16:24