list_for_each_entry在keil下编译出错
我将linux下一个程序移植到Keil for arm下. 遇到一个郁闷的问题就是在linux下一个宏
/**
* list_for_each_entry - iterate over list of given type
* @pos: the type * to use as a loop cursor.
* @head: the head for your list.
* @member: the name of the list_struct within the struct.
*/
#define list_for_each_entry(pos, head, member)\
for (pos = list_entry((head)->next, typeof(*pos), member);\
prefetch(pos->member.next), &pos->member != (head); \
pos = list_entry(pos->member.next, typeof(*pos), member))
#define list_entry(ptr, type, member) \
container_of(ptr, type, member)
#define container_of(obj, type, memb) \
((type *)(((char *)obj) - offset_of(type, memb)))
#define offset_of(type, memb) \
((unsigned long)(&((type *)0)->memb))
我在keil下用这个宏怎么写都出错. 即使我将嵌套的宏化简化成单独一个宏编译还是说类型匹配出错.
有没有这个函数的详细资料.