|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Aug 2005
Città: Wien
Messaggi: 435
|
[C] Problema compilazione
Ciao a tutti,
stavo leggendo questo articolo sulla funzione ptrace e volevo compilare il primo esempio: Codice:
#include <sys/ptrace.h> #include <sys/types.h> #include <sys/wait.h> #include <unistd.h> #include <linux/user.h> /* For constants ORIG_EAX etc */ int main() { pid_t child; long orig_eax; child = fork(); if(child == 0) { ptrace(PTRACE_TRACEME, 0, NULL, NULL); execl("/bin/ls", "ls", NULL); } else { wait(NULL); orig_eax = ptrace(PTRACE_PEEKUSER, child, 4 * ORIG_EAX, NULL); printf("The child made a " "system call %ld\n", orig_eax); ptrace(PTRACE_CONT, child, NULL, NULL); } return 0; } giorgio@ubuntu:~/os/Project$ gcc -o ptrace ptrace.c ptrace.c: In function ‘main’: ptrace.c:19: error: ‘ORIG_EAX’ undeclared (first use in this function) ptrace.c:19: error: (Each undeclared identifier is reported only once ptrace.c:19: error: for each function it appears in.) ptrace.c:21: warning: incompatible implicit declaration of built-in function ‘printf’ Qualcuno sa perché? Devo specificare qualche link al compilatore?
__________________
"Sono 126 miglia per Chicago. Abbiamo il serbatoio pieno, mezzo pacchetto di sigarette, è buio, e portiamo tutt'e due gli occhiali da sole" |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Jan 2006
Messaggi: 2722
|
Quote:
oppure #include <sys/reg.h> (meglio la seconda, visto che includi sys/ptrace.h) ...e includi pure stdio.h (per il warning su printf)...
__________________
- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale. - A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson Ultima modifica di -fidel- : 13-05-2007 alle 18:31. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:38.