﻿1
00:00:04,450 --> 00:00:05,470
‫Olá e bem-vindo.

2
00:00:05,470 --> 00:00:11,500
‫Nesta palestra, falaremos sobre compiladores e editores descobrindo o que são e por que

3
00:00:11,500 --> 00:00:14,440
‫precisamos deles quando queremos escrever C++.

4
00:00:14,920 --> 00:00:20,740
‫Então, vamos começar com algumas definições de glossário e veremos como elas se encaixam no ecossistema mais amplo.

5
00:00:21,400 --> 00:00:22,960
‫Em primeiro lugar, o código-fonte.

6
00:00:23,020 --> 00:00:26,500
‫Isso é crucial para entender por que precisamos de um compilador em primeiro lugar.

7
00:00:26,740 --> 00:00:29,440
‫Código-fonte é o código que escrevemos.

8
00:00:29,440 --> 00:00:30,430
‫Geralmente é texto.

9
00:00:30,430 --> 00:00:34,120
‫É uma forma de código legível por humanos, como C++.

10
00:00:34,120 --> 00:00:37,030
‫Mas às vezes você pode pensar no código-fonte como um projeto também.

11
00:00:37,030 --> 00:00:42,940
‫As maneiras legíveis por humanos de descrever o que você gostaria que seu jogo fizesse, o que você gostaria que o computador

12
00:00:42,940 --> 00:00:43,420
‫fizesse.

13
00:00:43,810 --> 00:00:51,400
‫E, crucialmente, é a parte legível por humanos, porque não é para uma máquina poder executar isso,

14
00:00:51,400 --> 00:00:53,230
‫poder fazê-lo funcionar.

15
00:00:53,680 --> 00:01:02,260
‫Esse é o papel do executável binário geralmente é o código binário uns e zeros, e destina-se a uma máquina para

16
00:01:02,260 --> 00:01:07,540
‫poder lê-lo rapidamente e executá-lo em sua CPU e em sua GPU.

17
00:01:07,870 --> 00:01:10,210
‫E assim é o código legível por máquina.

18
00:01:10,690 --> 00:01:17,440
‫Portanto, entre esses dois há uma lacuna e precisamos corrigir essa lacuna para que possamos converter nosso código legível por humanos em

19
00:01:17,440 --> 00:01:19,030
‫código legível por máquina.

20
00:01:19,330 --> 00:01:22,750
‫E esse é o papel desse chamado compilador.

21
00:01:22,750 --> 00:01:26,770
‫Ele traduz do C++ legível por humanos ou blueprints.

22
00:01:26,770 --> 00:01:31,030
‫Como vimos antes, encontramos erros do compilador de blueprint e coisas assim.

23
00:01:31,390 --> 00:01:34,750
‫Portanto, ele traduz do domínio humano para o domínio da máquina.

24
00:01:34,750 --> 00:01:39,700
‫Ele cria esses arquivos ponto XY ou esses arquivos binários em qualquer plataforma em que você esteja.

25
00:01:40,150 --> 00:01:45,820
‫E obviamente há muita complexidade envolvida no que um compilador faz, e aprenderemos mais sobre

26
00:01:45,970 --> 00:01:49,270
‫algumas das partes mais intrincadas dele mais adiante.

27
00:01:49,270 --> 00:01:55,240
‫Mas, por enquanto, basta saber que é um software que converte de código-fonte em código binário.

28
00:01:55,420 --> 00:02:00,760
‫E depois há outro software na mistura chamado editor de código-fonte, que simplesmente está

29
00:02:00,760 --> 00:02:06,100
‫lá para facilitar sua vida ao escrever código legível por humanos como C++.

30
00:02:06,100 --> 00:02:13,720
‫Ele apenas nos dá coisas como autocompletar e destaca quaisquer erros que possamos ter digitado automaticamente, um pouco como um

31
00:02:13,720 --> 00:02:18,790
‫corretor ortográfico, para facilitar muito nossa vida ao lidar com o código-fonte.

32
00:02:19,270 --> 00:02:23,140
‫Então vamos ver como tudo isso se encaixa no ecossistema irreal.

33
00:02:23,530 --> 00:02:27,040
‫Então, temos lidado até agora com o editor.

34
00:02:27,040 --> 00:02:34,750
‫Nós, o editor, é um software e é um que já foi compilado para nós e já temos o executável

35
00:02:34,750 --> 00:02:38,050
‫para esse editor quando fomos e o instalamos.

36
00:02:38,050 --> 00:02:39,640
‫Assim, podemos abrir o editor.

37
00:02:39,640 --> 00:02:45,850
‫O editor nos permite modificar e criar um projeto de jogo usando vários recursos do jogo.

38
00:02:45,850 --> 00:02:49,900
‫Isso inclui coisas como as malhas que trouxemos para o nosso projeto.

