Universal eXecutable Protocol

  • (by K, 2016.09.24)

これは何?

  • uxfでプログラムを書いていると、デバッグのためにprintfなどを使いたくなることがある。しかしuxfはダイナミックリンクを考慮していないので、基本的にそういうことはできない。
    • そもそもuxfでは入出力は一切しないで、メモリ上で簡単な処理を高速に実行することだけを想定している。
  • uxfにダイナミックリンクの機構を入れようかとも思ったけど、デバッグのためにそこまでやるのもどうかと思い、以下の代用方法を考えた。

書き方

void (*uxp)(void *uxph, const void **);

int (*upx_printf)(const char *fmt, ...);

void *cmds[] = {
   (void *) 0x0010, &upx_printf, "printf", NULL,
   (void *) 0x0000
};

void entry(char *bytes, int size, void *uxpp, void *uxph)
{
    uxp = uxpp;
    uxp(uxph, cmds);
    uxp_printf("hello!\n");
}

こめんと欄

  • 結局、uxfにexternリンクの仕様を入れることにしたので、このアイデアは没の方向で。 -- K 2016-09-24 (土) 15:25:13

コメントお名前NameLink

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-09-24 (土) 15:25:13 (2770d)