« Hello | トップページ | 浮き彫り »

2010年3月19日 (金)

Erlangでライブラリのソースコードの位置を知る方法

Erlangオープンソースの良いところは、ソースコードを読もうと思えば読めるところ。
特に言語系は(おそらくネイティブで動かすために)C/C++で書かれているだろうし、少なくとも自分はRubyのソースコードを読んだことがない。
C/C++でも読もうと思えば読めるけど、C/C++をもう読みたくない/書きたくないからその言語を使っているわけで。

でも、Rubyで書かれたRuby用のライブラリは、ごく稀に読むことがある。うまく動かない場合の調査したり、場合によっては(応急の)パッチを当てたりすることもある。
また、その言語の学習中などには、ライブラリ等の(きっと)良いコードを読んでお作法の勉強ができる、という利点もある。

というアレで、Erlangについてくるライブラリモジュールのソースコードの位置を知るTIPSを紹介。

まず、Erlangシェルを起動。

$ erl
Erlang R13B03 (erts-5.7.4) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false]

Eshell V5.7.4 (abort with ^G)
1>
Erlangシェルでcode:which関数を呼び出す。
この例ではioモジュールを指定している。
1> code:which(io).
"/opt/local/lib/erlang/lib/stdlib-1.16.4/ebin/io.beam"
ebinというディレクトリにはコンパイル済みモジュールのオブジェクトコードが格納されていて、srcディレクトリには元のソースコードが格納されている。ebinをsrcで置き換えた
/opt/local/lib/erlang/lib/stdlib-1.16.4/src/io.erl
がioモジュールのソースコードということになる。

これで、ライブラリのソースコードも安心して読めるようになったネ!!(安心したので必要になるまで読まないけど。)

|

« Hello | トップページ | 浮き彫り »

Erlang」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/16742/47847505

この記事へのトラックバック一覧です: Erlangでライブラリのソースコードの位置を知る方法:

« Hello | トップページ | 浮き彫り »