私はglibcで作業しており、現在のスレッドのIDを取得する必要があります。この場合、私は使用する syscall(SYS_gettid);
問題は、私はの代わりにbits/syscall.h
、すなわち理想的な場合の代わりに含めることを余儀なくされています。gettid witin glibcを呼び出す
sys/syscall.h
は内部でbits/syscall.h
を呼び出しますが、これは#ifndef _LIBC
マクロで囲まれています。すなわち
#ifndef _LIBC
/* The Linux kernel header file defines macros `__NR_<name>', but some
programs expect the traditional form `SYS_<name>'. So in building libc
we scan the kernel's list and produce <bits/syscall.h> with macros for
all the `SYS_' names. */
# include <bits/syscall.h>
#endif
もbits/syscall.h
状態 "は、直接ビット/ syscall.hを使用しないでください。代わりに、SYS/syscall.hを含む。" と
私はmalloc.c
に直接コードを書いているので、_LIBC
が定義されているので、これを克服する方法を教えてください。
おかげで、 カピル
なぜ、「__NR_gettid」を使用しないのですか? –