Palm ML for Japanese

Palm ML for Japanese

注意:MLの運営自体は終了しました、現在は、過去ログの公開のみを行っています。

[HOME] [palm-ml一覧] [palm-tech-ml一覧] [pilot-ml一覧] [pilot-tech-ml一覧]

検索式: [検索方法]

表示件数: 表示形式: ソート:

検索対象: palm-ml palm-tech-ml pilot-ml pilot-tech-ml


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ヒープ上に作成したサ ブルーチンの呼び出し



久門です。

From: Tetsuya SUZUKI <tsuzuki@246.ne.jp>
Subject: [palm-tech-ml 89]  ヒープ上に作成したサブルーチンの呼び出し
Date: Wed, 04 Oct 2000 21:58:54 +0900

> こちらのMLに登録させていただいたばかりの鈴木です。
> 登録早々質問なのですが、パームパイロットでは動的に
> 確保したメモリ領域にサブルーチンを生成して、そこに制御を
> 移すことは可能でしょうか。C言語で書くと次のような感じです。
> 
> int main(){
>      void (*funcP)(); /*関数へのポインタ*/
>      char *p = (char*)malloc(1024);/*メモリを確保*/
> 
>      確保したメモリに関数を出力する手続き
> 
>      funcP = (void (*)())p;
>      (*funcP)(); /*出力した関数を呼び出す*/
> }

動くと思いますよ。
少なくとも、次のプログラムはgdbの下のstepiで動作は確認できました。
	{
	    Int *ptr = MemPtrNew(8);
	    *ptr = 0x4e75;
	    ((void (*)(void))ptr)();
	    //0x4e75は rts 命令です。
	}

ただ、呼び出されるコードでは、staticへのアクセスなどにかなりの注意が必
要 (と言うか、あきらめた方が良い) でしょうね。
ほぼ、DAと同じ制約かな。


[PR]WebSylpheed拡張版
[PR]アニメとかゲームとか
[PR]フィギュアの色々
[PR]テレフォンカードの色々
[PR]ペットのこと色々
[PR]ランドセルは天使のはね
[PR]天使のはねランドセルのセイバン

[HOME] [palm-ml一覧] [palm-tech-ml一覧] [pilot-ml一覧] [pilot-tech-ml一覧]