Ambiente de Desenvolvimento Integrado: Desenvolvimento de C/C++ com a Plataforma Eclipse

Como usar o C/C++ Development Toolkit (CDT)

Aprenda como usar o C/C++ Development Toolkit (CDT), o melhor kit de ferramentas C/C++ do ambiente de desenvolvimento integrado disponível para o Eclipse. E obtenha uma visão geral de como usar a Plataforma Eclipse, um ambiente de desenvolvimento integrado para projetos de desenvolvimento em C e C++.

Pawel Leszek, Independent Software Consultant, Freelance

Pawel Leszek, um autor do Studio B, é consultor de software independente e um autor especializando-se em arquitetura e administração de sistema Linux/Win/Mac OS. Ele possui experiência com muitos sistemas operacionais, linguagens de programação e protocolos de rede, principalmente o Lotus Domino e o DB2. Pawel é também o autor de uma série de artigos para LinuxWorld e um colunista de Linux para a edição polonesa da PC World. Pawel mora em Varsóvia com sua esposa e doce filhinha. Perguntas e comentários são bem-vindos; envie e-mail diretamente ao autor em pawel.leszek@ipgate.pl.



27/Jun/2006 (Primeira publicação 22/Abr/2003)

Nota do Editor: Uma versão atualizada deste artigo, intitulada " Desenvolvendo Aplicativos Usando o C/C++ Development Toolkit do Eclipse", foi publicada em julho de 2007. Esta versão original permanecerá disponível para propósito de referência. Leia o novo artigo para obter as informações mais recentes sobre como usar a C++ Standard Template Library (STL) e o Eclipse C/C++ Development Toolkit (CDT).

As linguagens C e C++ estão entre as linguagens de programação mais populares e amplamente usadas no mundo, portanto, não é surpreendente que a Plataforma Eclipse forneça suporte para desenvolvimento em C/C++. Como a Plataforma Eclipse é somente uma estrutura para as ferramentas de desenvolvedor, não suporta C/C++ diretamente; usa plug-ins externos para suporte. Este artigo mostra como usar o CDT -- um conjunto de plug-ins para desenvolvimento em C/C++. O Projeto CDT (consulte Recursos) está trabalhando para fornecer um Ambiente de Desenvolvimento Integrado (IDE) do C/C++ totalmente funcional para a Plataforma Eclipse. Apesar de o foco do projeto estar no Linux® , funciona em todos os ambiente onde as ferramentas de desenvolvedor GNU estão disponíveis, incluindo Win32 (Windows® 95/98/Me/NT/2000/XP), QNX Neutrino e plataformas Solaris.

O CDT é um projeto de software livre (licenciado sob a Licença Pública Comum) implementado puramente na linguagem de programação Java como um conjunto de plug-ins para o SDK da Plataforma Eclipse. Esses plug-ins incluem uma Perspectiva C/C++ no Ambiente de Trabalho do Eclipse que agora pode suportar desenvolvimento em C/C++ com diversas visualizações e assistentes, juntamente com suporte avançado para edição e depuração.

Devido à sua complexidade, o CDT é dividido em diversos componentes que têm o formato de plug-ins separados. Cada componente opera como um projeto autônomo, com seu próprio conjunto de categorias e listas de correspondência. No entanto, todos os plug-ins são necessários para que o CDT funcione corretamente. Segue uma lista completa dos plug-ins/componentes do CDT:

  • Plug-in Primary CDT é o plug-in de "estrutura" do CDT.
  • CDT Feature Eclipse é o Componente CDT Feature.
  • CDT Core fornece os Componentes Core Model, CDOM e Core.
  • CDT UI é a UI, as visualizações, os editores e assistentes do Core.
  • CDT Launch fornece o mecanismo de ativação para ferramentas externas, como o compilador e o depurador.
  • CDT Debug Core fornece funções de depuração.
  • CDT Debug UI fornece a interface com o usuário para os editores, visualizações e assistentes de depuração do CDT.
  • CDT Debug MI é o conector do aplicativo para depuradores compatíveis com MI.

Agora, vamos ver como você pode colocar esses componentes para funcionarem em aplicativos reais. A Figura 1 mostra um projeto C/C++ no Eclipse:

Figura 1. Editando um Projeto C/C++ no Eclipse com Plug-in do CDT
Figura 1. Editando um Projeto C/C++ no Eclipse com Plug-in do CDT

Instalando e Executando o CDT

