Pergunta

O título tópicos é realmente a minha pergunta. E a segunda pergunta é:? Quando eu usar o que destes dois

Foi útil?

Solução

Quando não especificado, C ++ é não gerenciado C ++, compilado para código de máquina. Em gerenciado C ++ você deve gerenciar alocação de memória manualmente.

Dirigido C ++ é uma linguagem inventada por Microsoft, que compila para bytecode executado pelo .NET Framework. Ele usa principalmente a mesma sintaxe como C ++ (daí o nome), mas é compilado da mesma maneira como C # ou VB.NET; basicamente, apenas as alterações de sintaxe, v.g. usando. '->' para apontar para um membro de um objecto ( '', em vez de em C #), utilizando '::' para espaços de nomes, etc

Dirigido C ++ foi feito para facilitar a transição do clássico C ++ para o .NET Framework. Ele não se destina a ser usado para iniciar novos projetos (C # é o preferido).

Outras dicas

"Managed C ++" se refere a uma linguagem que foi incluído no Visual Studio.NET/VisualStudio.NET 2003. Desde então, tem sido deprecated , com a mais recente .net C ++ sendo C ++ / CLI.

Você pode codificar C ++ nativo duas maneiras diferentes. O primeiro é compilar diretamente para código de máquina com apenas o sistema operacional entre você eo Platform (Hardware). A segunda codificação nativa é feito com MFC (Microsoft Foundation). Este é o mesmo que o primeiro exemplo exceto para o uso de MFC.

Dirigido C ++ usa o CLR (Common Language Runtime) O CLR junto com o .NET Framework bibliotecas de classes compõem o .NET Framework. Este ++ / CLI utilizações comuns do framework .Net conseguiu C, juntamente com a MSIL (Microsoft Intermediate Language). Esta norma funciona por mapeamento para código de máquina somente quando o programa está sendo executado com o uso de um só no compilador tempo. Se o seu código será executado em diferentes plataformas de hardware o uso de código gerenciado será muito mais fácil. Tal como acontece com todas as coisas há uma ligeira preço a pagar por conveniência, como código nativo irá correr mais rápido.

Eu acho que você deve olhar para esta questão .

meios Managed C ++ que alocação de memória, gestão, coleta de lixo é manipulado pela máquina virtual. Considerando que, "regular" C ++, você teria que alocar e desalocar memória.

Você estará usando gerenciado C ++ quando quiser usar um C ++ biblioteca de classe nativo a partir do código gerenciado. Neste caso, você embrulhar as classes não gerenciados em uns Managed C ++, então você usá-los em qualquer linguagem CLR.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top