Show Gustavo. Se um tutorial pôde fazer isso por você imagina o que os cursos completos de C++, Jogos, Computação Gráfica e Compiladores não vão fazer hehehe. Tá tudo lá no meu canal :)
Rapaz, encontrei esse canal recentemente procurando conteúdo de C++, e olha... Sensacional, Judson, pretende trazer algo com Qt usando o C++? É um assunto que tenho interesse em aprender mais pra frente também
Show, seja bem-vindo ao canal Gabriel. Assim, no curto prazo eu já tenho outros projetos em que estou trabalhando. Eu estou no momento preparando a continuação do meu curso de C++ e pretendo investir em abordar a linguagem do nível iniciante ao avançado. Mas vejo que tem um grande interesse do pessoal com as interfaces gráficas e um dia eu pretendo abordar elas também... elas estão na fila, aguardando a vez. Infelizmente eu não consigo abraçar tudo de uma vez, o tempo que eu consigo dedicar ao canal é pequeno porque tenho meu trabalho normal pra dar conta hehehe. Mas um dia quero ter todo tipo de conteudo relacionado a C++ por aqui 👍
@@JudSan Muito bom, por enquanto vou maratonando as playlists hahahaha Voltei pra Engenharia de computação e tenho certeza que seus vídeos serão de grande ajuda
@@gabrielmoya7289 Show. Minha graduação também foi em Engenharia de Computação. Depois eu vi que minha praia era software mesmo e fui "migrando" no Mestrado e Doutorado para Ciência da Computação. Se curtir o material, recomenda pra galera aí :D
Rapaz... Me ajudou a resolver o exercício 6 do lab 5 de programação de computadores, mas não consigo entender como isso funciona pq tipo, eu crio um arquivo de cabeçalho .h e coloco os protótipos nele, crio um arquivo fonte onde eu incluo o arquivo de cabeçalho que contém a prototipação e nele eu defino as funções, mas no programa principal, o que contém a função main eu incluo o arquivo de cabeçalho que contém apenas a prototipação, como o programa entende que o conteúdo ali dentro é ligado ao arquivo fonte onde eu defini a função se não incluí o .cpp que contém a definição das funções? Eu garrei nesse exercício por isso, eu tava fazendo o contrário, tava dando #include do arquivo .cpp no arquivo .h sendo que era o contrário, pq na minha cabeça isso que fazia sentido
Acho que eu preciso reforçar esses conceitos no curso de Programação, porque muitos ficam com essa mesma dúvida... O compilador processa todos os arquivos .cpp do seu projeto. Logo em seguida, o ligador junta todos os arquivos em um executável. É nessa hora que ele verifica que o arquivo "A" usa uma função que está no arquivo "B" e ele "liga" as duas coisas. O compilador não precisa saber onde está a função, ele só precisa verificar se você está usando ela corretamente. Pra isso, ele precisa apenas do protótipo da função. O que importa pro compilador é o nome, a quantidade e tipo dos parâmetros. Se você usar o nome errado, ele acusa erro. Se você passar a quantidade errada de parâmetros ele acusa erro. Mas se você usar certinho a função está tudo ok pra ele. O compilador só verifica o que você escreveu. Quem vai juntar os códigos depois é o ligador. E ele faz isso buscando os nomes das funções nos arquivos que você criou, não importa em qual deles você cria a função, ele vai achar. Se ele não achar, você vai ver um erro começando com as letras LNK... de Linker (ligador).
@@JudSan hahhaah, há é seu Explorer mesmo, ficou perfeitamente encaixado achei que fosse uma função do VS. Parabéns Brother sua dinâmica é excelente, vc já é mais referencia pra mim 🙂.
@@brunomarques5258 Algumas coisas acabam não tendo espaço nas ementas das disciplinas. Por isso também resolvi trazer vídeos suplementares aqui pro canal.
O Visual Studio foi lançado em fevereiro de 1997 (25 anos) Faz 25 anos que o pessoal se perde nisso. Sendo que seria bem mais prático usar um Json hehe { "debug":{ "include":[ "c:/folder/includes1", "c:/folder/includes2" ], "lib":[ "c:/folder/lib1", "c:/folder/lib2" ], "bin": ["c:/folder/bin"], "src":"c:/folder/src" }, "released":{ "include":[ "c:/folder/includes1", "c:/folder/includes2" ], "lib":[ "c:/folder/lib1", "c:/folder/lib2" ], "bin": ["c:/folder/bin"], "src":"c:/folder/src" } } No projeto até tem um XML com a configuração. Mas é quase código de máquina. kk
kkk, verdade. Por isso o melhor é sempre saber o conceito por trás e o que o compilador precisa. Sabendo o conceito, dá pra aplicar em arquivo json, na linha de comando ou em qualquer ferramenta.
@@gurigraphics Com C++ acredito que não. Json é uma coisa recente que se popularizou com a Web. C++ já tinha seus problemas resolvidos de outras formas, então acho que ninguém foi atrás de mudar o que já estava funcionando.
O pior é que configuração Visual é mais moderna que usar arquivo config. E sempre foi mais demorada. O VSCode tem um c_cpp_properties.json Mas meu exemplo seria melhor. kk
valeu, tutorial ajudou aqui a resolver o problema e consegui fazer, e olha que li bastante mtos artigos confusos
Show Gustavo. Se um tutorial pôde fazer isso por você imagina o que os cursos completos de C++, Jogos, Computação Gráfica e Compiladores não vão fazer hehehe. Tá tudo lá no meu canal :)
muy buen tutorial
Rapaz, encontrei esse canal recentemente procurando conteúdo de C++, e olha... Sensacional, Judson, pretende trazer algo com Qt usando o C++? É um assunto que tenho interesse em aprender mais pra frente também
Show, seja bem-vindo ao canal Gabriel. Assim, no curto prazo eu já tenho outros projetos em que estou trabalhando. Eu estou no momento preparando a continuação do meu curso de C++ e pretendo investir em abordar a linguagem do nível iniciante ao avançado.
Mas vejo que tem um grande interesse do pessoal com as interfaces gráficas e um dia eu pretendo abordar elas também... elas estão na fila, aguardando a vez. Infelizmente eu não consigo abraçar tudo de uma vez, o tempo que eu consigo dedicar ao canal é pequeno porque tenho meu trabalho normal pra dar conta hehehe. Mas um dia quero ter todo tipo de conteudo relacionado a C++ por aqui 👍
@@JudSan Muito bom, por enquanto vou maratonando as playlists hahahaha
Voltei pra Engenharia de computação e tenho certeza que seus vídeos serão de grande ajuda
@@gabrielmoya7289 Show. Minha graduação também foi em Engenharia de Computação. Depois eu vi que minha praia era software mesmo e fui "migrando" no Mestrado e Doutorado para Ciência da Computação. Se curtir o material, recomenda pra galera aí :D
Um sonho aprender Qt com o Judson, esse professor é sensacional, aborda profundamente os assuntos de C++, meu objetivo final é aprender Qt também.
Cada dia mais apaixonado pelo C/C++. A galera fugindo dos ponteiros e malloc, enquanto eu quero me aprofundar mais.
@@TulhoKay Massa. Somos do mesmo time.
Rapaz... Me ajudou a resolver o exercício 6 do lab 5 de programação de computadores, mas não consigo entender como isso funciona pq tipo, eu crio um arquivo de cabeçalho .h e coloco os protótipos nele, crio um arquivo fonte onde eu incluo o arquivo de cabeçalho que contém a prototipação e nele eu defino as funções, mas no programa principal, o que contém a função main eu incluo o arquivo de cabeçalho que contém apenas a prototipação, como o programa entende que o conteúdo ali dentro é ligado ao arquivo fonte onde eu defini a função se não incluí o .cpp que contém a definição das funções? Eu garrei nesse exercício por isso, eu tava fazendo o contrário, tava dando #include do arquivo .cpp no arquivo .h sendo que era o contrário, pq na minha cabeça isso que fazia sentido
Acho que eu preciso reforçar esses conceitos no curso de Programação, porque muitos ficam com essa mesma dúvida...
O compilador processa todos os arquivos .cpp do seu projeto. Logo em seguida, o ligador junta todos os arquivos em um executável. É nessa hora que ele verifica que o arquivo "A" usa uma função que está no arquivo "B" e ele "liga" as duas coisas.
O compilador não precisa saber onde está a função, ele só precisa verificar se você está usando ela corretamente. Pra isso, ele precisa apenas do protótipo da função. O que importa pro compilador é o nome, a quantidade e tipo dos parâmetros. Se você usar o nome errado, ele acusa erro. Se você passar a quantidade errada de parâmetros ele acusa erro. Mas se você usar certinho a função está tudo ok pra ele.
O compilador só verifica o que você escreveu. Quem vai juntar os códigos depois é o ligador. E ele faz isso buscando os nomes das funções nos arquivos que você criou, não importa em qual deles você cria a função, ele vai achar. Se ele não achar, você vai ver um erro começando com as letras LNK... de Linker (ligador).
Como é que ele abriu dentro do visual studio o explorer do windows!? 🤔🤨
Eu simplesmente apertei a tecla do Windows + E. Abre o Explorer direto de qualquer lugar.
@@JudSan hahhaah, há é seu Explorer mesmo, ficou perfeitamente encaixado achei que fosse uma função do VS. Parabéns Brother sua dinâmica é excelente, vc já é mais referencia pra mim 🙂.
É Judson, isso não aprendi na UFMG
@@brunomarques5258 Algumas coisas acabam não tendo espaço nas ementas das disciplinas. Por isso também resolvi trazer vídeos suplementares aqui pro canal.
@@JudSan Falei isso pq justamente conheço o cotidiano de uma federal e se serve de depoimento, muita coisa você tem que aprender por fora
O Visual Studio foi lançado em fevereiro de 1997 (25 anos)
Faz 25 anos que o pessoal se perde nisso.
Sendo que seria bem mais prático usar um Json hehe
{
"debug":{
"include":[
"c:/folder/includes1",
"c:/folder/includes2"
],
"lib":[
"c:/folder/lib1",
"c:/folder/lib2"
],
"bin": ["c:/folder/bin"],
"src":"c:/folder/src"
},
"released":{
"include":[
"c:/folder/includes1",
"c:/folder/includes2"
],
"lib":[
"c:/folder/lib1",
"c:/folder/lib2"
],
"bin": ["c:/folder/bin"],
"src":"c:/folder/src"
}
}
No projeto até tem um XML com a configuração. Mas é quase código de máquina. kk
kkk, verdade. Por isso o melhor é sempre saber o conceito por trás e o que o compilador precisa. Sabendo o conceito, dá pra aplicar em arquivo json, na linha de comando ou em qualquer ferramenta.
Mas da pra usar um json no Visual Studio?
Em javascript toda configuração usam json.
Visual Studio nunca vi.
@@gurigraphics Com C++ acredito que não. Json é uma coisa recente que se popularizou com a Web. C++ já tinha seus problemas resolvidos de outras formas, então acho que ninguém foi atrás de mudar o que já estava funcionando.
O pior é que configuração Visual é mais moderna que usar arquivo config. E sempre foi mais demorada.
O VSCode tem um c_cpp_properties.json
Mas meu exemplo seria melhor. kk
Inclusive com txt seria mais prático tbm
### debug
## includes
c:/folder/include
### release
## includes
c:/folder/include