Elemar DEV

Tecnologia e desenvolvimento .net

C++/CLI 101 – Parte 1 – Hello C++/CLI

Olá pessoal. Tudo certo?!

C++ é uma linguagem fantástica. Se você ainda não conhece, está ignorando uma linguagem amplamente utilizada em todos os ambientes computacionais conhecidos. Desejando aprender, aqui mesmo no blog, há uma série tratando dos aspectos fundamentais da linguagem.

Hoje, começo a mostrar uma especificação paralela para C++. Trata-se da CLI – uma especificação definida pela Microsoft para desenvolvimento com .NET que serve como fundamento para CX (especificação para Windows 8).

O que é C++/CLI?

C++/CLI está definida na ECMA-372. Trata-se de um conjunto de extensões para C++ que habilitam a linguagem para o desenvolvimento com .NET.

Foi projetada visando os seguintes objetivos:

  1. Prover uma sintaxe limpa e familiar para desenvolvedores C++;
  2. Prover suporte nativo para CLI – propriedades, eventos, garbage collection, generics;
  3. Manter suporte para features comuns do C++ – deterministic destruction, templates – para todos os tipos, incluindo os definidos na CLI;
  4. Manter compatibilidade com programas C++;

Começando um projeto C++/CLI

No Visual Studio, inicie um novo projeto selecionando um dos templates presentes em C++ > CLR.

image

Para o post de hoje, criarei um “CLR Empty Project”.

Hello World!

Como primeiro programa com CLI, o mais trivial dos exemplos:

Pegou a idéia? Considere:

  • #using está “referenciando” mscorlib.dll.
  • using namespace continua sendo utilizado em seu conceito original (veja a parte 3 da série sobre C++)

Hello World, again

Vamos andar um pouco mais. Veja:

Observe:

  • Dessa vez, usamos uma classe;
  • GreetAgent é uma “ref class”;
  • O caret (^) denota “handle to..” – é usado para todo objeto desejamos adicionar ao heap gerenciado do .net;
  • Em CLI, todas as strings são System.String;
  • gcnew aloca objetos no heap e é o operador padrão para instanciar objetos em C++/CLI.

Hello World com ValueTypes

Agora, uma versão com struct

Era isso.

2 Comments on “C++/CLI 101 – Parte 1 – Hello C++/CLI

  1. alexsandro_xpt
    08/07/2012

    Muito bom Elemar, estou adorando a serie C++.

  2. Pingback: C++/CLI 101 – Parte 2 – Mesclando código nativo e gerenciado « Elemar DEV

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

Você está comentando usando sua conta WordPress.com. Sair / Mudar )

Imagem do Twitter

Você está comentando usando sua conta Twitter. Sair / Mudar )

Foto do Facebook

Você está comentando usando sua conta Facebook. Sair / Mudar )

Conectando a %s

Informação

Publicado às 08/07/2012 por em Post e marcado , , .

Estatísticas

  • 427,557 hits
%d bloggers like this: