Ciao, questa è la stanza sotto il tetto sul retro.
Ora che abbiamo una comprensione di base di ciò che è il completamento, diamo un'occhiata a quali
blocchi della dipendenza è quando non facciamo una breve dipendenza da tutte le piattaforme.
Prendiamo in considerazione solo una macchina Windows e supponiamo di aver scritto un programma C chiamato
ciao per compilare questo programma, possiamo usare un compilatore chiamato GCC e questo sarebbe il trattino spazio GCC combinato o lo spazio
di Helo dello spazio.
Ciao Dotsie.
Lascia che l'eterodossia sia un file contenente il programma C trattino O è un'opzione che il compilatore senza duct per nominare
il file di output come Hello vitriol come ha ottenuto l'estensione di yak su Windows, quindi sto compilando Hello Doxey
per ottenere un file eseguibile chiamato Hello Doc X che include la macchina o il tuo passo di concorrenza sta
anche facendo qualcosa chiamato collegamento.
Generalmente ogni software comprende molti file di codice sorgente su ogni file di codice sorgente che viene compilato in
un file separato chiamato file oggetto che ha un punto di estensione o un oggetto punto.
Ad esempio, in questo caso potrebbe essere hello dot o su questi file oggetto sono quindi raggruppati o collegati
per formare un file eseguibile finale.
Questo collegamento in molti casi viene eseguito dal compilatore stesso.
Tuttavia può anche essere fatto manualmente dai programmatori stessi usando un altro programma chiamato linker.
In questo esempio il compilatore fa il collegamento e quindi genera un eseguibile chiamato ciao.
Sì.
Ma alla fine è stato eseguito semplicemente digitando un saluto alla riga di comando.
Allo stesso modo può anche compilare lo stesso programma Darci di colore su una macchina Linux usando lo stesso comando
di Windows.
E questo produrrebbe anche un eseguibile.
Ma in Linux l'eseguibile verrà nominato per noi.
Ciao.
OK.
Quindi l'estensione è qui fuori piuttosto che Eakes.
Che può quindi essere eseguito digitando la barra dei punti in avanti.
Ciao.
Quindi, quello che abbiamo qui è che entrambe le cabine di uscita vengono eseguite correttamente sulle macchine
su cui vengono generati gli eseguibili DOS, ma ciò non sarebbe possibile.
Questo non è un eseguibile generato su una macchina grandis, non può essere eseguito su Linux e questo è
un esempio di nero dalla dipendenza.
Quello è basso che facile può essere eseguito solo sul sistema operativo Windows per eseguirlo su Linux.
Dovremmo ricompilare.
Ciao segreto oscuro Graham su Linux.
Allo stesso modo il ciao eseguibile Jandek sono su Linux non può essere eseguito su una macchina Windows.
Dovresti ricompilare su Windows in modo che l'eseguibile generato sia specifico per il sistema operativo.
Quindi la dipendenza dalla piattaforma fa sì che il sistema operativo Lubet per un motivo principale sia dovuto al formato del generatore di
file mutabile in uscita.
OK è per il formato di file vidos utilizza un formato chiamato B che sta per esecuzione eseguibile portatile Linux usa
un formato chiamato E F che sta per formato eseguibile e linkabile.
Se sei interessato a questi formati, puoi leggere ulteriori informazioni su di essi su Google.
Basta cercare un eseguibile portatile o Eola e puoi leggere di più su di loro.
E il motivo della dipendenza dal sistema operativo è quando il programma fa i costi di sistema che le chiamate
di sistema sono utili per eseguire operazioni come la creazione di directory di apertura di file o anche la consumazione di stampa
sono che le chiamate di sistema sono Alltek ai sistemi operativi.
La dipendenza della piattaforma CONAN può anche essere dovuta all'hardware, ad esempio.
Il codice macchina generato per un programma su un processore x 86 sarebbe diverso dal codice macchina
generato per lo stesso programma su un'elaborazione ARM.
Quindi la macchina su cui viene eseguito un eseguibile dovrebbe essere simile alla macchina su cui è
stato generato.
In caso contrario, deve essere ricompilato utilizzando un sistema operativo di sottorete del compilatore appropriato e l'hardware.
Gioca una parte e il nero dalla dipendenza accanto al vedere come un interprete può aiutare a risolvere il problema della
dipendenza dal nero.
Ma prima di farlo basta fare una rapida dimostrazione della dipendenza di All Blacks OK.
Questa è la mia macchina Windows qui abbiamo un programma chiamato noi.
Ciao Dotsie.
Tutto sommato e tutto ciò che fa è mettere in questo messaggio chiamato Hello world sullo schermo
sulla console.
Questo è tutto ciò che esiste.
Quindi andiamo a nascondere non compilato.
Questo particolare programma C questo è il mio prompt dei comandi.
Quindi lasciatemi dire semplicemente GCC sul compilatore GCC.
Salve da tutti sul file di output sarebbe ciao quindi non sarebbe male holloed lo spazio il file di input come fa
il programma.
Ciao Doxey.
OK in modo che la parola Haab generato urlato.
Sì.
OK, ora lasciami correre e basta.
E come puoi vedere stampa il testo Hello world.
Ora fammi copiare questo sottoprogramma su una macchina Linux e poi la gente lo ricompilerà lì.
Quindi ho anche una scatola Linux.
Quindi lasciami dire che questo è il mio Windows.
E questo è il mio matto.
Quindi ecco il programma di Odyssey scavato.
Quindi fammi copiare qui.
Si chiama Beat.
Lasciatemi aprire il mio terminale Linux non compilato ed eseguirlo.
Quindi ho il comando qui.
Penso che il telefono non sia grande come nell'altra finestra, quindi è il trattino dello spazio DCC. Oh ciao sfacciato o
allo stesso Capan.
Quindi permettimi di compilarlo perché è stato compilato in modo da eseguirlo tutto ciò che farò è la barra dei punti Hello
under-cut ha creato Hello Doc qui OK, quindi stampa il testo.
Ciao.
OK.
Quindi è buono.
Ora fammi copiare il file C che è stato generato su Windows sulla macchina Linux.
Vediamo se possiamo eseguirlo.
Quindi fammi copiare qui.
Questo è 100 e.
E pagina qui.
Quindi, qui per eseguirlo, lasciami dire pseudo questi dot dot slash ciao.
Si e.
Nix è combinato non solo per cui non è possibile eseguire.
Got exigeant generato su Windows su di esso.
La prossima missione.
Quindi una cosa che può essere fatta qui è che dobbiamo decompilare questo è quello che abbiamo fatto
prima o possiamo usare un software chiamato whining.
OK.
Virtual ci consente di eseguire programmi Windows su Linux.
Quindi lasciami dire che siamo qui sulla prossima macchina.
Ora come puoi vedere ci sta aiutando a farlo.
OK, quindi è solo per tua informazione che possiamo usare questo software chiamato vino.
OK.
Ciò significa chiaramente che C non è indipendente dalla piattaforma o dal pianeta.
Ora permettimi di copiare l'eseguibile generato su Linux su Windows e diciamo che è la stessa cosa.
Quindi qui come eseguibile su Linux.
Quindi fammi copiare qui.
Quindi lasciami aprire e lasciami solo digitare il tuo documento.
E questo è tutto.
Quindi non siamo in grado di eseguire l'eseguibile generato solo su Windows.
Quindi questa è la dipendenza dalla piattaforma.
In seguito vedremo come l'interprete aiuta a risolvere questo problema.
E Djala, come abbiamo detto prima, è nero da indipendente.
Così dopo eravamo in un programma Java e testeremo anche l'indipendenza della piattaforma.
Questo è tutto.
Grazie.
Ci vediamo nella prossima lezione.