ToDo:
__attribute__((section (".interp"))) char x[] = "/bin/ash.static"; main() { puts("hello world!"); }
考えたけど LD script いじらないとダメなのでボツになった。 あと CTOR_LIST に勝手につけくわえるとかできんかと思ったけど これもできなかった。
(03:12)
http://gusmachine.blog49.fc2.com/
そう継続継続…
でもこんなところをサポートするよりも、 そもそもスタックフレームをアクセス可能にする、 っていう wo さんの思考の方向性に萌える。 http://d.hatena.ne.jp/w_o/20060620#p1
フレームといえば BeanShell にも強烈な衝撃を与えられた。 あれはスタックフレームじゃなくてスコープだけなんだけど、 あんな感覚でフレームがいじれたら、 ライブラリ側でシリアライズも継続も実装できるんじゃないかなぁ、と。 http://d.hatena.ne.jp/sa-y/20060725#1153816550
あれどこ行ったっけ。
void inherit(b) { this.caller.base = b; this.callstack.set(1, b.namespace); }
発見。 inherit 関数。 確か僕が書いたのは少しおかしかったのでこれはたぶん sayさんが書いた方だったと思う。
Base() { void hello() { print("Hello, " + getName() + "."); } String getName() { return "World"; } void override() { print("ihihi..."); } return this; } Derived() { inherit(Base()); String getName() { return "Derived"; } void override() { print("hehehe..."); } return this; } o = Derived(); o.hello(); o.override();
(16:16)
保存するとか挿し替えるとか考えるなら、 スタックなんか使うより、 ヒープとGCの方が良さげで。 stackless 萌えなんだろうかな。
と思ったら Stackless Python もうそれやってるんかー。 時々名前思い出しつつも見てなかったのが悔やまれる。
でも反抗期だから Lua いじろうかな。
(16:29)
というわけで生協書籍部で買ってきた。
目下の課題はおそらく self. だろうけど、 よく考えると class を一つも作らないという 解決法がある気がする。
(16:58)
http://d.hatena.ne.jp/w_o/20060829#p2
すごい。
x86 だと 1個目は strcpy(0, でいいぽい。 ということは2個目はコメント入っちゃうのはまぬがれないかなぁ。 キチンとコード追わないとこうなる理由がわからんな。
(22:12)
前 | 2006年 8月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。