Доступ к системному вызову напрямую из пользовательской программы

В Ubuntu - ядро 2.6.32.2

Как вызвать уже существующий системный вызов из кода пользователя напрямую, без помощи какой-либо библиотеки? Я читал в книгах и в Интернете, чтобы решить эту проблему, затем написал следующий код, но все еще получаю ошибку. Пожалуйста помоги

Хотите узнать идентификатор процесса текущего процесса

#include 
#include // for __NR_getpid
_syscall0(int, getpid)

int main() {
 printf("Current Process ID : %d\n",getpid());
 return 0;
}

Ошибка при компиляции:

root@Omkant:~/os# gcc -Wall getpid.c -o getpid
getpid.c:5:16: error: expected declaration specifiers or ‘...’ before ‘getpid’
getpid.c:5:1: warning: data definition has no type or storage class
getpid.c:5:1: warning: type defaults to ‘int’ in declaration of ‘_syscall0’
getpid.c: In function ‘main’:
getpid.c:8:2: warning: implicit declaration of function ‘getpid’

Какие'Проблема в коде? пожалуйста помоги..."

Ответы на вопрос(2)

Ваш ответ на вопрос