File di intestazione(header)

di il
6 risposte

File di intestazione(header)

Buongiorno,
ho iniziato da poco ha studiare il linguaggio C. Sto imparando ad programmare sul prompt di comando. ho ricopiato un esempio dato dal prof ma ho questo errore:
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/Scrt1.o: in function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status

Ecco il codice:

File reverse.c
#include <stdio.h>
#include <string.h>
#include "reverse.h"
void reverse (char *before,char *after)
{int i,j,len;
len=strlen(before);
for(j=len-1,i=0;j>=0;j--,i++)
	after[i]=before[j];
after[len]='\0';
}
File reverse.h
void reverse (char *,char *);
File main1.c
#include<stdio.h>
#include"reverse.h"
int main(void){
char str[100];
reverse("cat",str);/*inverte la stringa cat*/
printf("reverse(\"cat\")=%s\n",str);
reverse("noon",str);/* inverte la stringa noon*/
printf("reverse(\"noon\")=%s\n",str);
return 0;
}
Grazie in anticipo per il vostro aiuto

6 Risposte

  • Re: File di intestazione(header)

    Come compili?

    P.S. anche l'italiano andrebbe studiato meglio
  • Re: File di intestazione(header)

    Grazie della tua risposta . ( per l'italiano lo studio tutti giorni. Gli errori che faccio sono dovuti a momenti di inattenzione, l'Italiano non essendo la mia madrelingua può capitare,comunque grazie per il PS ).
    Ho capito il mio errore, non generavo il file oggetto di main1.c (purtroppo non era specificato negli appunti del prof). Quindi tutto risolto . grazie mille
  • Re: File di intestazione(header)

    Se non sei italiano allora va bene... scrivi anche meglio di alcuni nostri politici...
  • Re: File di intestazione(header)

    Sei gentile .. mi potresti dare una precisazione per quanto riguarda i file di intestazione? dove creare un file.h per ogni funzione che voglio riutilizzare o ne basta uno solo dove raggruppo tutte le funzioni?
  • Re: File di intestazione(header)

    bsieni ha scritto:


    Sei gentile .. mi potresti dare una precisazione per quanto riguarda i file di intestazione? dove creare un file.h per ogni funzione che voglio riutilizzare o ne basta uno solo dove raggruppo tutte le funzioni?
    E' sostanzialmente irrilevante, o almeno, lo è in piccoli progetti. Potresti anche trasformare il tuo programma (che è diviso su 3 file) in un unico file e il risultato sarebbe uguale.

    Immagina però di lavorare ad un grande progetto. Sarebbe opportuno suddividere le funzioni per esempo per tipologia. Quindi le dichiarazioni delle funzioni per es. geometriche potresti inserirle in un file header geometria.h.
    Così ogni qual volta dovrai utilizzare le funzioni geometriche includeresti l'header "geometria.h".

    Ciò rende modulari i tuoi sorgenti e il tutto risulta anche più "ordinato".

    ciao
  • Re: File di intestazione(header)

    Ti ringrazio.. Ciao
Devi accedere o registrarti per scrivere nel forum
6 risposte