* 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]] SIZE(10){2016-09-24 (土) 15:25:13}
#comment