Zugriff auf einen Systemaufruf direkt aus dem Anwenderprogramm
Auf Ubuntu - Kernel 2.6.32.2
Wie kann ein bereits vorhandener Systemaufruf direkt aus dem Benutzercode ohne Hilfe einer Bibliothek aufgerufen werden? Ich habe in Büchern und im Internet gelesen, um dieses Problem zu lösen. Bitte helfen Sie
Möchten Sie die Prozess-ID des aktuellen Prozesses herausfinden
#include <stdio.h>
#include<linux/unistd.h> // for __NR_getpid
_syscall0(int, getpid)
int main() {
printf("Current Process ID : %d\n",getpid());
return 0;
}
Fehler beim Kompilieren:
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’
Was ist das Problem im Code? Bitte helfen Sie ...