Gauche > Archives > 2010/09/03

2010/09/03 01:28:38 UTC(び)
#
そうそう。「持ち運びに便利」という点ではstatifiedなバイナリと同じようなものだと思います。直接中身をいじれる点ではむしろ便利。
2010/09/03 01:36:14 UTCshiro
#
普通のunixでは(1)実行中のバイナリの場所を取るポータブルで確実な手段がない
#
(2)DSOのリンクはアプリケーションではなくシステムによって決められる、という点から、「どこにもってっても動かせる」のをちゃんと作るのは難しいなと思ってたんだけど、
#
(2)については、main.cから直接呼んでるgaucheのC APIって限られてるので、いっそmain.c中でlibgauche.soをdlopen()してしまうという手があるかも、と思いついた。
#
そうすると(1)をヒューリスティックな手段で何とか求められれば、そこからの相対でlibgauche.soを探せる。他のdsoは自分でdlopenするのでパスさえわかってれば何とかなる。
#
dlopenしたlibgauche.so中のシンボルを他のdsoから見えるようにするのはOS依存だったかなあ。
#
あーでも普通はシェルスクリプト一段かませてLD_LIBRARY_PATH設定してやるとかするんだろうなあ。そっちの方が手軽か。
2010/09/03 04:36:38 UTChigepon
#
実行中バイナリの場所ですが、http://github.com/higepon/mosh/blob/master/src/OSCompat.cpp#L826 こんな感じでとっています。一応メジャーどころでは何とか取得できるようです。
2010/09/03 06:00:46 UTCshiro
#
あーこれはいいですね。頂くかもしれません。
2010/09/03 10:57:25 UTCshiro
#
"Logic and reason, I have to keep explaining, are wonderful virtues, but they are irrelevant in describing human behavior." --Don Norman http://www.jnd.org/dn.mss/simplicity_is_highly.html
#
"It seems logical, but logic has little to do with the way people behave." --Stephen King
#
全然別のところから良く似たquoteが出てきたのがおもしろかったので。
2010/09/03 20:23:10 UTCとおる。
#
ssax:make-elem-parser にわたす MY-NEW-LEVEL-SEED の EXPECTED-CONTENT についての説明ってどこかにないでしょうか? ほかのパラメタの説明は info の中に見つけられたんですけど。
2010/09/03 20:29:07 UTCとおる。
#
ssax のパーサつかうのってパズルっぽくてちょっと面白いですね。この seed はどこから来たんだ?みたいな。
2010/09/03 20:44:48 UTCshiro
#
ssaxについては私もフルに機能を使ったことがないので、infoにないところはオリジナルのドキュメントか最悪ソースに当たってもらわないとだめかも。
2010/09/03 21:43:36 UTCとおる。
#
なるほど。じつは SSAX のリファレンスっぽいドキュメントが、Oleg さんのウェブサイトの中に見当たらなかったので、Gauche の info はどうやって作ったんだろうと疑問だったんですが、いまソースみたらドキュメントも含まれてました。
2010/09/03 21:45:21 UTCshiro
#
gaucheのssaxのinfoはだいたいソース中のコメントから起こしてます。
2010/09/03 21:48:05 UTCとおる。
#
DTD か XML Schema 関連かな? サンプルとかをみながらもうちょいいじってみます。