PDA

View Full Version : Compilare C in Linux



Hardcore
7th March 2007, 15:53
Lo so che può sembrare na cosa paradossale per linux, ma io nn riesco a compilare un banale file .c con ubuntu.

il programma è il seguente

#include <stdio.h>

void main (){

printf ("Hello World");
}

nelle varie guide ho letto che si dovrebbe fare
gcc hello.c

ma l'errore che mi viene dato è che nn trova o nn intende la stdio.h, c'è un modo? una guida? un altro comando? un programma grafico?

parlo di linguaggio C non C++, ne C #

Dictator
7th March 2007, 16:02
Lo so che può sembrare na cosa paradossale per linux, ma io nn riesco a compilare un banale file .c con ubuntu.
il programma è il seguente
#include <stdio.h>
void main (){
printf ("Hello World");
}
nelle varie guide ho letto che si dovrebbe fare
gcc hello.c
ma l'errore che mi viene dato è che nn trova o nn intende la stdio.h, c'è un modo? una guida? un altro comando? un programma grafico?
parlo di linguaggio C non C++, ne C #

int main(void) { ... }

hai provato?

Luceen
7th March 2007, 16:03
magari mancano le librerie nel sistema...

Hardcore
7th March 2007, 16:05
magari mancano le librerie nel sistema...
si il problema dovrebbe essere quello , e come si risolve ?

Mez
7th March 2007, 16:21
ma ti manca:

printf("Hello World!\n");
return 0;


nel codice, o sono io che ricordo male il c?-.-

Ercos
7th March 2007, 16:30
magari mancano le librerie nel sistema...

*

Luceen
7th March 2007, 17:08
ma ti manca:

printf("Hello World!\n");
return 0;


nel codice, o sono io che ricordo male il c?-.-

essendo void non dovrebbe esser necessario il return... e \n al limite non ricordo bene potrebbe far bloccare l'esecuzione ma non la compilazione

San Vegeta
7th March 2007, 18:29
madò non mi fate leggere ste cose dai...

1 - devi installare le librerie di sistema se non le hai, o fargli trovare il path al compilatore

2 - una funzione che restituisce void, di fatto non restituisce nulla

3 - una funzione che non accetta parametri non deve per forza aver scritto voi tra parentesi

4 - la funzione main andrebbe dichiarata come int e restituire un intero, solo per rispettare alcuni dettami di standard, standard che di fatto non esistono...

Hardcore
7th March 2007, 19:10
thx son riuscit a capire, in pratica ubuntu monta libc6 , ma gli manca sia gcc che libc6-dev

installate queste funzia tutto.
grazie di nuovo :kiss:

Arcotemo
12th March 2007, 21:28
essendo void non dovrebbe esser necessario il return... e \n al limite non ricordo bene potrebbe far bloccare l'esecuzione ma non la compilazione


ommmmmggg /n manda a capo il cursore ç_ç

è il break che blocca l'esecuzione del ciclo

Luceen
12th March 2007, 21:32
ommmmmggg /n manda a capo il cursore ç_ç
è il break che blocca l'esecuzione del ciclo

-.-

io intendevo che se il printf fosse bloccante aspetterebbe il carattere di "a capo" prima di passare avanti... ma non ricordo bene se il printf lo fosse o meno e se potesse essere settato bloccante a prescindere...

NoeX
12th March 2007, 21:33
ommmmmggg /n manda a capo il cursore ç_ç
è il break che blocca l'esecuzione del ciclo

il break rompe il ciclo, fa uscire l'esecuzione allo scope soprastante

San Vegeta
16th March 2007, 10:32
m'era sfuggita questa... /n non esiste come codice di escape, il carriage return è \n ;)