você poderia esclarecer um pouco mais como era para você, o que precisava mudar. Talvez você possa me indicar a direção certa, fornecendo alguns links para as informações que você usou.
Minha primeira fonte foram, na verdade, as man
páginas das ferramentas . Apenas digite
$ man toolname
na linha de comando ( $
aqui faz parte do prompt, não da entrada).
Dependendo da plataforma, eles são bem escritos e também podem ser encontrados na internet. No caso de make
, eu realmente li a documentação completa que levou algumas horas. Na verdade, não acho que isso seja necessário ou útil na maioria dos casos, mas tive alguns requisitos especiais em minhas primeiras atribuições no Linux que exigiram um sofisticado makefile. Depois de escrever o makefile, entreguei a um colega experiente que fez alguns pequenos ajustes e correções. Depois disso, eu praticamente sabia make
.
Eu usei o GVIM porque tinha alguma experiência anterior (mas não muita) lá, não posso dizer nada sobre o Emacs ou alternativas. Acho que realmente ajuda a ler o .gvimrc
arquivo de configuração de outras pessoas . Muitas pessoas colocam na web. Aqui está o meu .
Não tente dominar todos os binutils de uma vez, pois há muitas funções. Mas obtenha uma visão geral para saber onde procurar quando precisar de algo no futuro. No entanto, você deve conhecer todos os parâmetros importantes para g++
e ld
(a ferramenta de vinculação do GCC que é chamada automaticamente, exceto quando explicitamente impedida).
Também estou curioso, você tem a conclusão do código e a sintaxe destacada quando você codifica?
Destaque de sintaxe: sim, e muito melhor que o Visual Studio. Conclusão de código: sim- ish . Primeiro, devo admitir que não usei a conclusão do código C ++, mesmo no Visual Studio, porque (comparado ao VB e C #) não era bom o suficiente. Eu não o uso com frequência agora, mas, no entanto, o GVIM tem suporte nativo de conclusão de código para C ++. Combinado com a biblioteca ctags e uma lista de tags do tipo plug-in, isso é quase um IDE.
Na verdade, o que me levou a começar foi um artigo de Armin Ronacher. Antes de ler o texto, veja as capturas de tela no final!
você precisa compilar primeiro antes de obter erros (sintaxe)?
Sim. Mas é o mesmo para o Visual Studio, não é (nunca usei o Tomate Inteiro)? Obviamente, o destaque da sintaxe mostrará colchetes não correspondentes, mas isso é tudo.
e como você depura (novamente pense em pontos de interrupção etc)?
Eu uso o gdb
que é uma ferramenta de linha de comando. Há também um frontend gráfico chamado DDD
. gdb
é uma ferramenta de depuração moderna e pode fazer tudo o que você pode fazer em um IDE. A única coisa que realmente me irrita é ler um rastreamento de pilha porque as linhas não são recuadas ou formatadas, por isso é realmente difícil digitalizar as informações quando você está usando muitos modelos (o que eu faço). Mas esses também interferem no rastreamento de pilha nos IDEs.
Como eu disse, tive o "prazer" de definir meus primeiros passos na linguagem de programação Java usando o bloco de notas do Windows e o compilador java de linha de comando no ensino médio, e foi ... bem, um pesadelo! certamente quando eu poderia compará-lo com outros cursos de programação que eu tinha naquela época, onde tínhamos IDE decentes
Você nem deveria tentar comparar um editor moderno e completo, como o Emacs ou o GVIM, com o Bloco de Notas. O bloco de notas é um TextBox
controle embelezado , e isso realmente faz toda a diferença. Além disso, trabalhar na linha de comando é uma experiência muito diferente no Linux e Windows. O Windows cmd.exe
está severamente aleijado. O PowerShell é muito melhor.
/ EDIT: Devo mencionar explicitamente que o GVIM possui edição com guias (como na navegação por guias, não em espaços versus tabulações)! Levei séculos para encontrá-los, embora não estejam escondidos. Basta digitar em :tabe
vez de simples :e
ao abrir um arquivo ou criar um novo e o GVIM criará uma nova guia. A alternância entre guias pode ser feita usando o cursor ou vários atalhos diferentes (dependendo da plataforma). A chave gt
(tipo g, então tno modo de comando) deve funcionar em qualquer lugar e passa para a próxima guia ou número da guia. n se um número foi fornecido. Digite :help gt
para obter mais ajuda.