Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    80

    [newbie] compilazione e portabilità

    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 ), 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...

  2. #2
    Utente di HTML.it L'avatar di ChReAn
    Registrato dal
    Aug 2002
    Messaggi
    486
    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.
    ChReAn
    -------------------

    Slackware 9.1 powered

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    80
    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?

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    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.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    80
    aaahhh!!!!!!!!!

    Grazie mille per avermi illuminato !!!

    Ciao!!!

  6. #6
    Utente di HTML.it L'avatar di ChReAn
    Registrato dal
    Aug 2002
    Messaggi
    486
    E nel caso da te ipotizzato si parlerebbe di portabilita' dei soli sorgenti.
    ChReAn
    -------------------

    Slackware 9.1 powered

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.