Pergunta

Faria um C ++ CLI O compilador pode compilar alguns grandes conjuntos de classes C ++ sem modificações?

C ++ CLI é um superconjunto de C ++?

Foi útil?

Solução

Tecnicamente não, mas, dependendo do padrão do código C ++, você provavelmente ficará bem. Quando você entra em coisas do Windows, pode ter problemas. Compilei o mecanismo de jogo inteiro que usamos no trabalho em C ++/CLI uma vez e funcionou muito bem. Um colega fez o mesmo por todo o Mozilla e não tem tanta sorte.

Outras dicas

De acordo com Wikipedia:

C ++/CLI deve ser pensado como um idioma próprio (com um novo conjunto de palavras-chave, por exemplo), em vez do C ++ Orientado ao Superset C ++ gerenciado

Ainda sou novo com minha curva de aprendizado no C ++/CLI - mas eu mesmo tive a mesma pergunta e o que determinei até agora é que C ++/CLI é, como um idioma, um superconjunto de C ++ padrão.

Se você não usar as extensões da CLI, seu código C ++ acabará como código não gerenciado nativo e deve ser essencialmente o mesmo, mas compilado ao CLR IL, em vez do X86 nativo.

Depois de começar a usar as extensões da CLI (e comece a cair no uso de objetos/alça/classes gerenciadas), você começa a interagir com a plataforma CLR subjacente com mais fortemente. Nesse ponto, essencialmente se torna um novo "idioma" e você terá que separar seu pensamento entre o lado "não gerenciado" e o lado "gerenciado".

C ++/CLI não é um superconjunto de C ++. É um subconjunto com adições. Por exemplo, C ++/CLI não suporta herança múltipla.

Angelo

Página 3 do livro de Marcus Heege 'especialista C ++/cli.net para os estados dos programadores visuais de C ++:

C ++/CLI é um conjunto de extensões feitas no idioma C ++ para se beneficiar dos serviços que uma implementação da CLI oferece.

E mais adiante na mesma página:

C ++/CLI é um superconjunto da linguagem C ++.

Seu excelente livro está disponível gratuitamente aqui.

Consegui compilar a biblioteca QT inteira (que é enorme) como C ++/CLI com menor Modificações (principalmente no ambiente de construção, mas também corrigiu um bug no código -fonte QT)

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