PDA

Visualizza la versione completa : [newbie] compilazione e portabilità


Mannaia
07-10-2003, 17:44
Ciao a tutti, vorrei chiedervi una cosa:
E' possibile compilare lo stesso sorgente scritto in c(o c++) in sistemi operativi diversi o con cpu diverse(pc, mac..)?
Se la risposta è si (ed io non lo so :D ), allora dove sta tutto il vantaggio della portabilità di Java?
Cioè, se io scrivo un programma e lo compilo per diversi OS, avrò sempre un programma he potenzialmente può funzionare su ogni sistema...
Potreste indicarmi dove sbaglio?

Grazie mille a tutti, e scusate la domanda stupida...

ChReAn
07-10-2003, 18:49
Java e' portabile perche' non solo puo' essere compilato su qualsiasi architettura per cui ne esista un compilatore (che sarebbe il meno), ma perche' puoi prendere un binario java ed eseguirlo su linux, solaris, windows, paccOS e quello che ti pare.

Per compilare un software C++ su architetture diverse invece ti dovresti attenere al solo C/C++ ANSI senza sfruttare caratteristiche intrinseche del sistema operativo, e qui casca l'asino. Come fare a gestire il multithread, ad esempio, senza le API di windows o senza le mitiche fork? Io non lo so, ma i fatti mi cosano. :fagiano:

Mannaia
07-10-2003, 18:55
agge capait'!!!!
Grazie mille, infatti i conti non mi tornavano..:) :)
Ma ho un altro quesito: perche se io scrivo il programmino "Hello World", che immagino sottostare agli standard ansi, e lo compilo in un sistema operativo, nn posso utilizzare il binario ottenuto anche in un altro sistema?

LeleFT
07-10-2003, 21:51
Perchè in un sistema operativo X, per poter vedere a video la scritta "Hello, world!" usi delle chiamate di sistema fornite da X che, ovviamente, sono differenti dalle chiamate di sistema offerte da un sistema operativo Y. Quindi, mentre il sorgente può anche non variare (ANSI C, C++), sicuramente ciò che varia è il codice compilato, perchè sfrutta routine diverse (anche se sulla stessa macchina!).



Ciao.

Mannaia
07-10-2003, 22:31
aaahhh!!!!!!!!!

Grazie mille per avermi illuminato :D :D :D !!!

Ciao!!! :ciauz: :ciauz: :ciauz:

ChReAn
08-10-2003, 00:29
E nel caso da te ipotizzato si parlerebbe di portabilita' dei soli sorgenti.

Loading