Visualizzazione dei risultati da 1 a 6 su 6

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    112

    [C] Suddivisione di programmi su più file in Linux

    Ciao, i programmi diventano sempre più lunghi e volevo dividerli in più file per chiarezza, ho seguito una guida in internet ma compilando il file con il main riscontro i seguenti errori:
    __________________________________________________ ____________________________________
    Avvio della compilazione...
    /usr/bin/gcc -fdiagnostics-color=always -g '/home/drinu/Desktop/studio per progetto c-canc/progetto.c' -o '/home/drinu/Desktop/studio per progetto c-canc/progetto'
    /usr/bin/ld: /tmp/ccVimCtt.o: in function `main':
    /home/drinu/Desktop/studio per progetto c-canc/progetto.c:14: undefined reference to `funzione'
    collect2: error: ld returned 1 exit status


    La compilazione è terminata con errore/i.


    * Il processo del terminale è stato terminato. Codice di uscita: -1.
    * Terminale verrà riutilizzato dalle attività, premere un tasto qualsiasi per chiuderlo.
    __________________________________________________ ____________________________________
    Sembra che non riesca a trovare la funzione che si trova nel file funzione.c.
    Cosi quando compilo il file funzione.c non riesce a trovare la funzione main.
    Sembra che i due file non si vedano...

    Vi posto il progettino di esempio:
    file progetto.c :
    codice:
    #include<stdio.h>
    #include"funzione.h"
    
    int main(){
        int primo_num;
        int secondo_num;
        int ris;
        printf("primo numero? ");
        scanf("%d", &primo_num);
        fflush(stdin);
        printf("\nsecondo numero? ");
        scanf("%d", &secondo_num);
        fflush(stdin);
        ris = funzione(primo_num, secondo_num);
        printf("%s%d", "Risultato: ", ris);
    }
    
    File funzione.c :

    codice:
    #include"funzione.h"
    
    int funzione(int p, int s){
    int r;
    
    if (p > 0 && s > 0)
        r = p + s;
    else
        r = p * s;
    return r;
    }
    
    E il file header funzione.h :

    codice:
    int funzione(int, int);
    I file si trovano tutti nella stessa cartella aperta poi in vsc.
    Come risolvo? Grazie!
    Ultima modifica di drinu; 16-05-2024 a 15:55

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 © 2025 vBulletin Solutions, Inc. All rights reserved.