Procurando idéias sobre como configurar um ambiente de desenvolvimento conveniente e produtivo para o desenvolvimento em C. Achei a edição C com o Vim muito útil, mas gostaria de obter uma amostra mais ampla de sugestões.
command-line
c
editors
ide
zvolkov
fonte
fonte
Respostas:
Emacs / Vim / Eclipse / ... - Pessoalmente, sou um usuário do Emacs. Se você achar que as seqüências de controle cansam seu dedo mindinho, basta usar o modo Viper. O Emacs é tão bem integrado ao unix, facilitando o controle de tudo em um só lugar. O Vim também faz um bom trabalho aqui, mas acho o Elisp uma linguagem de extensão muito mais poderosa que o Vim Script. Pode-se conversar por horas sobre todas as maneiras de configurar o Emacs para o desenvolvimento em C. O Modo Flymake foi mencionado e é um super começo para as coisas. Eu não estou familiarizado com o Eclipse, não acho que ele deixe espaço suficiente na minha tela para código, nem gosto de como está inchado (os usuários do Vim dirão o mesmo sobre o Emacs). Também sou injustamente inclinado contra qualquer coisa escrita em Java, por razões puramente estéticas.
Ctags - marca suas funções C (ou muitas outras linguagens) para que o Vim, o Emacs ou qualquer outra coisa possa fazer um pouco de hipertexto nos seus arquivos. Diga que você está andando por aí, vê uma função e está coçando a cabeça, dizendo "O que isso faz de novo? A nomeação é um pouco vaga". Plink-plank-plunk, você pode ir direto à sua definição.
Cmake / Gnu-Autotools - Make é ótimo, mas em algum momento você precisa abstrair um pouco as coisas para que seu projeto possa se desenvolver em todos os tipos de sistemas que você não tem como testar. Se você precisa apenas de pessoas para criar seu código em um * nix, o Autotools é ótimo, mas, realmente, você deve se familiarizar com o Cmake de qualquer maneira. A equipe do Cmake cria código em todas as configurações possíveis e garante que você não precise passar pela dor de cabeça. Se você deseja que seu projeto seja facilmente adquirido e compre outros, uma dessas ferramentas é crucial.
Git / Mercurial / Subversion / ... - Você pode passar meses pesquisando o software de controle de versão, mas provavelmente deve usar o Git. É sólido, é distribuído, o @ $! #% & Linux Kernel é rastreado com ele. Se for bom o suficiente para Linus, deve ser bom o suficiente para você. Também ouço coisas boas sobre o Mercurial, aparentemente a G ** gle as usa, então provavelmente não é ruim. Algumas pessoas parecem gostar do Subversion e CVS e outros enfeites. Não gosto deles porque são monolíticos, o que para mim é muito inconveniente e limitante.
Stumpwm / wmii / XMonad / ... - Em algum momento você perceberá que qualquer coisa que você possa fazer para manter seu trabalho fluindo melhorará bastante sua produção. Uma das melhores maneiras de impedir que o seu cérebro rompa seu contexto é mudar para o lado a lado, gerenciadores de janelas do KEYBOARD DRIVEN. Sou fã pessoal do StumpWM , o Emacs dos gerenciadores de janelas. Totalmente implementado em um processo Common Lisp personalizável on-the-fly, qualquer coisa que você se encontra fazendo repetidamente pode ser banida em funções e vinculada a comandos. Coisas boas. Não sei muito sobre nenhum dos outros, mas talvez seja melhor deixar mais elaboração para outra discussão. USE O TECLADO QUANTO POSSÍVEL.
GDB - Não estou familiarizado com outros depuradores, mas esse parece ser o padrão de fato.
Valgrind - Não sei de mais nada que faça o que isso faz tão bem. O Valgrind é crucial para todas aquelas buscas de perfis / vazamentos de memória que você deseja continuar. Você simplesmente não pode escrever código com malloc / calloc sem o Valgrind.
fonte
Eu persisti com o Vim por um tempo, vale a pena conhecer o básico do VIM, pois você sempre encontrará uma caixa UNIX em algum lugar que só possui isso, mas tentei o Emacs e não olhei para trás. Eclipse é uma alternativa 'moderna', tenho todos os três no meu sistema!
fonte
É uma preferência muito pessoal, então acho que não posso fazer muito mais do que dizer o que uso. Eu tenho o Emacs configurado com o modo Flymake , que periodicamente compila o arquivo em que você está trabalhando e analisa a saída do compilador para descobrir quais erros você fez. Destaca os erros / avisos no buffer e mostra a mensagem de erro do compilador associada
fonte
Eu uso o Kate (texto) gcc / avr-gcc e make, com o Git como VC. Eu principalmente faço coisas incorporadas no ce lado do computador em python.
fonte
Se você está desenvolvendo C em Unix / Linux, é absolutamente necessário usar o Cscope se o projeto for de tamanho significativo.
O Cscope é uma ferramenta do desenvolvedor para navegar pelo código-fonte - pule para
foobar
a definição de função , encontre todos os locais onde a variávelfoo
é referenciada, encontre todos os arquivosbar.h
, inclusive , altere todas as ocorrências debar
intobaz
etc.Além disso, você mencionou o Vim em seu post ... aqui está um tutorial sobre como usar o Vim e o Cscope juntos.
fonte
Você pode usar o pacote Netbeans C / C ++ que funciona com o G ++ / GCC:
netbeans.org/features/cpp
fonte
meu favorito pessoal é exVim . Possui muitos plugins vim, o que facilita o uso com uma grande base de código. Até demorar aproximadamente 1 dia para aprender suas características, mas valerá a pena.
fonte
Eu edito C com o Vim no console. Emprego makefiles e tenho vários compiladores para testar meu código, incluindo gcc, clang (LLVM) e icc. Outras coisas que considero parte do meu ambiente de desenvolvimento: o uso de grep, depuradores e valgrind. Uma linguagem de script para compilações mais complicadas. Git para controle de versão.
Mais importante em minha mente do que o que você usa para editar o código é como você o estrutura. Como explicar isso é provavelmente uma pergunta para o estouro de pilha, mas, como você pediu, geralmente tenho um diretório separado para o código do objeto, não para distribuição e outra pasta para o (s) binários resultantes. Eu tenho uma pasta de teste que contém mais arquivos C que usam todo o código genérico que estou escrevendo e esses são validados, junto com o arquivo final do projeto.
fonte
Você pode experimentar o Motor IDE . É baseado em maldições, para que você se sinta em casa (tm).) Também é um pouco triste porque não está sendo mantida por cinco anos agora, então algumas coisas podem ser quebradas. Embora ainda - acredito que vale a pena tentar.
fonte
Eu uso o gedit com terminal incorporado.
fonte