1
00:00:02,310 --> 00:00:05,580
Ciao, questa è la stanza sotto il tetto sul retro.

2
00:00:05,880 --> 00:00:12,540
Ora che abbiamo una comprensione di base di ciò che è il completamento, diamo un'occhiata a quali

3
00:00:12,550 --> 00:00:18,050
blocchi della dipendenza è quando non facciamo una breve dipendenza da tutte le piattaforme.

4
00:00:18,170 --> 00:00:24,740
Prendiamo in considerazione solo una macchina Windows e supponiamo di aver scritto un programma C chiamato

5
00:00:25,670 --> 00:00:34,470
ciao per compilare questo programma, possiamo usare un compilatore chiamato GCC e questo sarebbe il trattino spazio GCC combinato o lo spazio

6
00:00:34,590 --> 00:00:36,580
di Helo dello spazio.

7
00:00:36,600 --> 00:00:37,830
Ciao Dotsie.

8
00:00:37,870 --> 00:00:46,530
Lascia che l'eterodossia sia un file contenente il programma C trattino O è un'opzione che il compilatore senza duct per nominare

9
00:00:46,530 --> 00:00:54,780
il file di output come Hello vitriol come ha ottenuto l'estensione di yak su Windows, quindi sto compilando Hello Doxey

10
00:00:54,910 --> 00:01:02,830
per ottenere un file eseguibile chiamato Hello Doc X che include la macchina o il tuo passo di concorrenza sta

11
00:01:02,830 --> 00:01:05,330
anche facendo qualcosa chiamato collegamento.

12
00:01:05,680 --> 00:01:13,510
Generalmente ogni software comprende molti file di codice sorgente su ogni file di codice sorgente che viene compilato in

13
00:01:13,650 --> 00:01:20,480
un file separato chiamato file oggetto che ha un punto di estensione o un oggetto punto.

14
00:01:20,680 --> 00:01:28,170
Ad esempio, in questo caso potrebbe essere hello dot o su questi file oggetto sono quindi raggruppati o collegati

15
00:01:28,170 --> 00:01:30,870
per formare un file eseguibile finale.

16
00:01:31,650 --> 00:01:35,400
Questo collegamento in molti casi viene eseguito dal compilatore stesso.

17
00:01:35,620 --> 00:01:42,550
Tuttavia può anche essere fatto manualmente dai programmatori stessi usando un altro programma chiamato linker.

18
00:01:43,020 --> 00:01:48,660
In questo esempio il compilatore fa il collegamento e quindi genera un eseguibile chiamato ciao.

19
00:01:48,730 --> 00:01:49,650
Sì.

20
00:01:50,210 --> 00:01:56,960
Ma alla fine è stato eseguito semplicemente digitando un saluto alla riga di comando.

21
00:01:57,030 --> 00:02:03,540
Allo stesso modo può anche compilare lo stesso programma Darci di colore su una macchina Linux usando lo stesso comando

22
00:02:03,560 --> 00:02:04,550
di Windows.

23
00:02:04,580 --> 00:02:07,040
E questo produrrebbe anche un eseguibile.

24
00:02:07,280 --> 00:02:09,940
Ma in Linux l'eseguibile verrà nominato per noi.

25
00:02:09,980 --> 00:02:10,620
Ciao.

26
00:02:10,660 --> 00:02:11,260
OK.

27
00:02:11,600 --> 00:02:14,970
Quindi l'estensione è qui fuori piuttosto che Eakes.

28
00:02:16,130 --> 00:02:19,960
Che può quindi essere eseguito digitando la barra dei punti in avanti.

29
00:02:19,970 --> 00:02:21,170
Ciao.

30
00:02:21,170 --> 00:02:28,280
Quindi, quello che abbiamo qui è che entrambe le cabine di uscita vengono eseguite correttamente sulle macchine

31
00:02:28,280 --> 00:02:33,650
su cui vengono generati gli eseguibili DOS, ma ciò non sarebbe possibile.

32
00:02:33,650 --> 00:02:41,180
Questo non è un eseguibile generato su una macchina grandis, non può essere eseguito su Linux e questo è

33
00:02:41,180 --> 00:02:43,780
un esempio di nero dalla dipendenza.

34
00:02:43,790 --> 00:02:50,040
Quello è basso che facile può essere eseguito solo sul sistema operativo Windows per eseguirlo su Linux.

35
00:02:50,060 --> 00:02:51,720
Dovremmo ricompilare.

36
00:02:51,740 --> 00:02:55,710
Ciao segreto oscuro Graham su Linux.

37
00:02:55,780 --> 00:03:01,830
Allo stesso modo il ciao eseguibile Jandek sono su Linux non può essere eseguito su una macchina Windows.

