Chinaunix首页 | 论坛 | 博客
  • 博客访问: 153782
  • 博文数量: 32
  • 博客积分: 2053
  • 博客等级: 大尉
  • 技术积分: 382
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-09 12:45
文章分类

全部博文(32)

文章存档

2011年(12)

2010年(20)

分类: LINUX

2010-11-16 14:44:53

这里使用了宏展开

#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; \
}



static inline _syscall0(int,fork)



static inline int fork()
{
    long __res;
    __asm__ volatile("int $0x80" : "=a"(__res) : "0"(__NR__fork));
    if(__res >= 0)
        return (int) __res;
    errno = -__res;
    return -1;
}


阅读(1274) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~