39
00:02:49,900 --> 00:02:53,560
‫Eles incluem todos os ativos do blueprint e o código do blueprint.

40
00:02:54,190 --> 00:03:00,580
‫E o que isso nos permite fazer é usar esses ativos de jogo que criamos um editor,

41
00:03:00,580 --> 00:03:07,720
‫podemos então rodar o jogo em um executável autônomo separado onde ele apenas joga o jogo e nada mais.

42
00:03:08,230 --> 00:03:11,860
‫No entanto, a imagem muda um pouco se quisermos começar a usar C++.

43
00:03:11,890 --> 00:03:18,970
‫C++ é a base do editor e, como tal, se alterarmos o C++ no

44
00:03:18,970 --> 00:03:23,560
‫editor, precisamos essencialmente reconstruir o executável binário do editor.

45
00:03:23,980 --> 00:03:28,510
‫Então, se temos nosso código-fonte aqui, sabemos que se parece um pouco com isso.

46
00:03:28,510 --> 00:03:37,060
‫Temos algum texto basicamente que é o que compõe nosso código-fonte e editamos esse código-fonte novamente usando um

47
00:03:37,060 --> 00:03:41,440
‫software separado chamado editor de código-fonte anteriormente blueprint.

48
00:03:41,440 --> 00:03:47,140
‫Estamos editando tudo dentro do editor The Unreal porque está totalmente integrado ao software.

49
00:03:47,410 --> 00:03:52,570
‫No entanto, quando estamos lidando com C++, estamos usando um software de terceiros para editar o código.

50
00:03:52,990 --> 00:03:57,670
‫Agora, o que vamos usar neste curso chama-se Visual Studio Code porque é

51
00:03:57,670 --> 00:04:02,710
‫multiplataforma e funciona perfeitamente em Mac, Linux e Windows e também é muito leve.

52
00:04:03,100 --> 00:04:07,930
‫Mas, como eu disse, há essa lacuna entre o código-fonte que escrevemos e

53
00:04:07,930 --> 00:04:13,960
‫transformá-lo no executável binário necessário para executar o jogo no editor e no produto final do jogo.

54
00:04:14,260 --> 00:04:16,540
‫E esse bit é o compilador.

55
00:04:16,540 --> 00:04:22,720
‫O compilador pegará nosso código-fonte, pegará as bibliotecas e funcionalidades já construídas no Unreal que

56
00:04:22,720 --> 00:04:24,790
‫usamos em nosso código-fonte.

57
00:04:25,060 --> 00:04:31,630
‫Ele irá compilá-los juntos, transformá-los em binários e gerar um editor que podemos abrir e editar nossos ativos de

58
00:04:31,630 --> 00:04:37,690
‫jogo ou produzirá um jogo que pegará nossos ativos de jogo e permitirá que o jogador apenas

59
00:04:37,690 --> 00:04:38,830
‫jogue nosso jogo.

60
00:04:39,190 --> 00:04:44,170
‫Agora há duas opções de compilador dependendo da plataforma em que você está.

61
00:04:44,440 --> 00:04:49,240
‫Se você estiver no Windows, usaremos o Visual Studio, portanto, não confunda muito.

62
00:04:49,240 --> 00:04:51,310
‫Eles têm logotipos muito semelhantes e nomes muito semelhantes.

63
00:04:51,310 --> 00:04:56,350
‫Um é o Visual Studio, que é o compilador, e depois há um que é apenas o código-fonte, e esse

64
00:04:56,350 --> 00:04:58,210
‫é chamado de código do Visual Studio.

65
00:04:58,870 --> 00:05:03,010
‫Agora, se você estiver em um mac, você usará o código X que.

66
00:05:03,120 --> 00:05:09,480
‫É o compilador no Mac para manter as coisas entre plataformas, para manter as coisas iguais para todos.

67
00:05:09,600 --> 00:05:14,280
‫Vamos usar o código do Visual Studio para realmente editar o código, mesmo que esses compiladores tenham

68
00:05:14,280 --> 00:05:16,170
‫recursos de edição de código-fonte integrados.

69
00:05:16,560 --> 00:05:23,640
‫Mas usaremos esses compiladores para realmente pegar o código-fonte e transformá-lo em executável binário.

70
00:05:23,730 --> 00:05:25,260
‫Ok, então é isso para esta palestra.

71
00:05:25,260 --> 00:05:29,220
‫Espero que você esteja um pouco mais claro sobre por que precisamos de um compilador, por que precisamos do editor de código-fonte.

72
00:05:29,490 --> 00:05:33,960
‫Nas próximas palestras, vamos passar pelo processo de instalação deles.

73
00:05:33,990 --> 00:05:34,620
‫Eu te vejo lá.

