Sto tentando di compilare questo client in C per Unix, usando gcc![]()
Il codice non dovrebbe contenere errori, dato che è copiato da un libro, eppure il debugger mi scassa e non mi dà l'eseguibile...
ecco il codice:
Ed ecco cosa mi dice il debugger:codice:#include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <unistd.h> #include <arpa/inet.h> #define PORT 4000 //port pubblico del server void addr_initialize(); int main (int argc, char* argv[]) { struct sockaddr_in server_addr; struct sockaddr_in my_addr; int my_addr_len = sizeof(my_addr); int error; int sd; addr_initialize(&server_addr, PORT, (long)inet_addr(argv[1])); sd = socket (AF_INET, SOCK_STREAM, 0); error = connect(sd, &server_addr, sizeof(server_addr)); if(error==0){ printf("\nConnessione eseguita con successo\n"); getsockname(sd, &my_addr, &my_addr_len); printf("Il port e' il numero %d", ntohs(my_addr.sin_port)); } else{ printf("\nRilevato errore: %i\n\n", error); } close(sd); return 0; }
A parte i due warnings che ci possono stare... non capisco il perchè dei due ultimi errori, che non vengono rilevati normalmente dal gcc all'interno del file client.c, ma hanno un path prima, e poi "collect2" che non so che significhicodice:client.c: In function `main': client.c:29: warning: passing arg 2 of `connect' from incompatible pointer type client.c:33: warning: passing arg 2 of `getsockname' from incompatible pointer type /tmp/ccsiYuLq.o: In function `main': /home/Kamui/Documents/Client/client.c:27: undefined reference to `addr_initialize' collect2: ld returned 1 exit status![]()
Chi sa aiutarmi?![]()

Rispondi quotando