Newsgroup: it.comp.os.linux.iniziare
Titolo: Compilare sorgente in C

Ciao
Ho scritto un programma banalissimo giusto per vedere come fare a
compilare ed avviare i programmi fatti in C.
Il sorgente è il classico Hello world! quindi
#include <stdio.h>
main () {
	printf("Ciao bello\n");
}
Tutto molto bello ma una volta compilato con gcc -c ciao.c -o ciao mi
crea un eseguibile che non riesco ad avviare o meglio... che non mi
scrive nulla... quando avevo messo void mi si era impiastato tutto
dicendo che main non è un int... se tolgo void me lo compila
correttamente ma non mi scrive nulla a video... Sicuramente sono io a
sbagliare ma dove? Ho provato a cercare in qualche how to sul C in linux
ma non ho trovato nulla di utile...
-- 
e-mail: dialtone#/N0SPAM\#@
aruba.it
     |Non vorrei piacere a tutti
togliere #N0SPAM# per inviare           |Avrei meno stima di me stesso
Powered by Debian Woody                 |Se piacessi a certa gente
On Linux 2.4.17 - WM 0.80.0             |


mi sembra un post + da it.comp.os.linux.development, cmq...
intanto, c'e' un errore (non so se migliora le cose).
in linux ogni programma deve restituire un valore che specifica se il 
programma s'e' chiuso correttamente o no (convenzionalmente se e' andato 
tutto bene, restituisce 0).
Per questo motivo main deve restituire un int.
percio':
#include <stdio.h>
int main() {
        printf("Ciao bello\n");
        return 0;
}
un'altra cosa, prova ad usare std::printf invece di printf.
Giulio
-- 
PGP Key fingerprint = 1A94 043F 1946 7AA9 CB2E  D5ED F83D 2083 25B4 2E27

 Tutto molto bello ma una volta compilato con gcc -c ciao.c -o ciao mi
Eh eh l'errore e' nella flag -c usata per compilare: usa semplicemente 
"gcc -o ciao ciao.c"
infatti dalla man page di gcc:
       -c     Compile or assemble the source files,  but  do  not
              link.  The compiler output is an object file corre­
              sponding to each source file.
Spero di averci azzeccato :)
Ciao
-- 
* Born Into Ashes To lose All The Games *
    ***    With A Smilin' Face    ***
< Sengoku (at) fuckmicrosoft (dot) com >

 Per questo motivo main deve restituire un int.
Grande coincidenza! era un paio di giorni che non riuscivo a fare
il porting di un programmino C cretino con void main.
Mi hai veramente sollevato.
(spero che questo breve ringraziamento non urti qualche ortodosso delle 
regole)
ciao
Chris

Girovagando casualmente per Usenet Giulio Prina Ricotti scrive:
[Snip]
Ho provato a fare qualsiasi cosa che mi hai detto. Ma l'errore che mi da
è sempre questo:
bash: ./prova: cannot execute binary file
Il codice è questo:
#include <stdio.h>
int main()
{
	printf("ciao\n");
	    return 0;
}
Se provo ad usare std::printf(...); mi dice che c'è un errore prima dei
: e non può continuare la compilazione...


 Spero di averci azzeccato :)
Troppo un grande ^_^. 
Mi hai aiutato alla grande e ora funge... Stupido io che ho letto male
la man page... Mannaggia. Ora finalmente posso mettermi a fare un pò di
codice in C sotto linux e a imparare definitivamente C/C++ e poi visto
che sono contorto passerò a python...


il tuo programmino secondo lo standard C deve diventare:
#include <stdio.h>
int main()
{
   printf("Ciao bello\n");
 
   return 0;
}
compilalo con gcc -c ciao.c -o ciao e tutto dovrebbe andare a
meraviglia!
--
Lawrence "Rhymes" Oluyede
rhy...@myself.com

: e non può continuare la compilazione...
l'errore è dovuto che std::printf non esiste in C
std è un workspace del C++


meraviglia!
errata corrige: gcc senza il -c :)


che sono contorto passerò a python...
Sta attento che C e C++ sono sostanzialmente differenti anche se li
si accomuna per la sintassi (ma la sintassi non è che una minima parte
di un linguaggio) quindi se il tuo obiettivo è il C++ impara quello
non passare dal C (rischi di fossilizzarti su cose che potrebbero
nuocerti..)
Python? Beh datti una mossa allora :)


 --
gia' un errore grave da parte mia


 
tanto per essere sicuri, prova a postare la linea di comando con cui 
compili il tutto, e prova a scoprire se il tuo kernel ha il supporto per i 
file binari A.OUT o MISC


che sono contorto passerò a python...
E sti cazzi! Hai compilato il tuo primo programma e sei talmente
esaltato da pensare a quando sarai un guru di pyton...
Hai letto how to become an hacker ultimamente?
(Spargi faccine qui e la', mi raccomando...)
-- 
manuel 'fmf' ferrero

 (Spargi faccine qui e la', mi raccomando...)
A dispetto di quello che rispondera` un tal Lawrence Oluyede dopo questo
post scrivo:
Non e` il primo approccio che ho con la programmazione... Non e` proprio
come e` stato con linux (dopo un po` smisi di usarlo perche` non
riuscivo a fare cose che mi servivano, ovviamente non sapevo come si
facevano...) ma ci va molto vicino... In pratica non riuscivo a imparare
seriamente perche` non avevo tempo tra scuola e balle varie... Ora sto
cercando di ritagliarmene un po` solo per imparare a programmare visto
che mi servira` cmq e preferisco avere una certa infarinatura prima di
farlo all'universita`.


On Linux 2.4.17 - WM 0.80.0             |
Ora vedi che e' bella allineata?
-- 
manuel 'fmf' ferrero

 Ora vedi che e' bella allineata?
Incredibile... Dopo essere venuto al LUG mi si sono risolti magicamente
numerosi problemi sotto linux... Sono molto molto più contento ora ^_^


farlo all'universita`.
Come diceva Manuel Ferreo: ti sei letto how to became an hacker?
Non è cosi veloce imparare il C++ e nessuno IMHO è un guru del Python
tranne Van Rossum :)


tranne Van Rossum :)
become
(cavoli x' nn mi rileggo i post :=))) ??)


tranne Van Rossum :)
A parte che e' manuel 'fmf' ferreRo,
a parte che e' How To BecOme A Hacker,
dove leggi che dialtone ha scritto che imparare il c++ sai facile o che
vuole diventare un guru di python?
-- 
manuel 'fmf' ferrero

vuole diventare un guru di python?
tu l'hai detto ma ho letto + tardi che stavi scherzando...


 vuole diventare un guru di python?
Lascia perdere... E' un rompi balle di natura ^_^. Viviamo nella stessa
città e non perde occasione di farmi notare dove sbaglio. In ogni caso è
una buona compagnia ^_^. Bisogna solo imparare a sopportarlo :-P.
BTW siamo OT ora..
