
Procurando ideias sobre como configurar um ambiente de desenvolvimento conveniente e produtivo para o desenvolvimento C. eu encontreiEdição C com Vimmuito útil, mas gostaria de obter uma amostra mais ampla de sugestões.
Responder1
Emacs/Vim/Eclipse/... - Pessoalmente sou usuário do Emacs. Se você achar que as sequências de controle cansam seu dedo mínimo, basta ativá-lo no modo Viper. O Emacs está muito bem integrado ao Unix, tornando muito fácil controlar tudo em um só lugar. O Vim também faz um bom trabalho aqui, mas considero o Elisp uma linguagem de extensão muito mais poderosa que o Vim Script. Poderíamos falar por horas sobre todas as maneiras de configurar o Emacs para desenvolvimento em C. Modo Flymakefoi mencionado e é um excelente começo para as coisas. Não estou familiarizado com o Eclipse, não acho que ele deixe espaço suficiente na tela para código, nem gosto de como ele é inchado (os usuários do Vim dirão a mesma coisa sobre o Emacs). Também sou injustamente preconceituoso contra qualquer coisa escrita em Java, por razões puramente estéticas.
Ctags- Marca suas funções C (ou muitas outras linguagens) para que Vim ou Emacs ou qualquer outra coisa possa fazer um pouco de link de hipertexto em seus arquivos. Digamos que você esteja vagando e veja uma função e coce a cabeça dizendo: "O que aquela faz de novo? O nome é um pouco vago." Plink-plank-plunk, você pode ir direto para sua definição.
Cmake/Gnu-Autotools- Make é ótimo, mas em algum momento você precisa abstrair um pouco as coisas para que seu projeto possa ser construído em todos os tipos de sistemas que você não tem como testar. Se você só precisa de pessoas para construir seu código em um *nix, o Autotools é ótimo, mas, na verdade, você deveria se familiarizar com o Cmake de qualquer maneira. A equipe Cmake cria código em todas as configurações possíveis e garante que você não precise passar por dor de cabeça. Se você deseja que seu projeto seja facilmente adquirido, compre outros, uma dessas ferramentas é crucial.
Git/Mercurial/Subversão/... - Você poderia passar meses pesquisando software de controle de versão, mas provavelmente deveria apenas usar o Git. É sólido, é distribuído, o @$!#%& Linux Kernel é rastreado com ele. Se é bom o suficiente para Linus, tem que ser bom o suficiente para você. Também ouço coisas boas sobre o Mercurial, aparentemente o G**gle os usa, então provavelmente não é ruim. Algumas pessoas parecem gostar do Subversion e do 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 puder fazer para manter seu trabalho fluindo melhorará muito seu resultado. Uma das melhores maneiras de evitar que seu cérebro quebre seu contexto é mudar para gerenciadores de janelas lado a lado, KEYBOARD DRIVEN. Eu sou um fã pessoal deTocoWM, o Emacs dos gerenciadores de janela. Totalmente implementado em um processo Common Lisp personalizável em tempo real, qualquer coisa que você faça repetidamente pode ser banida para funções e vinculada a comandos. Coisas boas. Não sei muito sobre nenhum dos outros, mas talvez seja melhor deixar mais detalhes para outro tópico. USE O TECLADO MÁXIMO POSSÍVEL.
GDB- Não estou familiarizado com outros depuradores, mas este parece ser o padrão de fato.
Valgrind- Não conheço mais nada que faça tão bem o que isso faz. Valgrind é crucial para todas aquelas incômodas caçadas a perfis/vazamento de memória que você deseja realizar. Você simplesmente não pode escrever código com malloc/calloc sem Valgrind.
Responder2
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ó tenha isso, mas experimentei o Emacs e não olhei para trás. Eclipse é uma alternativa 'moderna', tenho todos os três no meu sistema!
Responder3
É uma preferência pessoal, então não acho que possa fazer muito mais do que dizer o que uso. Eu tenho o Emacs configurado comModo Flymake, que compila periodicamente o arquivo em que você está trabalhando e analisa a saída do compilador para descobrir quais erros você cometeu. Ele destaca os erros/avisos no buffer e mostra a mensagem de erro do compilador associada
Responder4
Eu uso o gedit com terminal incorporado.