Skip to content

Archives

  • Janeiro 2022
  • Dezembro 2021
  • Novembro 2021
  • Outubro 2021
  • Setembro 2021

Categories

  • Sem categorias
Trend RepositoryArticles and guides
Articles

Eclipse 4.3 (Kepler) para Programação C/C++

On Novembro 9, 2021 by admin

Eclipse é um Ambiente de Desenvolvimento Integrado (IDE) open-source, suportado pela IBM. O site mãe é @ www.eclipse.org. O Eclipse é popular para o desenvolvimento de projetos Java. Ele também suporta C/C++, PHP, Python, Perl, e outros desenvolvimentos de projetos web via plug-ins extensíveis. Eclipse é multi-plataforma e roda sob Windows, Linux e Mac OS.

  • Como instalar a Ferramenta de Desenvolvimento Eclipse C/C++ (CDT) 8.1.2 para Eclipse 4.2.2 (Juno)
  • Escrevendo seu Primeiro Programa C/C++ no Eclipse
  • C++ Programa
  • C Programa
  • C++ Programa com Makefile
  • Ler a Documentação
  • Debugging C/C++ Programs in Eclipse CDT
  • Tips &Truques
  • C/C++ Desenvolvimento de Software Usando GCC
  • Arquivo I/O no Eclipse

Como instalar a Ferramenta de Desenvolvimento Eclipse C/C++ (CDT) 8.1.2 para Eclipse 4.2.2 (Juno)

Passo 0: Instalar MinGW GCC ou Cygwin GCC

Para usar o Eclipse para programação C/C++, você precisa de um compilador C/C++. No Windows, você pode instalar o MinGW GCC ou o Cygwin GCC. Escolha MinGW se você não tem certeza, porque o MinGW é mais leve e fácil de instalar, mas tem menos recursos.

  1. MinGW GCC: Leia “Como instalar o MinGW”.
  2. Cygwin GCC: Leia “Como instalar o Cygwin”. Certifique-se que seleccionou “gcc“, “g++“, “gdb“, e “make” sob os pacotes “Devel“. Categoria (Desenvolvimento) – estes pacotes não fazem parte da instalação padrão.
Passo 1: Instale a ferramenta de desenvolvimento Eclipse C/C++ (CDT)

Duas maneiras de instalar CDT, dependendo se você já instalou um Eclipse anteriormente:

  1. Se você já instalou “Eclipse para Desenvolvedores Java” ou outros pacotes Eclipse, você pode instalar o plug-in CDT da seguinte forma:
    Launch Eclipse ⇒ Ajuda ⇒ Instalar Novo Software ⇒ No campo “Work with”, desça o menu suspenso e selecione “Kepler – http://download.eclipse.org/releases/kepler”. (ou juno para o Eclipse 4.2; ou helios para o Eclipse 3.7).
    Na caixa “Name”, expandir o nó “Programming Language” ⇒ Verifique “C/C++ Development Tools” ⇒ “Next” ⇒ … ⇒ “Finish”.
  2. Se você não tiver instalado nenhum pacote Eclipse, você pode baixar “Eclipse IDE for C/C++ Developers” de http://www.eclipse.org/downloads, e descompactar o arquivo baixado em um diretório de sua escolha.
Passo 2: Configuração

Você NÃO precisa fazer nenhuma configuração, desde que os binários Cygwin ou MinGW estejam incluídos na variável de ambiente PATH. CDT procura no para descobrir os compiladores C/C++.

Escrevendo seu Primeiro Programa C/C++ no Eclipse

C++ Programa

Passo 0: Iniciar Eclipse
  1. Inicie o Eclipse executando “eclipse.exe” no diretório instalado do Eclipse.
  2. Selecione um diretório apropriado para seu espaço de trabalho (ou seja onde você gostaria de salvar seus trabalhos).
  3. Se a tela de “boas-vindas” aparecer, feche-a clicando no botão “fechar”.
Passo 1: Criar um novo Projeto C++

Para cada aplicação C++, você precisa criar um projeto para manter todos os códigos fonte, arquivos objeto, arquivos executáveis e recursos relevantes.

