トップ «前の日記(2006-08-28) 最新 次の日記(2006-08-30)» 編集

はじめてのにき

ここの位置付け

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|

ToDo:


2006-08-29

_ こいうのとか

__attribute__((section (".interp"))) char x[] = "/bin/ash.static";
main() {
    puts("hello world!");
}

考えたけど LD script いじらないとダメなのでボツになった。 あと CTOR_LIST に勝手につけくわえるとかできんかと思ったけど これもできなかった。

(03:12)

_ DEC

3分で締め切ってるし!あぶねえ。 お前らは初期の人狼参加者か。

(12:04)

_ 段取り最悪

学割はいつもの紙じゃなくて通学証明書がいるとか言われて また学校来た。

うぜええ

(13:41)

_ ふと発見みたいな

http://gusmachine.blog49.fc2.com/

そう継続継続…

  • いわゆる継続サポートと状態シリアライズは違う。
    • 前者は Scheme でも Rhino でも。後者は Smalltalk でも Io でも。
    • あるいは JS の toScript() は?
    • 継続ベースのWebほげほげとかはほげほげ。
  • undump は結構マジ。 http://d.hatena.ne.jp/shinichiro_h/20060715#1152922272

でもこんなところをサポートするよりも、 そもそもスタックフレームをアクセス可能にする、 っていう 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)

_ あー

stackless python すげーわ。

(16:48)

_ みんなのPython

というわけで生協書籍部で買ってきた。

目下の課題はおそらく self. だろうけど、 よく考えると class を一つも作らないという 解決法がある気がする。

(16:58)

_ みくしに世話になるとは

shelarcy さんとこで見たなんでもセミナーとかを メモるのを忘れてたけどメモった。

(17:12)

_ うーん

http://d.hatena.ne.jp/w_o/20060829#p2

すごい。

x86 だと 1個目は strcpy(0, でいいぽい。 ということは2個目はコメント入っちゃうのはまぬがれないかなぁ。 キチンとコード追わないとこうなる理由がわからんな。

(22:12)

_ x86-64 だと

前者動く。後者は ero では Hello World 。2引数ないと ello にならないぽ

(22:15)

お名前:
E-mail:
コメント:
人生、宇宙、すべての答え
本日のリンク元

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
1.shinh(2014-05-24 01:15) 2.shinh(2014-05-24 01:15) 3.Gus(2014-05-24 01:15)
search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h