int存放到void指针
参考博客:http://blog.chinaunix.net/uid-20548989-id-1667467.html
中断处理函数,需要把一个值存在 void * 中传给回调函数,然后在回调函数内部把 int 值从 void * 中取出。
把一个 int 存到 void * 变量需要先把它转换成 long, 这样能避免:warning: cast to pointer from integer of different size;
方法如下:
int irq; void *arg; arg = (void *)(long)irq;
同样,从 void * 取出 int, 需要这样:
int fd = (int) (long)arg;