Para criar um novo projeto C++:

  1. Escolha o menu “Arquivo” ⇒ “Novo” ⇒ Projeto… ⇒ C/C+++ ⇒ C+++ project.
  2. O diálogo “C+++ Project” aparece.
    1. No campo “Project name”, insira “FirstProject“.
    2. Na caixa “Project Types”, selecione “Executable” ⇒ “Empty Project”.
    3. Na caixa “Toolchains”, escolha o seu compilador, por exemplo “Cygwin GCC” ou “MinGW GCC” ⇒ Next.
  3. A caixa de diálogo “Select Configurations” aparece. Seleccione “Debug” e “Release” ⇒ Finish.
Passo 2: Escreva um Programa Hello-world C++
  1. No “Project Explorer” (painel mais à esquerda) ⇒ Clique com o botão direito do rato em “FirstProject“. (ou use o menu “File”) ⇒ Novo ⇒ Source File.
  2. O diálogo “New Source File” aparece.
    1. No campo “Source file”, introduza “Hello.cpp“.
    2. Clique em “Finish”.
  3. O ficheiro fonte “Hello.cpp” abre-se no painel do editor (clique duas vezes em “test.cpp” para abrir se necessário). Introduza os seguintes códigos:
    #include <iostream>using namespace std; int main() { cout << "Hello, world!" << endl; return 0;}
Se “Unresolved Inclusion Error”

Se o erro “unresolved inclusion” aparecer ao lado da instrução #include, a instrução “include paths for headers” não está definida correctamente. Seleccione “Project” menu ⇒ Propriedades ⇒ C/C++ Geral ⇒ Caminhos e Símbolos ⇒ Em “Includes” tab:

Para Cygwin GCC:

  1. “Add” os seguintes directórios para “GNU C”, onde $CYGWIN_HOME é o seu directório Cygwin instalado:
    • $CYGWIN_HOME\lib\gcc\i686-pc-cygwin.5.x\include
    • $CYGWIN_HOME\lib\gcc\i686-pc-cygwin.5.x\include-fixed
    • $CYGWIN_HOME\usr\include
    • $CYGWIN_HOME\usr\include\w32api
  2. “Adicionar” os seguintes directórios ao “GNU C++”, onde $CYGWIN_HOME é o seu directório Cygwin instalado:
    • $CYGWIN_HOME\lib\gcc\i686-pc-cygwin.5.x\include\c++
    • $CYGWIN_HOME\lib\gcc\i686-pc-cygwin.5.x\include\c++\i686-pc-cygwin
    • $CYGWIN_HOME\lib\gcc\i686-pc-cygwin.5.x\include\c++\backward
    • $CYGWIN_HOME\lib\gcc\i686-pc-cygwin.5.x\include
    • $CYGWIN_HOME\lib\gcc\i686-pc-cygwin.5.x\include-fixed
    • $CYGWIN_HOME\usr\include
    • $CYGWIN_HOME\usr\include\w32api

Para MinGW GCC:

  1. “Adicionar” os seguintes directórios ao “GNU C”, onde $MINGW_HOME é o seu directório MinGW instalado:
    • $MINGW_HOME\lib\gcc\mingw32.6.x\include
    • $MINGW_HOME\include
    • $MINGW_HOME\lib\gcc\mingw32.6.x\include-fixed
  2. “Adicione” os seguintes diretórios ao “GNU C++”, onde $MINGW_HOME é o seu diretório instalado do Cygwin:
    • $MINGW_HOME\lib\gcc\mingw32.6.x\include\c++
    • $MINGW_HOME\lib\gcc\mingw32.6.x\include\c++\mingw32
    • $MINGW_HOME\lib\gcc\mingw32.6.x\include\c++\backward
    • $MINGW_HOME\lib\gcc\mingw32.6.x\include
    • $MINGW_HOME\include
    • $MINGW_HOME\lib\gcc\mingw32.6.x\include-fixed

NOTE: Para encontrar os caminhos de cabeçalho, você pode fazer uma busca em cabeçalhos como “stdio.h“. (para C) e “iostream“. (para C+++) sob o diretório instalado Cygwin ou MinGW.

Nota: Se você encontrar “erro ao carregar bibliotecas compartilhadas” durante o link. Instale “libmpfr4” no cygwin.
Passo 3: Compilar/Build

