Tenho uma dúvida sobre malloc e new, posso usar estas duas funções em programação de windows? Andei pesquisando uns dizem que sim outros dizem que não, na faculdade muitos dizem que não e meu professor também disse que não, mas para cada um que pergunto nunca recebo um resposta firme. Os que dizem que não, não sabem explicar o motivo. E os que dizem sim também não sabem explicar
Entao por indicação de um amigo me cadastrei neste forum pois ele me disse que aqui eu encontraria uma resposta mais técnica.
Então Lucas. A resposta é bem simples e direta, você pode sim usar malloc e new em programação windows.
Mas existe um porém, o recomendado é você usar as funções da API do windows que são GlobalAlloc, LocalAlloc, HeapAlloc, VirualAlloc e CoTaskMemAlloc. Todas alocam memória porém existe uma leve diferença entre cada uma delas, que as tornam únicas.
As que eu mais uso com maior frequência são HeapAlloc e GlobalAlloc, eu poderia usar malloc ou new no lugar delas, mas seguindo o padrão da empresa em que trabalho eu uso as funções da própria API do Windows.
Quando temos algum projeto multiplataforma ou temos que trabalhar com algum sistema embarcado ou desenvolver algum driver específico ae usamos malloc ou new.
Mesmo existindo as funções da API você pode sim usar com total segurança malloc e new, isto está bem definido no manual da API do windows. Não havendo sombra para dúvidas quanto a isto.
Sempre que houver dúvidas recorra ao manual da API do windows ou do OS que estiver usando, e ainda também verifique manual do compilador. Esta prática é muito importante.
Existem mais detalhes avançados sobre este assunto que não irei abordar aqui. Eu sugiro caso ainda esteja interessado, pesquisar a API do windows no site MSDN. Se surgirem dúvidas poste aqui que tentaremos ajudar.
Muito obrigado pela resposta, eu não esperava que alguém fosse responder. Em outros foruns que me cadastrei ninguém responde muito nem parece forum.
Eu gosto muito de C++ e recentemente andei pesquisando algumas coisas e vi que é bem complicado essa tal Winapi. É muito nome pra decorar muita coisa pra entender além de que tem utilidade somente para os produtos da microsoft. Ae eu não gostei muito…
Eu ainda estou cursando o curso superior em ciências da computação e vou ser honesto eu sei quase nada de programação. mas tenho interesse em c++ e c# ou java.
Eu gostaria de aproveitar que você respondeu, e perguntar outra coisa. Pelo visto você trabalha com isso, vale a pena investir? O salário é bom? Você trabalha só com windows? Eu pergunto pois eu não gosto muito do windows. Você indicaria algum livro?
Respondendo suas perguntas, eu trabalho com C e C++ sim e já faz bastante tempo.
Se vale investir… sim vale, mas você vai terá que se dedicar bastante, mas não se prenda somente em C C++ aprenda outras linguagens. O salário é muito bom. Na empresa em que trabalho desenvolvo para windows, linux e sistemas embarcados mas foco são microcontroladores.
Eu prefiro os livros na literatura estrangeira, mas para iniciantes fica difícil eu recomendar, pois livro é algo muito pessoal. Eu sugiro você procurar um que possa lhe ajudar a conhecer bem a sintaxe da linguagem. Ae você pega do início e vai até o fim.
Quando você compreender bem a linguagem adquira este: Understanding Pointers in C Paperback by Yashavant P. Kanetkar
você encontra no site da amazon, na época que comprei foi bem caro mas atualmente o preço caiu absurdamente. Igual a este você não encontra na literatura portuguesa.