阅读:1188回复:2
帮忙看看这个宏是什么意思
#define __syscall_return(type, res) \\
do { \\ if ((unsigned long)(res) >= (unsigned long)(-125)) { \\ errno = -(res); \\ res = -1; \\ } \\ return (type) (res); \\ } while (0) do{}while(0)什么时候结束循环,看不懂 这个宏在系统调用结束返回是用到的,参照下面的代码 #define _syscall0(type,name) \\ type name(void) \\ { \\ long __res; \\ __asm__ volatile (\"int $0x80\" \\ : \"=a\" (__res) \\ : \"0\" (__NR_##name)); \\ __syscall_return(type,__res); \\ } |
|
沙发#
发布于:2004-04-15 18:00
do{***}while(0)
就等于 {***} |
|
|
板凳#
发布于:2004-04-16 20:31
倒,看来楼主连C都没怎么学过.
|
|