Clique com o botão direito do rato no “FirstProject“. (ou use o menu “Project”) ⇒ escolha “Build Project” para compilar e ligar o programa.

Passo 4: Executar

Para executar o programa, clique com o botão direito do rato sobre o “FirstProject“. (ou em qualquer lugar na fonte “test.cpp“, ou selecione o menu “Run”) ⇒ Run As ⇒ Local C/C++ Application ⇒ (Se perguntar, escolha o depurador gdb do Cygwin) ⇒ A saída “Hello, world!” aparece no painel “Console”.

NOTE: Você precisa criar um novo projeto C++ para CADA um dos seus problemas de programação. Isto é confuso para escrever programas de brinquedo!

C Programa

Seguir os mesmos passos que os anteriores. Crie um “Projeto C” (ao invés de “Projeto C++”). Tente o seguinte programa Hello-world (chamado “Hello.c“).

#include <stdio.h> int main() { printf("Hello, world!\n"); return 0;}

C++ Programa com Makefile

Nos exemplos anteriores, usamos o chamado managed-make onde o Eclipse gerou automaticamente um makefile para construir o programa. Também podemos escolher escrever nosso próprio makefile para controle completo do processo de construção.

Passo 1: Criar um Projeto C++ Makefile

Do menu “File” ⇒ Novo Projeto ⇒… ⇒ C/C+++ ⇒ Projeto C++ ⇒ Em “Project name”, digite “HelloCppMakefile“. ⇒ Em “Project type”, escolha “Makefile Project”, “Empty Project” ⇒ Em “Toolchains”, escolha “Cygwin GCC” ou “MinGW GCC”. Ignore a mensagem de aviso.

Passo 2: Escreva um Programa C++

Clique com o botão direito do rato no projecto ⇒ Novo ⇒ Ficheiro Fonte ⇒ Em “Ficheiro Fonte”, introduza “Hello.cpp“. ⇒ Introduza os seguintes códigos fonte:

#include <iostream>using namespace std; int main() {cout << "Hello, world!" << endl;return 0;}
Passo 3: Escreva um Makefile

Clique com o botão direito do rato no projecto ⇒ Novo ficheiro ⇒ Em “Nome do ficheiro”, introduza “makefile“. ⇒ Digite os seguintes códigos. Note que você precisa usar um separador (NÃO Espaços) para o travessão.

all: Hello.exe clean:rm Hello.o Hello.exe Hello.exe: Hello.og++ -g -o Hello.exe Hello.o Hello.o: Hello.cppg++ -c -g Hello.cpp
Passo 4: Construir o Projeto

Clicar direito no projeto ⇒ Construir Projeto.

Passo 5: Executar o Programa

Clicar direito no projeto ⇒ Executar Como ⇒ Aplicação Local C/C++.

Escreva um makefile para compilar programas de brinquedos sob um projeto.

Ler a Documentação

No mínimo, você DEVERÁ navegar pelo “Workbench User Guide” e “C/C++ Development User Guide” do Eclipse – acessível através da página “Welcome” ou do menu “Help” do Eclipse. Isto irá poupar-lhe muitas horas agonizando tentando descobrir como fazer algumas coisas mais tarde.

Debugging C/C++ Programs in Eclipse CDT

Able to use a graphics debugger to debug program is crucial in programming. Pode poupar-lhe inúmeras horas adivinhando o que correu mal.

Passo 0: Escrever um programa em C++ – O programa seguinte calcula e imprime o factorial de n (=1*2*3*...*n). O programa, entretanto, tem um erro lógico e produz uma resposta errada para n=20 (“The Factorial of 20 is -2102132736” – um número negativo?!).

1234567891011121314
#include <iostream>using namespace std; int main() { int n = 20; int factorial = 1; // n! = 1*2*3...*n for (int i = 1; i <= n; i++) { factorial *= i; } cout << "The Factorial of " << n << " is " << factorial << endl; return 0;}
The Factorial of 20 is -2102132736

Deixe-nos usar o depurador gráfico para depurar o programa.

Passo 1: Definir um ponto de parada inicial – Um ponto de parada suspende a execução do programa para que você examine os estados internos (por exemplo valor das variáveis) do programa. Antes de iniciar o depurador, você precisa definir pelo menos um ponto de parada para suspender a execução dentro do programa. Defina um ponto de parada em main() função clicando duas vezes na margem esquerda da linha contendo main(). Um círculo azul aparece na margem esquerda indicando que um ponto de interrupção está definido nessa linha.