Antes de fazer download e instalar o CDT, você deve primeiro assegurar que tenha o GNU C compiler (GCC) e todas as ferramentas que o acompanham (make, binutils, GDB) disponíveis. Se você estiver executando o Linux, simplesmente instale os pacotes de desenvolvimento usando o gerenciador de pacotes apropriado para sua distribuição. No Windows, será necessário instalar o kit de ferramentas Cygwin (consulte Recursos). Cygwin é um ambiente semelhante ao UNIX® para Windows que inclui uma porta GCC, juntamente com todas as ferramentas de desenvolvimento necessárias, incluindo automake e o GNU Debugger (GDB). Cygwin é construído em torno da biblioteca cygwin1.dll . A solução alternativa para o Cygwin é o Minimalist GNU para Windows (MinGW) (consulte Recursos). Essa é uma coleta de arquivos de cabeçalho específicos do Windows disponíveis gratuitamente e distribuíveis gratuitamente e bibliotecas de importação combinadas com conjuntos de ferramentas GNU que permitem produzir programas Windows nativos que não dependem de nenhuma DLL de terceiros. O MinGW é sua melhor opção se quiser criar aplicativos do Windows que são compatíveis com POSIX. O MinGW pode até funcionar sobre uma instalação do Cygwin. Solaris e QNX requerem download e instalação se seus GCC, GNU Make binutils e portas GDB específicos (consulte Recursos).

Supõe-se que você tenha o Java SDK/JRE e o SDK da Plataforma Eclipse apropriados instalados e que eles estejam em execução sem problemas. O CDT está disponível em duas opções, como releases estáveis e construções noturnas. As construções noturnas não foram testadas integralmente, mas oferecem mais recursos e corrigem erros atuais. Antes da instalação, verifique se a versão anterior do CDT existe em seu disco e, se existir, certifique-se de removê-la completamente. Como não há nenhum desinstalador disponível para o CDT, precisará fazer isso manualmente. Para verificar se existe uma versão anterior, vá para o diretório onde residem os plug-ins do CDT: eclipse/plugins. Em seguida, remova todos os diretórios iniciados pelo nome org.eclipse.cdt. A última coisa que precisará fazer é remover os diretórios de metadados or.eclipse.cdt.* de workspace/.metadata/.plugins e features.

A próxima etapa é fazer download dos binários do CDT. Tome cuidado para fazer download do CDT correto para seu sistema operacional. Infelizmente, o CDT não é independente da plataforma, mesmo sendo escrito em Java. Em seguida, descompacte os archives em um diretório temporário e mova todo o conteúdo do diretório de plug-in de lá para o subdiretório plugins do Eclipse. Também será necessário mover o conteúdo do diretório features para o subdiretório features do Eclipse. Agora reinicie o Eclipse. Após o Eclipse ser iniciado novamente, o gerenciador de atualização indicará que localizou mudanças e solicitará que você confirme as mesmas. Agora, você poderá ver que dois novos projetos estão disponíveis: C e C++.


Criando Novos Projetos

Após instalar o CDT no Eclipse, navegue até Arquivo > Novo > Projeto, onde você encontrará três novos tipos de projetos disponíveis: C ("Projeto Make C Padrão"), C++ ("Projeto Make C++ Padrão") e "Converter para Projetos C ou C++". Inicie com o "Projeto Make C++ Padrão" para criar arquivos de código de origem para seu projeto. Na Visualização Projetos C/C++, clique com o botão direito do mouse e selecione Novo > Simples > Arquivo. Denomine seu arquivo e salve-o. Você provavelmente criará muitos arquivos para cabeçalho e arquivos de código de implementação C/C++ dessa forma. O último, é claro, é o makefile, que será usado pelo GNU Make para a construção de binários. Use a sintaxe normal do GNU make para esse makefile (consulte Recursos). Lembre-se de que makefiles requerem que você faça linhas indentadas usando o caractere de tabulação, não espaços.

Você irá mais frequentemente importar código de origem existente para o Eclipse (consulte a Figura 2). O CDT oferece uma maneira fácil de executar essa operação, usando o assistente Importar para copiar arquivos e um diretório de sistema de arquivos para o Ambiente de Trabalho. Vá para a barra de menu principal e selecione Arquivo > Importar > Sistema de Arquivos. Clique em Avançar e abra o diretório de origem e selecione os diretórios a partir dos quais você gostaria de incluir arquivos. Clique em Selecionar Tudo para selecionar todos os recursos no diretório e, em seguida, verifique e cancele a seleção daqueles que você não deseja incluir. Especifique o projeto ou pasta do Ambiente de Trabalho que será o destino da importação. Também é possível importar pastas e arquivos arrastando-os do sistema de arquivos e soltando-os na visualização do Navegador ou copiando e colando.

