Como posso limitar o número de mensagens de erro exibidas depois de compilar um programa C ++?

0

Eu estou compilando um programa em C ++ com g++ e cada vez recebo um grande número de erros, forçando-me a rolar para cima toda vez que eu quero ver o primeiro (e mais relevante) erro. Eu estou querendo saber se existe uma opção quando estou compilando o programa que me permite limitar o número de mensagens de erro exibidas no terminal.

    
por Matt Mclaughlin 26.03.2018 / 03:44

3 respostas

0

Use compiling-command | head --lines 32 para gerar as primeiras 32 linhas de compiling-command output.
Você também pode usar compiling-command | grep "Text to search" | head --lines 32 para exibir as primeiras 32 descobertas de "Texto para pesquisa".

Desativar a opção -Wall com o gcc não produzirá tantos erros.

    
por 26.03.2018 / 09:07
1

Você pode usar a opção -fmax-errors=1 para definir o número de erros como 1 e assim por diante. O padrão 0 é infinito. A opção gcc aplica-se a g++ .

    
por 26.03.2018 / 09:17
1

Você tem várias opções:

  • Use as opções do compilador para definir um limite no número de mensagens de erro antes que o compilador simplesmente desista completamente, como em outra resposta.
  • Use head , lembrando que as mensagens de erro são enviadas para o erro padrão , é claro. Ou use uma das ferramentas many que flutuam na saída do GCC pós-processo. Lembre-se também que, com versões modernas do GCC que adotaram o modelo clang, um único erro pode abranger várias linhas, portanto, baixas contagens de linha para head podem não ser muito úteis.
  • Use um paginador como pager , pg , more ou less , lembrando novamente que as mensagens de erro são enviadas para o erro padrão .
  • Execute o comando de compilação em :terminal dentro do NeoVIM, que fornece bastante rolagem e, é claro, todas as seqüências habituais de chave de navegação VIM para ir rapidamente ao topo da saída e da pesquisa.
  • Integre-se ao seu editor de texto.

O último é a opção mais interessante. Ele vem em pelo menos dois sabores:

  • Escreva a saída padrão + o erro padrão do compilador em um arquivo e diga ao seu editor de texto para tratá-lo como um arquivo de erros . Com Vim e NeoVIM isso é feito com
    vim -q errors_file
    e
    nvim -q errors_file
    , onde você pode substituir o nome de sua escolha por errors_file .

    Isso abrirá o editor de texto com o arquivo de erros carregado no buffer de correção rápida, e o arquivo para o primeiro erro ou mensagem de aviso aberto e posicionado no número da linha (e coluna) desse erro.

  • Execute o compilador a partir do editor de texto da pessoa. Com Vim e NeoVIM, se alguém tiver um makefile, poderá invocá-lo com o comando :make , e o VIM / NeoVIM colocará a saída de erro executando make em uma lista de correções rápidas, posicionando-se novamente automaticamente no arquivo, linha e coluna do primeiro erro ou mensagem de aviso.

Com ambos, é possível mover-se do local de um aviso / erro para o próximo usando :cnext e os vários outros comandos de navegação da lista de correcções do Vim / NeoVIM listados em :help :cc . Note que não há razão para limitar o número de erros com estes mecanismos, e existem comandos Vim / NeoVIM para retornar à posição da mensagem atual, ou voltar para a posição da primeira mensagem.

Com o último especificamente, também é possível executar :make várias vezes e alternar entre as listas de erros mais antigas e mais recentes usando :colder e :cnewer . (Pode-se também alterar :make para executar algo diferente de make , usando set makeprg , mais do que no manual do VIM / NeoVIM.)

Pode-se fazer coisas parecidas com o emacs.

    
por 26.03.2018 / 09:50