{"id":24,"date":"2008-05-17T23:09:00","date_gmt":"2008-05-17T23:09:00","guid":{"rendered":"http:\/\/filipesaraiva.info\/blog\/?p=24"},"modified":"2008-05-17T23:09:00","modified_gmt":"2008-05-17T23:09:00","slug":"prepare-seu-eclipse-para-a-academia-passo-2-instalando-plugins-e-programando-em-cc","status":"publish","type":"post","link":"https:\/\/filipe.saraiva.tec.br\/blog\/?p=24","title":{"rendered":"Prepare seu Eclipse para a academia! &#8211; Passo 2: Instalando Plugins e Programando em C\/C++"},"content":{"rendered":"<div style=\"text-align: justify;\">Esta s\u00e9rie de artigos visa preparar sua IDE Eclipse para as diferentes disciplinas relacionadas com programa\u00e7\u00e3o, que voc\u00ea poder\u00e1 encontrar nos cursos de computa\u00e7\u00e3o da vida. No <a href=\"http:\/\/liberdadenafronteira.blogspot.com\/2008\/05\/prepare-seu-eclipse-para-academia.html\">artigo anterior<\/a> vimos como instalar a IDE e um r\u00e1pido &#8220;Hello World&#8221; em Java, o suficiente para sabermos se est\u00e1 tudo Ok.<\/div>\n<div style=\"text-align: justify;\">Neste 2\u00ba passo, iremos configurar o Eclipse para programar em C\/C++, aprender a instalar plugins (os respons\u00e1veis pela grande versatilidade da ferramenta), al\u00e9m de uma r\u00e1pida discuss\u00e3o sobre o Paradigma Estruturado e o GCC. O artigo tamb\u00e9m mostrar\u00e1 como se compila em C\/C++ <span style=\"font-weight: bold;\">sem sair do Eclipse <\/span>&#8211; acreditem, algo dif\u00edcil de se encontrar pela Internet&#8230;<\/p>\n<p><span style=\"font-weight: bold;\">Instala\u00e7\u00e3o de Plugins<\/p>\n<p><\/span>A instala\u00e7\u00e3o de plugins no Eclipse \u00e9 bastante f\u00e1cil. Existe uma maneira de voc\u00ea baixar as extens\u00f5es pelo pr\u00f3prio Eclipse, onde ele faz o download e instala automaticamente. Por\u00e9m, para aqueles que n\u00e3o tem Internet em casa (ou tem &#8220;de escada&#8221;, como eu), voc\u00ea pode baixar os plugins em outro computador e traz\u00ea-los ao seu. Proceda da seguinte forma:<\/p>\n<ol>\n<li>Baixe os plugins que deseja. Ele vir\u00e1 em um arquivo compactado;<\/li>\n<li>Descompacte o arquivo. Haver\u00e1 uma pasta <span style=\"font-style: italic;\">plugins<\/span> e outra <span style=\"font-style: italic;\">features;<\/span><\/li>\n<li>Copie o conte\u00fado de <span style=\"font-style: italic;\">plugins <\/span>para dentro da pasta <span style=\"font-style: italic;\">plugins <\/span>do Eclipse; fa\u00e7a o mesmo com <span style=\"font-style: italic;\">features.<\/span><\/li>\n<\/ol>\n<p> Perceba que <span style=\"font-weight: bold;\">n\u00e3o <\/span>\u00e9 para substituir as pastas; voc\u00ea deve compiar o <span style=\"font-weight: bold;\">conte\u00fado <\/span>das pastas do plugin <span style=\"font-weight: bold;\">dentro<\/span> das respectivas pastas do Eclipse.<\/p>\n<p>Se voc\u00ea instalou o Eclipse atrav\u00e9s dos reposit\u00f3rios, procure-o no diret\u00f3rio <span style=\"font-weight: bold;\">\/usr\/lib\/eclipse<\/span>. J\u00e1 se voc\u00ea apenas fez o download da ferramenta, \u00e9 s\u00f3 ir na pasta onde voc\u00ea o descompactou.<br \/><span style=\"font-weight: bold;\"><br \/><\/span>Agora, um pouco sobre o Paradigma Estruturado.<\/p>\n<p><span style=\"font-weight: bold;\">O Paradigma Estruturado<\/p>\n<p><\/span>Na d\u00e9cada de 60, programar era uma atividade dif\u00edcil. As linguagens de programa\u00e7\u00e3o ainda eram pouco desenvolvidas, e as pr\u00f3prias pr\u00e1ticas de codifica\u00e7\u00e3o poder\u00edam tornar um programa inutilizado para futuras manuten\u00e7\u00f5es &#8211; isso quando ele n\u00e3o funcionava como esperado, onde poderia-se desperdi\u00e7ar longas horas de trabalho em algo que n\u00e3o dava para se aproveitar.<\/p>\n<p>Foi ent\u00e3o que surgiu, no decorrer dos esfor\u00e7os em pesquisa, o Paradigma Estruturado &#8211; uma abordagem disciplinada e r\u00edgida de escrever programas, de forma que os mesmos tornem-se mais claros, contribuindo a uma manuten\u00e7\u00e3o menos dispendiosa e facilmente test\u00e1veis e depur\u00e1veis.<\/p>\n<p>Existem tr\u00eas tipos de estruturas que definem uma linguagem estruturada: sequ\u00eancias, decis\u00f5es e itera\u00e7\u00e3o. Um programa pode ser constru\u00eddo apenas com estes tipos de fun\u00e7\u00f5es.<\/p>\n<p>O resultado disso foi o surgimento de linguagens de programa\u00e7\u00e3o que seguiam estas caracter\u00edsticas. Foi assim que foram desenvolvidas linguagens como <a href=\"http:\/\/pt.wikipedia.org\/wiki\/Pascal_%28linguagem_de_programa%C3%A7%C3%A3o%29\">Pascal<\/a>, <a href=\"http:\/\/pt.wikipedia.org\/wiki\/Ada_%28linguagem_de_programa%C3%A7%C3%A3o%29\">ADA<\/a> e <a href=\"http:\/\/pt.wikipedia.org\/wiki\/C_%28linguagem_de_programa%C3%A7%C3%A3o%29\">C<\/a>.<\/p>\n<p><span style=\"font-weight: bold;\">GCC e g++<\/p>\n<p><\/span>Um dos primeiros programas codificados por Stallman para o projeto GNU, o GNU Compiler Collection  &#8211; GCC &#8211; \u00e9 a base essencial para o estabelecimento do conceito e da comunidade de Software Livre nos anos 80. Roga a lenda que Stallman decidiu faz\u00ea-lo pois <span style=\"font-style: italic;\">&#8220;o primeiro passo para se ter Software Livre \u00e9 ter um Compilador Livre&#8221;<\/span>  &#8211; na verdade, n\u00e3o sei quem disse isso&#8230;<\/p>\n<p>GCC \u00e9 tido como um dos melhores compildores existentes. \u00c9 mantido por uma comunidade grande, e diz-se o compilador que suporta o maior n\u00famero de arquiteturas existente (fonte <a href=\"http:\/\/pt.wikipedia.org\/wiki\/G%2B%2B\">aqui<\/a>). Ele compila linguagens como C, C++, Fortran, Object-C e Pascal.<\/p>\n<p>Recomendo instalar o GCC para servir como compilador ao Eclipse. Instale tamb\u00e9m o suporte<span style=\"font-style: italic;\"> <\/span>para C++, o g++.<\/p>\n<p>Nas distros derivadas do Debian, digite no terminal, como root:<\/p>\n<div style=\"text-align: center;\"><span style=\"font-weight: bold;\"><br \/>apt-get install gcc g++<\/p>\n<p><\/span><\/p>\n<div style=\"text-align: justify;\">\n<div style=\"text-align: justify;\">O home do projeto \u00e9 <a href=\"http:\/\/gcc.gnu.org\/\">este<\/a>.<\/p>\n<p><span style=\"font-weight: bold;\">Plugin para C\/C++: CDT<\/p>\n<p><\/span>O C\/C++ Development Tooling &#8211; CDT &#8211; \u00e9 um bom plugin para programar estas linguagens no Eclipse. O site oficial \u00e9 <a href=\"http:\/\/www.eclipsecon.com\/cdt\/\">este<\/a>, onde tamb\u00e9m pode-se encontrar alguns artigos e tutoriais. Na <a href=\"http:\/\/www.eclipsecon.com\/cdt\/downloads.php\">p\u00e1gina de downloads<\/a> voc\u00ea deve escolher a vers\u00e3o compat\u00edvel com sua vers\u00e3o do IDE: se seu Eclipse for o 3.2, baixe a vers\u00e3o CDT 3.1.2; se for o Eclipse Europa, baixe a vers\u00e3o 4.0.x.<\/p>\n<p>A instala\u00e7\u00e3o segue o procedimento normal descrito anteriormente. Vamos agora configurar o Eclipse e fazer um &#8220;Hello World&#8221; em C.<\/p>\n<p><span style=\"font-weight: bold;\">Configurando o CDT<\/p>\n<p><\/span>Para come\u00e7ar, selecione <span style=\"font-style: italic;\">Window>>Preferences.<\/p>\n<p><\/span>Na janela, abra a aba <span style=\"font-style: italic;\">C\/C++>>Make>>New Make Projects. <\/span>Abrir\u00e1 um menu grande no lado direito<span style=\"font-style: italic;\">. <\/span>Configure-o como na imagem abaixo:<\/p>\n<p><a onblur=\"try {parent.deselectBloggerImageGracefully();} catch(e) {}\" href=\"http:\/\/4.bp.blogspot.com\/_iwbTQB1O1SI\/SC9-ufjZBMI\/AAAAAAAAAEc\/e4qRb-OysuM\/s1600-h\/Built-in+dialog+items6.png\"><img decoding=\"async\" style=\"margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;\" src=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2008\/05\/Built-in-dialog-items6.png\" alt=\"\" id=\"BLOGGER_PHOTO_ID_5201515431845233858\" border=\"0\" \/><\/a><br \/>Na aba <span style=\"font-style: italic;\">Binary Parser, <\/span>deixe marcado <span style=\"font-style: italic;\">Elf Parser <\/span>e <span style=\"font-style: italic;\">GNU Elf Parser. <\/span>Finalmente em <span style=\"font-style: italic;\">Discovery Options, <\/span>coloque em <span style=\"font-style: italic;\">Compiler invocation command <\/span>o gcc.<\/p>\n<div style=\"text-align: center;\"><a onblur=\"try {parent.deselectBloggerImageGracefully();} catch(e) {}\" href=\"http:\/\/1.bp.blogspot.com\/_iwbTQB1O1SI\/SC9_tvjZBNI\/AAAAAAAAAEk\/JXh5fNRSNIs\/s1600-h\/Built-in+dialog+items7.png\"><img decoding=\"async\" style=\"margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;\" src=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2008\/05\/Built-in-dialog-items7.png\" alt=\"\" id=\"BLOGGER_PHOTO_ID_5201516518471959762\" border=\"0\" \/><\/a><\/div>\n<\/div>\n<p><span style=\"font-weight: bold;\"><\/span><\/div>\n<\/div>\n<p><span style=\"font-weight: bold;\"><\/span><span style=\"font-weight: bold;\"><\/span><br \/>Agora, ap\u00f3s tudo configurado, vamos ao Hello World.<\/p>\n<p>V\u00e1 em <span style=\"font-style: italic;\">File>>New>>Other. <\/span>Selecione <span style=\"font-style: italic;\">C>>Managed Make C Project.  <\/span><br \/><span style=\"font-weight: bold;\"><br \/><\/span><\/p>\n<div style=\"text-align: center;\"><a onblur=\"try {parent.deselectBloggerImageGracefully();} catch(e) {}\" href=\"http:\/\/1.bp.blogspot.com\/_iwbTQB1O1SI\/SC-AqvjZBOI\/AAAAAAAAAEs\/J_XYynes9CI\/s1600-h\/Built-in+dialog+items8.png\"><img decoding=\"async\" style=\"margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;\" src=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2008\/05\/Built-in-dialog-items8.png\" alt=\"\" id=\"BLOGGER_PHOTO_ID_5201517566443980002\" border=\"0\" \/><\/a><\/div>\n<p>Tecle <span style=\"font-style: italic;\">Next <\/span>e, na pr\u00f3xima tela, digite o nome do projeto. Com outro <span style=\"font-style: italic;\">Next<\/span> voc\u00ea ir\u00e1 para uma tela de configura\u00e7\u00e3o. Escolha <span style=\"font-style: italic;\">Executable (GNU) <\/span>e tecle<span style=\"font-style: italic;\"> Finish.<\/p>\n<p><\/span>Espera-se que o Eclipse tenha tentado dar um build no projeto. O <span style=\"font-style: italic;\">Managed Make C Project <\/span>faz uma a\u00e7\u00e3o desse tipo toda vez que voc\u00ea salva o c\u00f3digo, facilitando seu trabalho.<\/p>\n<p>Clique com o bot\u00e3o direito do mouse sobre a pasta do projeto e selecione <span style=\"font-style: italic;\">New>>Source Folder<\/span>. D\u00ea um nome para a pasta e clique em<span style=\"font-style: italic;\"><span style=\"font-style: italic;\"> Finish. <\/span><\/span>Em seguida, bot\u00e3o direito sobre a pasta criada e selecione<span style=\"font-style: italic;\"><span style=\"font-style: italic;\"> New>>Source File. <\/span><\/span>Digite o nome do arquivo fonte e <span style=\"font-weight: bold;\">n\u00e3o esque\u00e7a<\/span> de colocar a extens\u00e3o (no caso, .c). Depois, <span style=\"font-style: italic;\">Finish.<\/span><\/p>\n<div style=\"text-align: center;\"><a onblur=\"try {parent.deselectBloggerImageGracefully();} catch(e) {}\" href=\"http:\/\/3.bp.blogspot.com\/_iwbTQB1O1SI\/SC-DGPjZBPI\/AAAAAAAAAE0\/l40dejqokHU\/s1600-h\/Built-in+dialog+items9.png\"><img decoding=\"async\" style=\"margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;\" src=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2008\/05\/Built-in-dialog-items9.png\" alt=\"\" id=\"BLOGGER_PHOTO_ID_5201520237913638130\" border=\"0\" \/><\/a><\/p>\n<div style=\"text-align: justify;\">Digite o seguinte c\u00f3digo:<\/p>\n<div style=\"text-align: justify;\">#include<stdio.h><\/p>\n<p>int main(){<\/p>\n<p>  printf(&#8220;Hello World!&#8221;);<br \/>  return 0;<br \/>}<\/p>\n<p>Uma dica: algumas vezes, o CDT indica que h\u00e1 um erro no final do arquivo, mesmo estando tudo correto. \u00c9 um pequeno bug. Ap\u00f3s colar o c\u00f3digo, d\u00ea alguns <span style=\"font-style: italic;\">Enter<\/span> ap\u00f3s a \u00faltima chave e salve (<span style=\"font-style: italic;\">Ctrl + S<\/span>). Ap\u00f3s o build, se aparecer no c\u00f3digo alguma linha errada, apague-a e salve novamente.<\/p>\n<p>Agora, v\u00e1 no diret\u00f3rio de pastas de projetos no lado esquerdo. Abra a pasta <span style=\"font-style: italic;\">Debug. <\/span>Dever\u00e1 haver um arquivo com o nome do arquivo fonte que voc\u00ea trabalhou. Clique com o bot\u00e3o direito do mouse sobre ele, escolha <span style=\"font-style: italic;\">Run As>>Run <\/span><span style=\"font-style: italic;\">Local <\/span><span style=\"font-style: italic;\">C\/C++ Application. <\/span>Se tudo estiver certo, a tela de console no Eclipse dar\u00e1 o Hello World, al\u00e9m de gerar os bin\u00e1rios do programa.<\/p>\n<p><\/stdio.h><\/p>\n<div style=\"text-align: center;\"><a onblur=\"try {parent.deselectBloggerImageGracefully();} catch(e) {}\" href=\"http:\/\/4.bp.blogspot.com\/_iwbTQB1O1SI\/SC-H6fjZBQI\/AAAAAAAAAE8\/FN25Gnsf_24\/s1600-h\/Built-in+dialog+items10.png\"><img decoding=\"async\" style=\"margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;\" src=\"http:\/\/blog.filipesaraiva.info\/wp-content\/uploads\/2008\/05\/Built-in-dialog-items10.png\" alt=\"\" id=\"BLOGGER_PHOTO_ID_5201525533608314114\" border=\"0\" \/><\/a><\/p>\n<div style=\"text-align: justify;\"><span style=\"font-weight: bold;\">Pr\u00f3ximos Passos&#8230;<\/p>\n<p><\/span>Programar Prolog usando Eclipse&#8230; \u00e9 poss\u00edvel? Veremos um pouco sobre o Paradigma L\u00f3gico, o plugin necess\u00e1rio, e uma discuss\u00e3o r\u00e1pida sobre duas implementa\u00e7\u00f5es livres de Prolog: GNU-Prolog e SWI-Prolog.<span style=\"font-weight: bold;\"><br \/><\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"blogger-post-footer\"><script expr:src='\"http:\/\/feeds.feedburner.com\/~s\/LiberdadeNaFronteira?i=\" + data:post.url' type=\"text\/javascript\" charset=\"utf-8\"><\/script><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Esta s\u00e9rie de artigos visa preparar sua IDE Eclipse para as diferentes disciplinas relacionadas com programa\u00e7\u00e3o, que voc\u00ea poder\u00e1 encontrar nos cursos de computa\u00e7\u00e3o da vida. No artigo anterior vimos como instalar a IDE e um r\u00e1pido &#8220;Hello World&#8221; em Java, o suficiente para sabermos se est\u00e1 tudo Ok. Neste 2\u00ba passo, iremos configurar o&hellip;&nbsp;<a href=\"https:\/\/filipe.saraiva.tec.br\/blog\/?p=24\" class=\"\" rel=\"bookmark\">Continue a ler &raquo;<span class=\"screen-reader-text\">Prepare seu Eclipse para a academia! &#8211; Passo 2: Instalando Plugins e Programando em C\/C++<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[9],"tags":[11,12,5],"class_list":["post-24","post","type-post","status-publish","format-standard","hentry","category-software-livre","tag-desenvolvimento","tag-eclipse","tag-tutoriais"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1p2Jh-o","jetpack_sharing_enabled":true,"jetpack_likes_enabled":false,"_links":{"self":[{"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=\/wp\/v2\/posts\/24","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=24"}],"version-history":[{"count":0,"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=\/wp\/v2\/posts\/24\/revisions"}],"wp:attachment":[{"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=24"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=24"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/filipe.saraiva.tec.br\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=24"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}