Figura 2. Importando Código de Origem Existente para um Projeto CDT
Figura 2. Importando Código de Origem Existente para um Projeto CDT

Recursos Chave do IDE do CDT

O IDE do CDT é construído em torno de um editor extensível universal fornecido pelo plug-in CDT UI. Esse módulo ainda está em desenvolvimento, no entanto; portanto, ainda estão faltando alguns utilitários importantes, como um navegador de classes ou um navegador de documentação de idioma. Os principais recursos do IDE do CDT são:

  • Realce da sintaxe -- O IDE do CDT reconhece a sintaxe do C/C++ e fornece realce da sintaxe com colorização e formatação de código totalmente configuráveis:
Figura 3. Marca de Erro de Sintaxe Realçada após Compilação Mal Sucedida
Figura 3. Marca de Erro de Sintaxe Realçada após Compilação Mal Sucedida
  • Estrutura de tópicos O módulo da janela Estrutura de Tópicos fornece uma visualização rápida sobre procedimentos, variáveis, declarações e funções que aparecem no código de origem. Com a estrutura de tópicos, você pode facilmente ir para a referência apropriada no código de origem ou até mesmo procurar todo o código de origem do projeto.
  • Assistente de código -- Esse recurso de conclusão de código é semelhante aos encontrados no Borland C++ Builder ou MS Visual Studio. Usa modelos de código e simplesmente ajuda a evitar erros de sintaxe bobos:
Figura 4. Recurso de Assistente de Código Ajuda a Usar Sintaxe de Linguagem Apropriada
Figura 4. Recurso de Assistente de Código Ajuda a Usar Sintaxe de Linguagem Apropriada
  • Modelos de código -- Os modelos de código, que são usados pelo recurso de assistente de código, são definições de construções sintáticas da linguagem C/C++ padrão. Você também pode definir seus próprios modelos de código para expandir seus próprios atalhos, como para as palavras-chave author ou date . Em Janela > Preferências > C/C++ > Modelos de Código, é possível incluir novos modelos e visualizar a lista integral de modelos. Modelos também podem ser exportados e importados como arquivos XML.
Figura 5. Modelos de Código C/C++ Predefinidos
Figura 5. Modelos de Código C/C++ Predefinidos
  • Histórico do código -- Mesmo se você não usar CVS ou outro software de gerenciamento de versão de código de origem, é possível rastrear mudanças locais no código de origem de um projeto. Clique com o botão direito do mouse no arquivo selecionado e escolha Comparar a > Histórico Local... no menu de contexto:
Figura 6. Verificando as Mudanças no Código de Origem com a Função de Histórico Local
Figura 6. Verificando as Mudanças no Código de Origem com a Função de Histórico Local

Construindo e Executando Projetos

CDT oferece uma maneira fácil de configurar opções de construção de projeto. CDT depende de três ferramentas GNU: GCC, GDB e Make. Portanto, as dependências de GDB para depuração ou de GCC e Make para compilação requerem que esses aplicativos estejam disponíveis para a plataforma que o usuário deseja usar. A maioria dos pacotes de código de origem do Linux (e, em geral, semelhante a POSIX) usa o script autoconf para verificar o ambiente de construção, portanto, é necessário executar o comando configure , que cria o "Makefile" antes da compilação. CDT não oferece uma maneira para editar os scripts autoconf, portanto, é necessário escrevê-los manualmente. No entanto, é possível configurar opções de construção para chamar o comando configure antes da compilação.

Se você construir um projeto chamando o comando make , as configurações padrão estão ok, mas se você usar uma maneira mais complicada, é necessário inserir o comando apropriado (por exemplo, make -f make_it_all) na caixa de texto Construir Comando. Em seguida, na Visualização Projetos C/C++, selecione Projeto C/C++, em seguida, clique com o botão direito do mouse e selecione Reconstruir Projeto. Todas as mensagens de compilação vindas do make, do compilador e do vinculador são redirecionadas para a janela do console:

Figura 7. Janela do Console com Saída do Compilador
Figura 7. Janela do Console com Saída do Compilador

Após a compilação bem-sucedida, você provavelmente irá querer executar seu aplicativo. Todas as opções para execução e depuração estão localizadas sob o menu Executar no menu principal do Eclipse. No entanto, as opções para executar um projeto devem ser definidas anteriormente. Você pode fazer isso indo para a opção Executar... no menu principal onde há diferentes perfis para execução de aplicativos; por exemplo, é possível usar um perfil para propósitos de testes e o outro para executar a versão final. Além disso, é possível definir os argumentos que você deseja passar para um aplicativo ou você pode configurar as variáveis de ambiente. As outras opções são para configurar as opções de depuração, como qual depurador usar (GNU GDB ou Cygwin GDB). A Figura 8 mostra um perfil de execução sendo criado para um projeto.

