Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C] Strano errore in compilazione

    Compilando un programmino C che allego in calce ho questo strano output. Non riesco a capire perchè non viene generato il file eseguibile visto che sono segnalati solo dei warning e non capisco tutta la parte dopo i warning. Ho provato la compilazione con gcc 4.1.2 e gcc 3.3.5 su due computer differenti ma con lo stesso esito. Mi poreste aiutare? Grazie
    Output gcc:
    backuplog.c: In function `main':
    backuplog.c:19: warning: passing arg 2 of `_IO_putc' from incompatible pointer type
    backuplog.c:31: warning: passing arg 1 of `_IO_getc' from incompatible pointer type
    /tmp/ccudikiy.o(.text+0xea): In function `main':
    : undefined reference to `itoa'
    collect2: ld returned 1 exit status
    Programma:
    Codice PHP:
    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/wait.h>
    #include <sys/types.h>
    #include <unistd.h>
    #include <string.h>
    #include <fcntl.h>
    #include <sys/stat.h>
    main(){
        
    char nome1[26],num[5];
        
    char cifra;
        
    int cont_seq;
        
    FILE *pb;//Descrittore di file per il file contente il valore sequenziale del salvataggio
               
    char nome[] = "logservers";
        
    char seq[] = "seq";
        
    pid_t pcopy;//pid per il processo di copiatura
        
    pb=fopen(seq,"r");
        while (
    cifra=fgetc(pb) != EOF){
                        
    putc(cifra,num);
                        }
        
    fclose(pb);
        
    strcpy(nome1,nome);
        
    strcat(nome1,num);
            
    cont_seq=atoi(num);
        
    cont_seq ++;
        if(
    cont_seq 30){
                  
    cont_seq=1;
                 }
            
    itoa(cont_seq,num,10);
        
    pb=fopen(seq,"w");
                  while((
    cifra=getc(&num)) != EOF ){
                                    
    fputc(cifra,pb);
                                  }
                       
    fclose(pb);
        
    pcopy=fork();
        if(
    pcopy 0){
                  
    printf("Fork per conversione file fallita\n");
                  exit(-
    2);
                 }
        if(
    pcopy == 0){//sono nel processo figlio per la conversione del file
                  
    execlp("scp","scp-r",nome,nome1,NULL);
                 }
        if(
    pcopy>0){//sono nel processo padre
                   
    wait(NULL);//sono nel processo padre e aspetto che termini la conversione
                   
    execlp("gzip","gzip-r",nome1,NULL);
                }
        return 
    0;


  2. #2

    Re: [C] Strano errore in compilazione

    Originariamente inviato da 8bitmagictime
    Compilando un programmino C che allego in calce ho questo strano output. Non riesco a capire perchè non viene generato il file eseguibile visto che sono segnalati solo dei warning e non capisco tutta la parte dopo i warning. Ho provato la compilazione con gcc 4.1.2 e gcc 3.3.5 su due computer differenti ma con lo stesso esito. Mi poreste aiutare? Grazie
    Output gcc:
    backuplog.c: In function `main':
    backuplog.c:19: warning: passing arg 2 of `_IO_putc' from incompatible pointer type
    dalla documentazione di putc:
    codice:
    int putc(int c, FILE *stream);
    tu anziché passargli un FILE * gli passi un char [5];

    Originariamente inviato da 8bitmagictime

    backuplog.c:31: warning: passing arg 1 of `_IO_getc' from incompatible pointer type
    dalla documentazione di getc:
    codice:
    int getc(FILE *stream);
    tu anziché passargli un FILE * gli passi l'indirizzo di un char [5];
    Originariamente inviato da 8bitmagictime

    /tmp/ccudikiy.o(.text+0xea): In function `main':
    : undefined reference to `itoa'
    collect2: ld returned 1 exit status
    la funzione itoa non è definita.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Non mi sembrano proprio "strani" questi errori ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.