Jump to content
Fórum Script Brasil
  • 0

Debugger


BShT
 Share

Question

Tenho lido algumas perguntas aqui e fiquei pensando.

Os programadores C não usam mais debuggers ?

Não se pode fazer nada serio sem um debugger!

Se você quer saber qual é o valor de alguma coisa ou porque algo não funciona é mais fácil e mais salutar rodar seu código passo a passo e ver onde você errou.

Se precisa saber quanto vale algo no meio do caminho da um trace nele.

Estou errado ?

Um bom debuggers descobre bugs de compilador.

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Há ambientes de desenvolvimento que tem um depurador como, por exemplo, Borland C++ Builder e Visual C++. Compiladores de linha de comando, lógicamente, não vai ter um depurador bom/avançado/prático como os que estão presente nesses ambientes citados.

Falows!

Link to comment
Share on other sites

  • 0
Guest - Bruno -

O Visual C# não compila ansi C?

Parece que este software é gratuito. Se compilar C pode ser bom para iniciantes.

A microsoft já teve compiladores muito bons, anos atras, não sei como é hoje.

De qualquer forma eu não gosto de C++ ou qualquer outra derivação abstrata de C. Você não sabe o que vira seu código depois de compilado e não da pra depurar em asm.

Link to comment
Share on other sites

  • 0
O Visual C# não compila ansi C?

Não. C# é uma linguagem moderna desenvolvida pela Microsoft, inspirada em C++/Java. Visual C# é um ambiente de desenvolvimento para C#.

Parece que este software é gratuito. Se compilar C pode ser bom para iniciantes.

A microsoft já teve compiladores muito bons, anos atras, não sei como é hoje.

A versão Express é grátis. E a Microsoft ainda continua tendo bons compiladores! : ) uma prova disso são os compiladores .Net

De qualquer forma eu não gosto de C++ ou qualquer outra derivação abstrata de C. Você não sabe o que vira seu código depois de compilado e não da pra depurar em asm.

Como assim? Toda linguagem é compilada para linguagem de máquina ou pseudo-linguagem, mas não para asm, pois 'asm' é assembly, uma linguagem muito *próxima* da linguagem de máquina.

Falows!

Link to comment
Share on other sites

  • 0

Diferente de outras linguagens de nivel mais alto, o C é facilmente compilado. Quanto se escreve algo em C você pode antever o resultado em assembly. Existem compiladores que podem mesmo gerar um código assembly como resultado da compilação e isto é essencial para certos tipos de desenvolvimento.

Um processador não sabe o que é um objeto, você precisa de muito código pra manipular isto. Por isto C ainda é (e deve continuar sendo) a linguagem de programação número um para desenvolvimento de software de base, jogos e drivers de dispositivo. O linux que o diga.

É claro que a função de todo compilador é gerar um executável em linguagem de máquina para o processador, mas existem muitas fomas de se fazer neston.

As vezes você precisa de mais código para fazer a mesma coisa em C do que C++, mas o resultado final em C tende a ser mais rápido e enxuto.

As mais novas variantes de C estão se aproximando do conceito de RAD, isto é bom para desenvolvimento web e certos tipos de aplicativos, mas não serve para outras coisas.

Este "purismo" não é um conceito meu, faz parte de uma legião de programadores que precisaram programar muito assembly pra fazer programas em computadores de 20 anos atras.

Quem programa assembly sabe que abstração é um conceito que não existe. O mais proximo disto é execução especulativa.

Link to comment
Share on other sites

  • 0
Diferente de outras linguagens de nivel mais alto, o C é facilmente compilado. Quanto se escreve algo em C você pode antever o resultado em assembly. Existem compiladores que podem mesmo gerar um código assembly como resultado da compilação e isto é essencial para certos tipos de desenvolvimento.

Um processador não sabe o que é um objeto, você precisa de muito código pra manipular isto. Por isto C ainda é (e deve continuar sendo) a linguagem de programação número um para desenvolvimento de software de base, jogos e drivers de dispositivo. O linux que o diga.

É claro que a função de todo compilador é gerar um executável em linguagem de máquina para o processador, mas existem muitas fomas de se fazer neston.

As vezes você precisa de mais código para fazer a mesma coisa em C do que C++, mas o resultado final em C tende a ser mais rápido e enxuto.

As mais novas variantes de C estão se aproximando do conceito de RAD, isto é bom para desenvolvimento web e certos tipos de aplicativos, mas não serve para outras coisas.

Este "purismo" não é um conceito meu, faz parte de uma legião de programadores que precisaram programar muito assembly pra fazer programas em computadores de 20 anos atras.

Quem programa assembly sabe que abstração é um conceito que não existe. O mais proximo disto é execução especulativa.

Mais explicado! : )

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      151k
    • Total Posts
      649.1k
×
×
  • Create New...