08/05/31 21:32:30 O6vPsevd
流れで記述するための擬似コルーチン(?)マクロ
ちゃんと時間があるならスクリプトを組み込むなりすべきと思うが
そういうことができない場合もある
#define BEGIN int pg_cnt__ = 0
#define END ++work->pg_cnt
#define DO if (pg_cnt__++ == work->pg_cnt)
#define LABEL(x) pg_cnt = x
#define GOTO(x) do { work->pg_cnt = x-1; return; } while (0)
void task_handler(TASK_WORK* work)
{
BEGIN;
DO printf("1フレーム目\n");
DO {
printf("2フレーム目");
GOTO( 100 );
}
LABEL( 100 );
DO printf("3,5,7,9…フレーム目\n");
DO {
printf("4、6,8,10…フレーム目\n");
GOTO( 100 );
}
END;
}
他にこういうのもある>URLリンク(www.sics.se)
なんにしろコルーチン不要論は理解できないです