38
00:03:01,830 --> 00:03:08,610
Dovresti ricompilare su Windows in modo che l'eseguibile generato sia specifico per il sistema operativo.

39
00:03:09,980 --> 00:03:18,200
Quindi la dipendenza dalla piattaforma fa sì che il sistema operativo Lubet per un motivo principale sia dovuto al formato del generatore di

40
00:03:18,200 --> 00:03:20,020
file mutabile in uscita.

41
00:03:20,240 --> 00:03:29,030
OK è per il formato di file vidos utilizza un formato chiamato B che sta per esecuzione eseguibile portatile Linux usa

42
00:03:29,030 --> 00:03:34,640
un formato chiamato E F che sta per formato eseguibile e linkabile.

43
00:03:35,060 --> 00:03:40,100
Se sei interessato a questi formati, puoi leggere ulteriori informazioni su di essi su Google.

44
00:03:40,100 --> 00:03:45,380
Basta cercare un eseguibile portatile o Eola e puoi leggere di più su di loro.

45
00:03:46,830 --> 00:03:53,110
E il motivo della dipendenza dal sistema operativo è quando il programma fa i costi di sistema che le chiamate

46
00:03:53,110 --> 00:04:00,190
di sistema sono utili per eseguire operazioni come la creazione di directory di apertura di file o anche la consumazione di stampa

47
00:04:00,280 --> 00:04:04,170
sono che le chiamate di sistema sono Alltek ai sistemi operativi.

48
00:04:04,180 --> 00:04:10,340
La dipendenza della piattaforma CONAN può anche essere dovuta all'hardware, ad esempio.

49
00:04:10,410 --> 00:04:16,610
Il codice macchina generato per un programma su un processore x 86 sarebbe diverso dal codice macchina

50
00:04:16,620 --> 00:04:19,820
generato per lo stesso programma su un'elaborazione ARM.

51
00:04:20,400 --> 00:04:25,890
Quindi la macchina su cui viene eseguito un eseguibile dovrebbe essere simile alla macchina su cui è

52
00:04:25,890 --> 00:04:26,830
stato generato.

53
00:04:26,940 --> 00:04:34,990
In caso contrario, deve essere ricompilato utilizzando un sistema operativo di sottorete del compilatore appropriato e l'hardware.

54
00:04:35,060 --> 00:04:41,570
Gioca una parte e il nero dalla dipendenza accanto al vedere come un interprete può aiutare a risolvere il problema della

55
00:04:41,770 --> 00:04:42,970
dipendenza dal nero.

56
00:04:42,970 --> 00:04:49,660
Ma prima di farlo basta fare una rapida dimostrazione della dipendenza di All Blacks OK.

57
00:04:49,670 --> 00:04:53,510
Questa è la mia macchina Windows qui abbiamo un programma chiamato noi.

58
00:04:53,510 --> 00:04:54,740
Ciao Dotsie.

59
00:04:54,870 --> 00:05:01,670
Tutto sommato e tutto ciò che fa è mettere in questo messaggio chiamato Hello world sullo schermo

60
00:05:01,670 --> 00:05:02,530
sulla console.

61
00:05:02,630 --> 00:05:03,610
Questo è tutto ciò che esiste.

62
00:05:03,830 --> 00:05:06,000
Quindi andiamo a nascondere non compilato.

63
00:05:06,050 --> 00:05:10,740
Questo particolare programma C questo è il mio prompt dei comandi.

64
00:05:10,770 --> 00:05:14,550
Quindi lasciatemi dire semplicemente GCC sul compilatore GCC.

65
00:05:14,550 --> 00:05:24,790
Salve da tutti sul file di output sarebbe ciao quindi non sarebbe male holloed lo spazio il file di input come fa

66
00:05:25,260 --> 00:05:26,350
il programma.

67
00:05:26,350 --> 00:05:28,270
Ciao Doxey.

68
00:05:28,310 --> 00:05:30,790
OK in modo che la parola Haab generato urlato.

69
00:05:30,840 --> 00:05:31,760
Sì.

70
00:05:32,200 --> 00:05:36,960
OK, ora lasciami correre e basta.

71
00:05:37,380 --> 00:05:40,710
E come puoi vedere stampa il testo Hello world.

72
00:05:40,910 --> 00:05:47,530
Ora fammi copiare questo sottoprogramma su una macchina Linux e poi la gente lo ricompilerà lì.

73
00:05:48,000 --> 00:05:50,080
Quindi ho anche una scatola Linux.

74
00:05:50,250 --> 00:05:53,910
Quindi lasciami dire che questo è il mio Windows.

75
00:05:54,200 --> 00:05:55,490
E questo è il mio matto.