Passo 2: Iniciar o Debugger – Clique com o botão direito do mouse no projeto (ou use o menu “Run”) ⇒ “Debug As” ⇒ “Local C/C++ Application” ⇒ escolha “Yes” para mudar para a perspectiva “Debug” (Uma perspectiva é um arranjo particular de painéis para se adequar a uma determinada tarefa de desenvolvimento, como edição ou depuração). O programa inicia a execução mas suspende sua operação no ponto de parada, ou seja, a main() function.

Como ilustrado no diagrama seguinte, a linha realçada (também apontada por uma seta azul) indica a declaração a ser executada no próximo passo.

Step 3: Step-Over and Watch the Variables and Outputs – Clique no botão “Step Over” (ou selecione “Step Over” no menu “Run”) para passar um único passo através do seu programa. Em cada um dos passos, examine o valor das variáveis (no painel “Variable”) e os outputs produzidos pelo seu programa (no painel “Console”), se houver. Você também pode colocar o cursor em qualquer variável para inspecionar o conteúdo da variável.

Single-stepping through the program and watching the values of internal variables and the outputs produced is the ultimate mean in debugging programs – porque é exatamente como o computador executa o seu programa!

Step 4: Breakpoint, Run-To-Line, Resume and Terminate – Como mencionado, um breakpoint suspende a execução do programa e permite que você examine os estados internos do programa. Para definir um ponto de parada em uma determinada instrução, clique duas vezes na margem esquerda daquela linha (ou selecione “Toggle Breakpoint” no menu “Run”).

“Resume” continua a execução do programa, até o próximo ponto de parada, ou até o final do programa.

“Single-step” através de um loop com uma grande contagem é demorado. Você pode definir um ponto de parada na instrução imediatamente fora do loop (por exemplo, Linha 12 do programa acima), e emitir “Resume” para completar o loop.

Alternativamente, você pode colocar o cursor sobre uma instrução em particular, e emitir “Run-To-Line” do menu “Run” para continuar a execução até a linha.

“Terminar” termina a sessão de depuração. Termine sempre a sua sessão de depuração atual usando “Terminar” ou “Retomar” até o final do programa.

Passo 5: Voltando à perspectiva C/C++ – Clique no ícone de perspectiva “C/C++” no canto superior direito para voltar à perspectiva “C/C++” para programação posterior (ou menu “Window” ⇒ Abrir perspectiva ⇒ C/C++).

Posso enfatizar mais que dominar o uso do depurador é crucial na programação. Explore os recursos fornecidos pelos depuradores.

Outros recursos do depurador

Modificar o valor de uma variável: Você pode modificar o valor de uma variável inserindo um novo valor no painel “Variável”. Isto é útil para modificar temporariamente o comportamento de um programa, sem alterar o código fonte.

Step-Into e Step-Return: Para depurar uma função, você precisa usar “Step-Into” para entrar na primeira declaração do método. Você pode usar “Step-Return” para retornar ao chamador, em qualquer lugar dentro do método. Alternativamente, você pode definir um ponto de interrupção dentro de um método.

