linux内核 fork() 宏展开问题
zp37 2016-10-31 01:05:03 在linux0.11内核中,fork是由
#define _syscall0(type,name) \
type name(void) \
{ \
long __res; \
__asm__ volatile ("int $0x80" \
: "=a" (__res) \
: "0" (__NR_##name)); \
if (__res >= 0) \
return (type) __res; \
errno = -__res; \
return -1; \
}
宏展开得到的,那我们在调用fork()的时候,为什么不需要写成_syscall0(int,fork)这种形式?