仕組みと背景

仕組み

と、前振ってみたものの、全然内容とか考えてないのだった。
FUSE使ってます。FUSEは大変夢が広がる感じなので、皆さんもっとFUSE使いましょう。
とりあえず、ネタだけ思いついた↓


と、それだけではアレなので、ELFからダイナミックなシンボル拾ってくる方法だけ説明。elfdyn.hppとかがそれ系。

  1. ファイルの先頭にある Ehdr 取得。
  2. Ehdr から、shstrtab セクションの位置取得。shstrtabは、セクション名の文字列入ってるセクション。
  3. ".dynstr" という名前のセクションを拾ってくる。ここに、ダイナミックなシンボルの名前の文字列が入ってる
  4. ".text" という名前のセクションのセクション番号を記録しとく。(関数かどうかを区別するのに使う)
  5. SHT_DYNSYMなセクションを読む

全然説明になってねー。

背景 : 僕の考える、これからのプログラミング言語に必要なもの

最近プログラミング言語に必要なものがわかってきて、それを気持ち実装しましたよ。というような背景。

  1. インタラクティブにも実行できるし、コンパイルもできる(Haskellの何が素晴らしいかって、ghcとghciがあること。アレがghchugsだと、両方環境整えるの面倒だし)
  2. Cの関数が全く苦労無く呼べる(C++は何が素晴らしいかって(以下略)Dとかは知らない。Adaとかは頑張れば)
  3. ちゃんとしたモジュールシステム(Haskellのモジュールシステムって地味に最強じゃないですか?)
  4. コンパイル超速い(ocamlとかdmdとか)
  5. 開発環境のインストールに苦労しない

とか、そんな感じ。
で、C言語には何が足らないかって、色々足りないんだけど、とりあえず、1番をやってみましたよ。と。
まー、使った感想としては、やっぱ、インテリ補完が欲しいな…ってところか。うーん、微妙な。問題は飽きてきたという点。


また、そのうち。