#include <stdio.h>
#include <ucontext.h>
#include <unistd.h>
#include <sys/time.h>
int main(int argc, const char *argv[])
{
ucontext_t context;
int count = 0;
getcontext(&context);
int value = 0;
printf("Hello World! count = %d, value = %d\n", count++, value++);
sleep(1);
setcontext(&context);
return 0;
}
编译输出:
cc f1.c -o f1
xx@(none):asm> ./f1
Hello World! count = 0, value = 0
Hello World! count = 1, value = 0
Hello World! count = 2, value = 0
Hello World! count = 3, value = 0
Hello World! count = 4, value = 0
Hello World! count = 5, value = 0
Hello World! count = 6, value = 0
...