76
00:05:55,500 --> 00:05:58,530
Quindi ecco il programma di Odyssey scavato.

77
00:05:58,620 --> 00:06:00,290
Quindi fammi copiare qui.

78
00:06:02,330 --> 00:06:03,580
Si chiama Beat.

79
00:06:03,740 --> 00:06:09,340
Lasciatemi aprire il mio terminale Linux non compilato ed eseguirlo.

80
00:06:09,390 --> 00:06:11,790
Quindi ho il comando qui.

81
00:06:11,940 --> 00:06:20,220
Penso che il telefono non sia grande come nell'altra finestra, quindi è il trattino dello spazio DCC. Oh ciao sfacciato o

82
00:06:20,220 --> 00:06:21,500
allo stesso Capan.

83
00:06:21,690 --> 00:06:31,540
Quindi permettimi di compilarlo perché è stato compilato in modo da eseguirlo tutto ciò che farò è la barra dei punti Hello

84
00:06:31,570 --> 00:06:36,810
under-cut ha creato Hello Doc qui OK, quindi stampa il testo.

85
00:06:36,810 --> 00:06:37,620
Ciao.

86
00:06:37,890 --> 00:06:38,120
OK.

87
00:06:38,140 --> 00:06:39,420
Quindi è buono.

88
00:06:39,420 --> 00:06:45,190
Ora fammi copiare il file C che è stato generato su Windows sulla macchina Linux.

89
00:06:45,240 --> 00:06:46,640
Vediamo se possiamo eseguirlo.

90
00:06:47,100 --> 00:06:48,250
Quindi fammi copiare qui.

91
00:06:48,270 --> 00:06:49,270
Questo è 100 e.

92
00:06:49,330 --> 00:06:52,270
E pagina qui.

93
00:06:55,120 --> 00:07:03,080
Quindi, qui per eseguirlo, lasciami dire pseudo questi dot dot slash ciao.

94
00:07:03,150 --> 00:07:03,960
Si e.

95
00:07:05,590 --> 00:07:10,380
Nix è combinato non solo per cui non è possibile eseguire.

96
00:07:10,500 --> 00:07:13,370
Got exigeant generato su Windows su di esso.

97
00:07:13,380 --> 00:07:14,780
La prossima missione.

98
00:07:14,820 --> 00:07:20,460
Quindi una cosa che può essere fatta qui è che dobbiamo decompilare questo è quello che abbiamo fatto

99
00:07:20,460 --> 00:07:23,280
prima o possiamo usare un software chiamato whining.

100
00:07:23,540 --> 00:07:23,870
OK.

101
00:07:23,900 --> 00:07:28,110
Virtual ci consente di eseguire programmi Windows su Linux.

102
00:07:28,230 --> 00:07:33,210
Quindi lasciami dire che siamo qui sulla prossima macchina.

103
00:07:35,120 --> 00:07:38,200
Ora come puoi vedere ci sta aiutando a farlo.

104
00:07:38,240 --> 00:07:43,710
OK, quindi è solo per tua informazione che possiamo usare questo software chiamato vino.

105
00:07:44,030 --> 00:07:44,300
OK.

106
00:07:44,300 --> 00:07:51,090
Ciò significa chiaramente che C non è indipendente dalla piattaforma o dal pianeta.

107
00:07:51,080 --> 00:07:57,600
Ora permettimi di copiare l'eseguibile generato su Linux su Windows e diciamo che è la stessa cosa.

108
00:07:57,650 --> 00:08:00,640
Quindi qui come eseguibile su Linux.

109
00:08:00,680 --> 00:08:01,990
Quindi fammi copiare qui.

110
00:08:04,060 --> 00:08:09,130
Quindi lasciami aprire e lasciami solo digitare il tuo documento.

111
00:08:10,730 --> 00:08:11,880
E questo è tutto.

112
00:08:11,900 --> 00:08:17,750
Quindi non siamo in grado di eseguire l'eseguibile generato solo su Windows.

113
00:08:17,840 --> 00:08:20,030
Quindi questa è la dipendenza dalla piattaforma.

114
00:08:20,060 --> 00:08:24,370
In seguito vedremo come l'interprete aiuta a risolvere questo problema.

115
00:08:24,740 --> 00:08:28,950
E Djala, come abbiamo detto prima, è nero da indipendente.

116
00:08:29,120 --> 00:08:35,750
Così dopo eravamo in un programma Java e testeremo anche l'indipendenza della piattaforma.

117
00:08:35,860 --> 00:08:36,240
Questo è tutto.

118
00:08:36,260 --> 00:08:36,840
Grazie.

119
00:08:36,860 --> 00:08:38,090
Ci vediamo nella prossima lezione.
