#define 에 관한 질문입니다.

binoopang의 이미지

#if defined (_syscall4)
#define __NR__vmsplice __NR_vmsplice
_syscall4(
long, _vmsplice,
int, fd,
struct iovec *, iov,
unsigned long, nr_segs,
unsigned int, flags)

#else
#define _vmsplice(fd,io,nr,fl) syscall(__NR_vmsplice, (fd), (io), (nr), (fl))
#endif

소스 분석하다보니 위와같은 define문이 나왔습니다. _syscall4 매크로는 알겠는데 ..
전체적으로 이런 매크로를 사용하는 이유를 잘 모르겠습니다 ..

kewlbear의 이미지

저도 우연히 오늘 처음 본 것입니다만

man 2 intro

해보세요.