Figura 8. Criando um Perfil de Execução para seu Projeto
Figura 8. Criando um Perfil de Execução para seu Projeto

Opções gerais adicionais para a construção de projetos estão disponíveis quando você entra na Visualização Projetos C/C++, seleciona seu projeto e clica com o botão direito do mouse e seleciona Propriedades na guia Configurações da Construção. Essas opções afetam principalmente o que ocorre quando uma construção para quando um erro de compilação é encontrado.


Depurando Projetos C/C++

CDT estende a Visualização Depuração do Eclipse padrão com funções para depurar código C/C++. A Visualização Depuração permite gerenciar a depuração ou execução de um programa no Ambiente de Trabalho. Para iniciar a depuração do projeto atual, simplesmente alterne para a Visualização Depuração e você poderá configurar (e alterar a qualquer tempo durante a execução) pontos de interrupção/watchpoints no código e rastrear variáveis e registros. A Visualização Depuração exibe a estrutura de pilha para os encadeamentos suspensos para cada destino que você está depurando. Cada encadeamento de seu programa aparece como um nó na árvore e a Visualização de Depuração exibe o processo para cada destino que você está executando.

O Eclipse suporta depuradores compatíveis com Machine Interface (MI) através de um de seus componentes: o plug-in CDT Debug MI. Mas o que é exatamente um depurador de MI? Tradicionalmente, depuradores de GUI de terceiros, como ddd e xxgdb (consulte Recursos) dependem da Command Line Interface (CLI) do GDB ao implementar a funcionalidade de depuração. Infelizmente, essa interface tem comprovado ser altamente não confiável. GDB/MI fornece uma nova interface orientada a máquina que é muito mais adequada para programas que desejam analisar a saída do GDB diretamente.


Conclusão

O C/C++ Development Toolkit (CDT) fornece um conjunto potente de plug-ins que podem ajudá-lo a desenvolver aplicativos C/C++ com o Eclipse. Apesar de o CDT ainda estar em desenvolvimento, você pode tirar proveito de muitos de seus recursos hoje.

Recursos

Aprender

  • Junte-se à comunidade Eclipse e faça download da Eclipse.org. O código de origem do Eclipse está licenciado sob a Licença Pública Comum. Também é possível localizar um glossário de termos e descrições de projetos do Eclipse, juntamente com artigos técnicos e grupos de notícias.
  • O Projeto CDT usa Eclipse Bugs como seu sistema de controle de erros e recursos. Inserir um relatório de erro/recurso é tão simples quanto preencher um formulário da Web.
  • Para um artigo de introdução sobre o Eclipse e como ele funciona, leia " Working the Eclipse Platform" de Greg Adams e Marc Erickson.
  • Para começar a desenvolver aplicativos usando o Eclipse, leia " Introdução à Plataforma Eclipse" de David Gallardo.
  • Se estiver interessado na criação de seus próprios plug-ins do Eclipse, leia " Desenvolvendo Plug-ins do Eclipse."
  • Saiba mais sobre a sintaxe de GNU make na gnu.org.
  • Aprenda sobre uma extensão para as ferramentas do IBM WebSphere Studio que fornece informações e recursos para ajudá-lo a trabalhar com elas. Como todas as ferramentas do WebSphere Studio são baseadas no WebSphere Studio Workbench e o Workbench é baseado na estrutura do Eclipse, é fácil estender a documentação do produto usando os recursos de extensão da ajuda do Eclipse. Leia " Adding Self-Help Support to WebSphere Studio Tools by Extending their Eclipse Help Systems."
  • Expanda suas qualificações no Eclipse visitando, no IBM developerWorks, Recursos do Projeto Eclipse.
  • Navegue por todo o Conteúdo do Eclipse em developerWorks.
  • Visite Zona de Software Livre do developerWorks para obter informações extensivas sobre como executar ações, sobre ferramentas e atualizações de projetos para ajudá-lo a se desenvolver com tecnologias de software livre e usá-las com produtos IBM.
  • Fique atualizado com Eventos Técnicos e Webcasts do developerWorks.

Obter produtos e tecnologias

Discutir

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Software livre, Linux
ArticleID=382633
ArticleTitle=Ambiente de Desenvolvimento Integrado: Desenvolvimento de C/C++ com a Plataforma Eclipse
publish-date=06272006