Newsgroup: it.comp.os.linux.iniziare
Titolo: Re: alcuni comandi (gcc, ar)

 cosa mi dovrebbe fare?
Qui non ti so rispondere, perché non ho idea di cosa faccia -L .
- -l serve a linkare delle librerie (e ho i miei dubbi che possa esistere
una libreria "test", comunque...).
Saluti,
David
- --
Linux Registered User #334216
Get FireFox! >> 
http://www.spreadfirefox.com/?q=affiliates&id=48183&t=1
Staff >> 
http://www.debianizzati.org
 <<
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.9.20 (GNU/Linux)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iD8DBQFFC9cu5sXXcRsFI+cRAithAJ93iX15t5OJpnXfxv/T+g1ipn0QFwCfQ2aR
YHbCPMVXb0B8VhzzGED+he8=
=FwFM
-----END PGP SIGNATURE-----

 una libreria "test", comunque...).
Mi rispondo da solo: -L specifica una directory da aggiungere a quelle
"standard" dove cercare le librerie da usare con -l. Già ha più senso
cercare una libreria "test" nella directory corrente, più che in
/usr/include/.
Saluti,
David
- --
Linux Registered User #334216
Get FireFox! >> 
http://www.spreadfirefox.com/?q=affiliates&id=48183&t=1
Staff >> 
http://www.debianizzati.org
 <<
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.9.20 (GNU/Linux)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iD8DBQFFC9hy5sXXcRsFI+cRApXXAJ46RGpZSRQ5UMtc0PNbHj0tnJZtIwCfRBUG
BTK8k++hAnvCqKRiGhFJGpU=
=Cc2C
-----END PGP SIGNATURE-----

 
[..]
-L dovrebbe aggiungere delle directory dove cercare le librerie.. quindi il
risultato sara' che verra' cercata (nelle directory gia' segnalate e nella
directory corrente) ed eventualmente inclusa la libreria test..
-- 
www.iuz-lab.info

 directory corrente) ed eventualmente inclusa la libreria test..
Mi ero già risposto ;)
David
- --
Linux Registered User #334216
Get FireFox! >> 
http://www.spreadfirefox.com/?q=affiliates&id=48183&t=1
Staff >> 
http://www.debianizzati.org
 <<
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.9.20 (GNU/Linux)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iD8DBQFFDPVx5sXXcRsFI+cRAt72AJ4xLQsT80TF3TR7M7FhQkXBeAgWJACZAen8
UwpnIL5u1WLuccNFBq4Ysiw=
=rJBb
-----END PGP SIGNATURE-----

 una funzione main che non ritorna int non sarebbe legale..
Quindi la funzione main deve SEMPRE essere int main() ?!?!
Nel caso del semplice programmino hello.c posso quindi fare:
#include <stdio.h>
int main(void){
  printf("\nHello world!\n");
  return 0;
}
ove nella funzione principale, passo un void (ma volendo potrei non mettere
nulla), poi metto un return 0 in modo che mi restituisca un valore numerico
cioe' in accordo con int detto prima
Ho visto anche questa forma, che mi pare un po' bizantina, ma non capisco
molto bene, immagino vi sia un puntatore o che ?!?
#include <stdio.h>
int main(int argc, char** args){
  printf("\nHello Linux!\n");
  return 0;
}
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 }
Bizantina?
E' il costrutto standard per accettare parametri da linea di comando.
In questo caso specifico, dei parametri passati non te ne fai nulla,
ma e' sempre bene prendere buone abitudini. :-)
-- 
           |Save our planet!
    Ciao   |Save wildlife!
   roberto |For your E-MAIL use ONLY recycled Bytes  !!
           |roberto poggi   
rpo...@softhome.net

 ma e' sempre bene prendere buone abitudini. :-)
ok, ma non la capisco molto bene comunque
int main(int argc, char** args)
vuol dire che 1) sono nel main, 2) restituisce un int 3) gli passo cosa? Un
int di nome argc ed un puntatore char di nome args ...


 int di nome argc ed un puntatore char di nome args ...
argc è il numero dei parametri di ingresso
argv è il vettore dei parametri stessi

 e cosi' via ?
No, facendo un programma che ritorna:
0 se va tutto bene.
1 se ha trovato un errore nei parametri con cui lo lanci.
2 se non ha trovato un file necessario.
3 se trova errori di disco.
4 se trova errori di ....
Capito il concetto?
Cosi' puoi verificare, da uno script, se il programma ha
funzionato, e se non ha funzionato, anche il perche', in
alcuni casi almeno.
Per quello che riguarda la forma in cui vengono passati i
parametri, debbo rimandarti a qualche manuale, a un libro
sulla programmazione.
Ad esempio, potresti leggere qui:
http://a2.pluto.it/a2503.htm
al capitolo
424.3.4    Parametri della funzione main()


invece, riguardo al compilatore
1)
dare il comando
gcc hello.c
oppure
gcc hello.c -o hello
e' solo questione di gusti? In questo caso, vi e' anche un file oggetto o
no?
1)
gcc -c hello.c -o hello
opzione -c vuol dire che compila, ma non fa link.
Cioč? Ottengo un file hello che tuttavia non e' un eseguibile o cos'a altro?
Se pero' in un secondo momento do gcc hello, ottengo poi un file a.out che
e' eseguibile e funziona. Quindi, a cosa serve opzione -c ?
Immagino comando gcc -c hello.c -o hello sia "sbagliato", ma come sarebbe
giusto usare opzione -c?
2)
se dovessi dire cosa c'e' di sbagliato nel seguente comando
gcc -l -m file.o
file.o e' un file oggetto?


 e' eseguibile e funziona. Quindi, a cosa serve opzione -c ?
A creare, appunto, oggetti che poi, magari ad altri duecento, verranno 
linkati tutti insieme per formare un eseguibile, o una liěbreria.
                       /->eseguibile
sorgente--->oggetto-<
                       \->libreria


 file.o e' un file oggetto?
Ad occhio, direi che la forma giusta sarebbe
gcc -lm file.c
