プログラミング言語 'ファイルシステム'
http://morihyphen.hp.infoseek.co.jp/files/sofs.tar.gz
* SOFS (shared object filesystem)
SOFSは、.soファイルをマウントするファイルシステムです。
$ ./sofs test
$ echo /usr/lib/libimlib-bmp.so >> test/controls/add_libfile
$ ls test/libimlib-bmp.so/
loader_bmp
こんな感じで、.soの中でエクスポートされてる関数が見れます。
$ echo 'int add_int(int a,int b){ return a+b; }' > demo/demo.c
$ gcc -shared -o demo/libdemo.so demo/demo.c
$ echo $PWD/demo/libdemo.so >> test/controls/add_libfile
$ ls test/libdemo.so
$ echo $PWD/demo/libdemo.so >> test/controls/add_libfile
$ ls test/libdemo.so/
add_int
$ echo '3,4' >> test/libdemo.so/add_int
$ od -tu4 test/variables/retval
0000000 7
0000004
$ echo 'retval,retval' >> test/libdemo.so/add_int
$ od -tu4 test/variables/retval
0000000 14
0000004
なんかを書きこむと、関数が呼ばれます。
関数の戻り値は test/variables/retval に入ってます。色々書きたいんだけど、なんか、もう5時なので寝るよ。
明日は…無理だ…明後日ぐらいに書く。