« 俺のmainはそこにある。 | Main | 捜し物は何ですか? »

2006.01.09

main()関数みーつけた。

確認のために、cygwinのライブラリでmainのエントリーが
あるか試してみる。相変わらず、gnuのツールは取っつきが悪い。
ライブラリアンに相当するコマンドがnmと分かれば、後は楽。

> nm libsystemc.a | grep main
0000054e T __ZN13sc_cor_pkg_qt8get_mainEv
00000018 b _main_cor
sc_main.o:
U ___main
00000000 T _main
U _sc_main_main
sc_main_main.o:
U _sc_main
00000014 T _sc_main_main
U _remainder
U _remainder
こんな感じで、sc_main.oの中に_mainのエントリーがありますね。
上の出力のTのマークがテキストエリアのsymbol、Uがundefinedな
symbolらしい。つまり、Tの部分が関数の入り口で、Uの部分が
関数の呼び出しかな。(ポインタの取得という考えもあるけど)

grepで特定の行だけ抜き出しているので、想像の範囲ですが
_mainから、_sc_main_mainを呼び出し、そこから、_sc_mainを
呼んでいる感じ。

|

« 俺のmainはそこにある。 | Main | 捜し物は何ですか? »

Comments

The comments to this entry are closed.

TrackBack


Listed below are links to weblogs that reference main()関数みーつけた。:

« 俺のmainはそこにある。 | Main | 捜し物は何ですか? »