移植のノウハウ2

arinoさんから長いコメントをいただいたので全文引用。
確かにご指摘の点が意識されてなかったように思いますね。どちらの方で進もうか。
移植の得意なUnixな方々のご意見を引き続き求む。

移植得意という訳でも無いですが。

8から9のあたりであまりにも多数の「関係なさそうな」コードを持ってくる事になっているなら、そこは立ち止まって考える所ですな。

まずは8から9あたりまで進めて見てコンパイルエラーを出す。

そこまで行って考える内容は、自前の空スタブを少数用意してそれで差し替えるとコンパイルエラーが取れるようなレイヤーはどこか、という所。

スタブが上のレイヤーの方が用意する数は少ないけど、上過ぎると移植じゃなくて全部書いているのと変わらなくなる。

私の場合、変な依存を持ち込んでいるincludeをはずして見てコンパイルエラーを見たり、名前から推測して適当に正規表現で検索してヒットしたファイル名とかを見て考えてます。

いかにコードを読む量を減らすかが移植の実力だと思っているので(<勉強目的ではいまいちかも)

また、8から9とは反対側として、最初に存在しないタイプをかたっぱしから空定義して進む、という向きもあります。
これだと構造体のメンバのうち、さわってるのだけを適当に埋めていく感じになりますが、重要度の高さは埋めている段階で分かってくる場合が多い。
重要そうなのだけ本家側を真面目に読む。

どちらから進むにしろ、自分の腕力と相談してうまく立ち止まる場所を見つけるのが移植の経験って奴じゃないかなぁ。