仕組みと背景
仕組み
と、前振ってみたものの、全然内容とか考えてないのだった。
FUSE使ってます。FUSEは大変夢が広がる感じなので、皆さんもっとFUSE使いましょう。
とりあえず、ネタだけ思いついた↓
と、それだけではアレなので、ELFからダイナミックなシンボル拾ってくる方法だけ説明。elfdyn.hppとかがそれ系。
- ファイルの先頭にある Ehdr 取得。
- Ehdr から、shstrtab セクションの位置取得。shstrtabは、セクション名の文字列入ってるセクション。
- ".dynstr" という名前のセクションを拾ってくる。ここに、ダイナミックなシンボルの名前の文字列が入ってる
- ".text" という名前のセクションのセクション番号を記録しとく。(関数かどうかを区別するのに使う)
- SHT_DYNSYMなセクションを読む
全然説明になってねー。
背景 : 僕の考える、これからのプログラミング言語に必要なもの
最近プログラミング言語に必要なものがわかってきて、それを気持ち実装しましたよ。というような背景。
- インタラクティブにも実行できるし、コンパイルもできる(Haskellの何が素晴らしいかって、ghcとghciがあること。アレがghcとhugsだと、両方環境整えるの面倒だし)
- Cの関数が全く苦労無く呼べる(C++は何が素晴らしいかって(以下略)Dとかは知らない。Adaとかは頑張れば)
- ちゃんとしたモジュールシステム(Haskellのモジュールシステムって地味に最強じゃないですか?)
- コンパイル超速い(ocamlとかdmdとか)
- 開発環境のインストールに苦労しない
とか、そんな感じ。
で、C言語には何が足らないかって、色々足りないんだけど、とりあえず、1番をやってみましたよ。と。
まー、使った感想としては、やっぱ、インテリ補完が欲しいな…ってところか。うーん、微妙な。問題は飽きてきたという点。
また、そのうち。