Ir para conteúdo
Fórum Script Brasil
  • 0

Managed C++ e C++/CLI (c++.net)


Denis Bittencourt Muniz

Pergunta

Olá galera!

Essa sala é destinada para as linguagens C/C++, mas já vi perguntas sobre Managed C++ postadas nessa sala. Pois bem, gostaria de avisá-los que perguntas sobre Managed C++ serão bem-vindas aqui, apesar de existir a sala sobre .Net, que trata de qualquer linguagem que pertence a plataforma .Net!

Aproveitando esse tópico, vou descrever essa ótima linguagem:

Managed C++ é a versão da linguagem C++ para a plataforma .Net. Criada pela Microsoft, C++.net (nome mais popular) é uma linguagem moderna, aproveita de recursos da plataforma .Net, assim como qualquer outra linguagem que pertence a essa plataforma. Os antigos problemas de gerencia de memória foram eliminados, pois a plataforma .Net tem um GC (Garbage Collector), que é um mecânismo de gerencia de memória automática, ou seja, durante a execução de seu aplicativo, a plataforma fará a limpeza dos objetos criados pelo seu aplicativo. Com certeza a palavra-chave 'delete', responsável por retirar elementos (objetos, vetores, por exemplo) da memória será menos usada, mas têm casos de uso. Diferente do C#, C++.net não precisa de uma permissão para sair fora do contexto de gerencia automática. Melhor explicando, C# precisa do uso da palavra-chave 'fixed' para você ter controle sobre seu objeto (instância), sem a interferência do GC. Para o uso de ponteiros, C# necessita de uma permissão especial feita com a palavra-chave 'unsafe'. Já C++.net não precisa dessas permissões especias. O programador consegue usar objetos gerenciados (através da palavra-chave 'gcnew', assim o coletor de lixo (GC) fará a destruição do objeto em questão), objetos não gerenciados (através da palavra-chave 'new', onde o programador é responsável pela destruição do objeto) e pode usar ponteiros livremente! Ah! Uma característica muito importante, presente apenas em C++.net: O compilador dessa linguagem é capaz de gerar código gerenciado (aplicativo para ser executado na plataforma .Net, assim aproveitando todos os recursos da plataforma) ou código não-gerenciado (aplicativo para ser executado na plataforma Windows, não depende da plataforma .Net, pórem perde todos os recursos oferecidos pela plataforma .Net).

Teve muitas melhorias e um principal detalhe curioso: Managed C++ foi considerada uma linguagem com um nível mais baixo de C/C++.

O compilador da linguagem C++.net vem junto com o SDK.Net 2.0 (versão mais atual da plataforma .Net para desenvolvedores, apesar de existir o WinFX beta, .Net 3.0, explicando melhor). Lembrando que ao baixar o SDK, compiladores de VB.net, C#, J# e JScript.net estão incluidos. Ah! Leia os requerimentos para instalar o SDK.Net

Existem dois editores completos (IDE) para essa linguagem:

  1. Microsoft Visual C++ Express Edition (gratuito, roda no SDK 2.0)
  2. #developer (Open Source, roda no SDK 1.1)
Falows!

Observação: Managed C++ (7.0 e 7.1), na verdade, são extensões (adições) para o compilador Visual C++ da Microsoft funcionar em ambiente .Net. A partir da versão 8.0, o nome mudou (nome: C++/CLI) e a linguagem sofreu uma boa modificação. Vale a pena lembrar que, agora C++/CLI realmente é uma linguagem de programação (ou seja, não a história de extensões do compilador) e padronizada pelo órgão ECMA (assim como o C#). A citação de 'Managed C++' ou 'C++.net' no texto, você pode considerar o sinônimo de Managed C++ 7.0/7.1 ou C++/CLI.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Visual C++ 2003, por Mauro Sant'Anna

Apesar de ser um artigo bem antigo, veja o que Mauro declarou sobre o Managed C++ 7.1 (.Net Framework 1.1).

Excelente artigo Denis Bittencourt Muniz, eu mesmo desconhecia o assunto. Parabéns.

Obrigado! :)

Falows!

Link para o comentário
Compartilhar em outros sites

  • 0

Como o Managed C++ é uma linguagem da plataforma .Net, postarei o link para a referência da plataforma (descrição das classes, métodos, etc...) .Net em português, lançada dia 13 de setembro com o nome MSDN Wiki: http://msdnwiki.microsoft.com/pt-br/mtpswiki/default.aspx

Link para o comentário
Compartilhar em outros sites

  • 0

http://msdn2.microsoft.com/pt-br/visualc/default.aspx

Visual C++ Developer Center, provê exemplos, vídeos, artigos, documentação (inclusive do Managed C++ 7.1 e 8.0), etc...

Aproveitem! Falows!

Link para o comentário
Compartilhar em outros sites

  • 0

http://www.ecma-international.org/publicat...ST/ECMA-372.pdf

Documento do órgão ECMA sobre a especificação da linguagem C++/CLI. Bem interessante. Até mais!

Link para o comentário
Compartilhar em outros sites

  • 0

Visual C++ 2008 (clique/escolha o item Visual C++ 2008 na página).

Nova versão do ambiente Visual C++: Visual C++ 2008. Agora suportando C++/CLI para a plataforma .Net 3.5 (lançada em 19 de Novembro de 2007).

Até mais!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...