NOTE: Se você receber a mensagem de erro “Can’t find a source file at /cygdrive/c…” durante a depuração, você precisa configurar um mapeamento entre “/cygdrive/c” e “c:/” (assumindo que o seu programa é mantido na unidade c. De “Window” ⇒ “Preferences” ⇒ “C/C++” ⇒ “Debug” ⇒ “Common Source Lookup Path”, seleccione “Add” ⇒ “Path Mapping”.

Tips &Truques

Ler Eclipse para as Dicas de Java &Truques para dicas gerais na utilização do Eclipse.

C/C++ Desenvolvimento de Software Usando GCC

  1. Você pode encontrar os comandos usados no CDT do Eclipse para construir o projeto em “<workspace>\.metadata\.plugins\org.eclipse.cdt.ui\global-build.log“.
  2. Configurando percursos de inclusão, percursos de biblioteca e bibliotecas: Ao construir o programa, o compilador precisa dos arquivos de cabeçalho para compilar os códigos-fonte; o linker precisa das bibliotecas para resolver referências externas. O compilador procura nos “caminhos de inclusão” pelos cabeçalhos especificados em #include diretivas. O linker procura no “library-paths” por “bibliotecas” necessárias para ligar o programa. No GCC, o caminho de inclusão é especificado via -Idir opção ou variável de ambiente CPATH. O caminho da biblioteca é especificado via -Ldir opção, ou variável de ambiente LIBRARY_PATH. A biblioteca libxxx.a é especificada via opção -lxxx (letra minúscula 'l', sem o prefixo lib e .a extensão).
    No CDT Eclipse, você pode definir os caminhos de inclusão, caminhos da biblioteca e bibliotecas clicando com o botão direito do mouse no projeto ⇒ Propriedades ⇒ C/C++ Geral ⇒ Caminhos e Símbolos ⇒ Em abas “Includes”, “Library Paths” e “Libraries”. As definições são aplicáveis apenas ao projecto seleccionado.
    Para definir os caminhos de inclusão e os caminhos da biblioteca para todos os projectos, defina as variáveis de ambiente CPATH e LIBRARY_PATH. No Eclipse, escolha “Window” ⇒ Preferences ⇒ C/C++ ⇒ Build ⇒ Environment.
    Alternatively, copie os cabeçalhos e bibliotecas para diretórios do sistema, e você pode omitir os caminhos de inclusão e caminhos de biblioteca.
  3. OpenGL com GLUT: Para o Cygwin, você precisa instalar gcc, g++, gdb, make (na categoria Devel) e opengl, freeglut (na categoria graphics). Os cabeçalhos gl.h, glu.h, glut.h são mantidos em $cygwin\usr\include\w32api\GL. Use #include <GL/gl__.h> para incluir os cabeçalhos. As bibliotecas libopengl32.a libglu32.a e libglut32.a são guardadas em $cygwin\lib\w32api. Para especificar estas bibliotecas no link, use -lopengl32 -lglu32 -lglut32 opções (sem o prefixo lib e extensão .a).
  4. OpenGL com SDL: Baixe o SDL de http://www.libsdl.org. Escolha Development Libraries ⇒ win32 ⇒ mingw32 ⇒ Unzip. Copie o diretório de cabeçalhos SDL (em include) para $cygwin\usr\include\w32api; copie todos os arquivos da biblioteca em lib para $cygwin\lib\w32api; copie a biblioteca em tempo de execução SDL.dll (em bin) para Windows/System32. No seu programa, inclua estes dois cabeçalhos: #include <SDL/sdl.h> e #include <SDL/sdl_opengl.h>. Para ligar, adicione estas bibliotecas: -lSDL -lSDLmain.
  5. #pragma Comment Directive: pragma comment directive, e.g., #pragma comment(lib, "opengl32.lib"), é frequentemente usada para incluir uma biblioteca em particular (o mesmo que -l opção). Esta diretiva dependente do sistema funciona no compilador do Windows, mas NÃO no GCC.
  6. Erro “múltiplos padrões de alvo”: Há um problema com o GNU make (em $Cygwin\bin\make.exe). Substituído por esta cópia @ http://www.cmake.org/files/cygwin/make.exe.
  7. fflush(stdout): A biblioteca gcc usa E/S em buffer (de acordo com a Especificação C). A saída só é escrita para o fluxo de saída após um novo caractere de linha. Você pode nivelar o output com um fflush().
  8. O nome do projeto não deve incluir a palavra “setup”: Se você nomear seu projeto C/C++ com um nome que inclua a palavra “setup“, então o resultado “*setup*.exe” irá acionar o UAC (User Authorization Control) e requer o direito de administrador para ser executado. (Isso me levou algumas horas para descobrir! Tente renomear um “hello.exe” para “mysetup.exe“.)

Arquivo I/O no Eclipse

Refer para Eclipse para o arquivo IO.

Deixe uma resposta Cancelar resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Arquivo

  • Janeiro 2022
  • Dezembro 2021
  • Novembro 2021
  • Outubro 2021
  • Setembro 2021

Meta

  • Iniciar sessão
  • Feed de entradas
  • Feed de comentários
  • WordPress.org
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress