Olá e seja bem-vindo.
Neste vídeo, quero explicar a você o que são erros do compilador.
Até este ponto.
Certo.
Escrevemos algum código e notamos que, na janela de saída de compilação, emitimos um comando
de compilação e sabemos quando temos erros.
Certo.
Normalmente, há uma boa descrição que diz que há um erro em seu código, mas o que isso significa
exatamente?
Portanto, quando você escreve código para uma linguagem de programação, as linguagens de programação são muito, muito rigorosas.
Eles têm regras.
E você precisa seguir essas regras para que um programa possa ser executado.
Um compilador verificará de fato a sintaxe do código.
E se estiver correto e não houver erros semânticos, ele gerará, a partir do código-fonte, um código do tipo linguagem de máquina,
e você poderá executar um programa.
Portanto, você precisa seguir essas regras, que são muito detalhadas.
Portanto, você precisa ser muito detalhista.
Portanto, os erros do compilador podem se apresentar de duas formas.
Eles podem vir na forma de um erro de sintaxe ou de um erro semântico.
Um erro de sintaxe é quando há algo errado com a estrutura do código, você não está
seguindo as regras da linguagem em termos de sintaxe, certo?
Você não está colocando os parênteses no espaço correto.
Você não está adicionando todas as suas declarações com um ponto e vírgula.
Você não está escrevendo errado as palavras-chave.
Todos esses são exemplos comuns.
O ponto e vírgula é muito comum quando se está começando.
Portanto, se você declarar uma variável e atribuí-la a cinco, mas não tiver o ponto e vírgula no final,
isso é um erro de sintaxe.
Há algo de errado com essa estrutura.
Da mesma forma que se você fosse usar uma instrução printf e dissesse uma instrução printf entre aspas duplas,
mas esquecesse o final, aspas duplas.
Isso é um erro de sintaxe.
Portanto, algo está errado com essa estrutura no compilador e, normalmente, quando ele examina o
código-fonte e encontra esse erro, ele geralmente fornece um significado de erro descritivo que pode indicar a direção certa e
também fornece o número da linha.
E já vimos isso em vídeos anteriores.
O outro tipo de erro que o compilador pode detectar é um erro semântico.
Ele nem sempre detecta erros de semântica se forem erros de lógica, mas a semântica geralmente significa que há algo
errado com o significado.
A intenção do programa.
Então, por exemplo, se você adicionasse duas variáveis A e B, mas essas variáveis fossem de tipos diferentes
e isso não fizesse sentido, certo?
Não faz sentido adicionar A e B.
Às vezes, o compilador pode detectar esses erros semânticos.
Outros erros semânticos têm a ver com a lógica e vamos discuti-los.
E o compilador nem sempre os encontra.
A estrutura estava correta e tudo estava bem com a estrutura, mas logicamente algo estava incorreto.
Há um erro na lógica do código.
Portanto, quando você pensa em erros semânticos, o que o compilador pode capturar, tem
mais a ver com a captura de tipos e com coisas que você não deve fazer, com regras diferentes da linguagem
relacionadas a tipos de variáveis.
Agora, vamos dar uma olhada na luz do código para ver alguns exemplos comuns de erros de sintaxe e semântica na linguagem
de programação C.
Portanto, aqui estamos na luz do código com um aplicativo simples do tipo Hello world.
Esse é o código gerado para você a partir das configurações do seu projeto.
Se você o salvou como um modelo.
Código muito simples, certo?
E quando você compilar esse arquivo, ele informará se há ou não erros de sintaxe.
Você pode clicar novamente com o botão direito do mouse e dizer compilar.
E, neste momento, não temos nenhum erro, certo?
Mas, sintaticamente, estamos seguindo todas as regras.
Mas a sintaxe inclui, novamente, toda a estrutura do código.
Portanto, se você não tiver um ponto e vírgula ou se não tiver um símbolo de libra antes de um include e tentar
compilá-lo.
Você verá que há um erro e, normalmente, o erro do compilador tem algum tipo de significado.
Agora, à medida que você escreve mais e mais código e adquire mais e mais prática, esses compiladores não serão
tão obtusos.
Eles não serão tão não descritivos que você já esteja familiarizado, como,
por exemplo, este erro diz que temos um erro na linha um, certo?
E isso é bom.
Você pode clicar duas vezes nele.
O erro ocorrerá, mas ele diz que o valor esperado é igual ao ponto e vírgula.
Ele realmente não informa o que está errado.
Com a prática de programação, você perceberá que esqueci o símbolo da libra.
Portanto, alguns erros do compilador não são tão descritivos quanto você gostaria se fosse iniciante em programação.
Portanto, adicione isso, adicione o símbolo de libra, recompile e pronto.
Se você digitou incorretamente o i o padrão, às vezes ele não conseguirá localizá-lo.
Então, você salva e recompila e vê um erro que diz algo um pouco mais descritivo.
Certo?
Não existe tal arquivo ou diretório Stdio. E isso lhe diz: "Ah, talvez você tenha digitado errado".
Portanto, erros de ortografia são comuns.
Você sabe, não colocar as coisas na perspectiva correta em termos de parênteses incompatíveis.
Se você esquecer um parêntese, novamente, recompile.
Vamos ver como é esse erro.
Novamente, isso não é muito descritivo.
Ele está dizendo que, basicamente, há um parêntese antes da chave final porque ele não sabe que talvez
esse parêntese direito vá terminar em algum lugar aqui embaixo.
Ele nem sempre pode lhe dizer exatamente o que está acontecendo.
Portanto, parênteses e chaves ausentes às vezes não são tão descritivos.
Mas se você tiver algo como um ponto e vírgula faltando, isso é bastante simples.
Esse erro de compilação lhe diz exatamente o que está acontecendo.
O ponto-e-vírgula esperado antes do retorno indica onde você deve colocar o ponto-e-vírgula.
Portanto, você pode clicar duas vezes nele, colocar um ponto e vírgula se estiver faltando uma aspa dupla e recompilar.
Certo?
Agora você vê algo que diz basicamente que está faltando, terminando com aspas duplas.
E, novamente, ele aponta para o local onde ocorre a primeira citação e apresenta vários
erros, certo, embora você tenha apenas um.
Então, você colocou a aspa dupla e está tudo certo.
Agora, esse main está dizendo que você precisa retornar um int.
E se você realmente tentasse retornar algo como inside dentro de aspas duplas?
Novamente, você não está seguindo a estrutura da linguagem e ela lhe diz basicamente que você está retornando um
ponteiro de caractere de um tipo de função.
Novamente, esses erros de compilação podem não fazer sentido para você neste momento, mas à medida que você
escrever mais e mais códigos, eles farão mais sentido.
Mas tudo se resume a seguir essa estrutura.
Agora, se você tentar fazer coisas que façam sentido sintaticamente, mas o significado não estiver correto.
Então, por exemplo, digamos que fazemos uma impressão F e tentamos fazer uma operação aritmética, como
dividir por oito ou dividir por sete.
Salvamos e compilamos o arquivo e agora vemos um erro de semântica em que temos um símbolo de divisão após as
aspas duplas.
Você sabe onde ele estava realmente esperando Ponto e vírgula C Principalmente, encontraremos erros de sintaxe, erros de semântica.
O significado do código geralmente está relacionado à lógica.
Não foram encontrados tantos erros semânticos que acontecem mais em uma linguagem como C plus plus quando você está usando.
Objetos.
Portanto, fique atento a erros de sintaxe do compilador.
Coisas comuns, erros de ortografia, uso incorreto de.
Palavras-chave que não terminam seus parênteses quando você está iniciando blocos de código quando
você não tem o bloco final e inicial E você pode ter vários erros, certo?
Então, digamos que temos o Hello world.
Está faltando um ponto e vírgula.
Estamos retornando uma string.
Sabe, está faltando um suporte, e nós o construímos.
E esse é um programa bastante pequeno.
Mas quando tentamos compilá-lo agora, estamos vendo vários erros, certo?
Dois erros.
E é meio complicado, tipo, por onde eu começo?
Normalmente, o que você faz é corrigir o primeiro erro porque, às vezes, um erro pode causar mais erros.
Portanto, você sempre deve verificar o erro do compilador na parte superior e corrigi-lo primeiro.
Então, você quer corrigir o que está na linha cinco, certo?
Talvez você queira corrigir e recompilar e, depois disso, talvez corrigir o que está na linha seis.
E agora está escrito Jason.
Portanto, agora você pode dizer que retorna zero, mas sempre corrija o primeiro erro antes de corrigir os erros subsequentes,
pois um pode estar causando o outro.
E, a propósito, sempre haverá erros em nosso código.
Até mesmo os programadores mais experientes terão erros de sintaxe.
Portanto, é comum haver erros.
O que é realmente importante é entender as mensagens que vêm do compilador para lhe dizer
como corrigi-las.
E, novamente, isso virá com a prática.
Falaremos mais sobre compiladores, compiladores comuns em vídeos futuros, mas tente se certificar de que está
seguindo a estrutura da linguagem à medida que a aprende, as linguagens sintáticas e assim por diante.
Nas próximas palestras, falaremos sobre como podemos ter diferentes tipos de erros.
Eu mencionei erros de lógica.
Também podemos falar um pouco sobre avisos.
Também falaremos sobre erros do vinculador e erros de tempo de execução.
Obrigado.