Pergunta

Quais são as vantagens/desvantagens entre MS VS C++ 6.0 e MSVS C++ 2008?

A principal razão para fazer tal pergunta é que ainda existem muitos programadores decentes que preferem usar a versão mais antiga em vez da versão mais recente.

Existe alguma razão para preferir o mais antigo ao novo?

Foi útil?

Solução

Bem, por um lado, pode ser porque os executáveis ​​criados com o MSVS 6 requerem apenas msvcrt.dll (tempo de execução C), que agora é fornecido com o Windows.

Os executáveis ​​do MSVS 2008 precisam do msvcrt9 enviado com eles (ou já instalado).

Além disso, você já tem muitas bibliotecas OSS compiladas para Windows 32 bits com o tempo de execução 6.0 C, enquanto para o tempo de execução 2008 C você precisa pegar o código-fonte e compilá-las você mesmo.

(a maioria dessas bibliotecas é compilada com MinGW, que também usa o tempo de execução 6.0 C - talvez esse seja outro motivo).

Outras dicas

Vantagens do Visual Studio 2008 sobre o Visual C++ 6.0:

  • Compilador C++ muito mais compatível com padrões, com melhor manipulação de modelos
  • Suporte para alvos x64/mobile/XBOX
  • Implementação de STL aprimorada
  • Suporte para C++ 0x TR1 (ponteiros inteligentes, expressões regulares, etc.)
  • Biblioteca de tempo de execução C segura
  • Navegação de código aprimorada
  • Depurador aprimorado;possibilidade de executar sessões de depuração remotas
  • Melhores otimizações do compilador
  • Muitas correções de bugs
  • Construções mais rápidas em sistemas multi-core/multi-CPU
  • Interface de usuário IDE aprimorada, com muitos recursos interessantes
  • Suporte macro aprimorado no IDE;DTE permite acesso a mais métodos e variáveis ​​IDE
  • Biblioteca MFC atualizada (no VS2008 Service Pack 1)
  • suporte para OPENMP (multithreading fácil) (somente no VS2008 pro.)

Desvantagens de migrar para o Visual Studio 2008:

  • O IDE é muito mais lento que o VS6
  • O Intellisense ainda tem problemas de desempenho (substituí-lo pelo VisualAssistX pode ajudar)
  • Montagens lado a lado tornam a implantação de aplicativos muito mais problemática
  • A biblioteca local (offline) do MSDN é extremamente lenta
  • Como mencionado aqui, não há criador de perfil na versão Professional

No espírito da recente declaração de Joel postagem no blog, combinei algumas das outras respostas postadas em uma única resposta (e tornei esta postagem de propriedade da comunidade, portanto, não ganharei reputação com ela).Espero que você não se importe.Muito obrigado a Laur, NeARAZ, 17 de 26, me.yahoo.com e a todos que responderam.- ChrisN

Gostaria de acrescentar que não é o caso de aplicativos desenvolvidos com Visual C++ 2008 exigirem mais DLLs do que aqueles desenvolvidos com Visual C++ 6.0.Essa é apenas a configuração padrão do projeto.

Se você acessar as propriedades do seu projeto, C/C++, Geração de Código, altere seu Biblioteca de tempo de execução de DLL multithread e DLL de depuração multithread (configurações de liberação e depuração) para Multithread e Depuração multithread, seu aplicativo deverá ter menos dependências.

Pensando bem, as vantagens do novo Visual Studio são:

  • adesão mais rigorosa aos padrões
  • Suporte para alvos x64 / celular / xbox
  • melhores otimizações do compilador
  • (maneira) melhor manuseio de modelos
  • depurador aprimorado;possibilidade de executar sessões de depuração remota
  • IDE melhorado
  • suporte macro aprimorado;DTE permite acesso a mais métodos e variáveis ​​IDE

Desvantagens:

  • IDE parece mais lento
  • O Intellisense ainda tem problemas de desempenho (substituí -lo pelo VisualAssistX pode ajudar)
  • tempo de execução não disponível universalmente
  • Integração de controle de origem não até par (embora em toda a justiça VC6 não tenha esse recurso completamente)

Além da implantação mencionada acima, a principal vantagem do MSVC 6.0 é a velocidade.Por ser um IDE de 10 anos, parece bastante rápido em um computador moderno.As versões mais recentes do Visual Studio oferecem recursos mais avançados, mas têm um custo (complexidade e velocidade mais lenta).

Mas a maior desvantagem do MSVC 6.0 é seu compilador e biblioteca C++ não compatível.Se você pretende fazer programação C++ séria, isso é um empecilho.Se você criar apenas aplicativos MFC, provavelmente não será um grande problema.

O Visual C++ 6.0 integra-se perfeitamente com ferramentas de rastreamento de memória, como Purify, HeapAgent, BoundsChecker e MemCheck, já que essas ferramentas de rastreamento de memória foram mantidas ativamente e vendidas agressivamente após o lançamento do Visual C++ 6.0.

No entanto, como o C++ está fora de moda há algum tempo, as empresas que vendem ferramentas de rastreamento de memória ainda as vendem, mas nunca as atualizam ou integram com novas versões do Visual C++, incluindo o Visual Studio 2008.Portanto, usar ferramentas de controle de memória com o Visual Studio 2008 é frustrante, propenso a erros e, em alguns casos, impossível.

Desde o VC6, a maior parte do foco do Visual Studio tem sido em C# e .NET, bem como em outros recursos, portanto, alguns veteranos do C++ veem o VC6 como os bons e velhos tempos.As coisas melhoraram no Visual Studio para desenvolvedores C++ desde então, mas não tão dramaticamente quanto para usuários .NET.

Uma maneira pela qual o VS2008 é significativamente melhor que o VC6 é que ele pode construir projetos C++ em paralelo.Isso pode resultar em compilações significativamente mais rápidas, mesmo em um sistema de CPU única, mas especialmente se você tiver vários núcleos.

Você sabia que a implementação do STL no MS VC6 não é thread-safe?Em particular, a otimização da contagem de referências em basic_string aumenta mesmo quando compilada com bibliotecas multithread.http://support.microsoft.com/kb/813810

Se você instalar todos os service packs para VS6, ainda terá uma combinação sólida de IDE/compilador.Como desenvolvedor de software que precisa lançar produtos à solta (pela Internet), não quero enviar os tempos de execução VC++ e o framework .NET sempre (não posso agrupá-los diretamente em meu instalador/executável, é proibido pela Microsoft ).Você sabe, vários megabytes de tempos de execução para executar quilobytes de código é meio estúpido.O VC++ 6.0 precisa apenas do seu executável e 2 .DLL, na melhor das hipóteses.

Além disso, os tempos de execução de depuração não podem ser distribuídos com VC++ .NET, o que não é muito bom quando tenho um cliente que precisa fazer alguma depuração em meus produtos :)

Na minha opinião, existem os principais motivos pelos quais ainda uso o VC++ 6.0, mas o IDE em si é feio (ou seja:sem suporte para tabulação).Eu normalmente contorno as limitações do IDE usando codeblocks (CodeBlocks suporta CL.EXE/LINK.EXE para todas as versões VC++)

Cobolfoo

O Visual C++ 2008 é muito mais compatível com os padrões (o Visual Studio 6 não oferece suporte ao padrão C++ definido em 1998).

O VS2008 possui um compilador melhor (muito mais compatível com os padrões, melhores otimizações, ...).

VS6 tem IDE muito mais rápido.O IDE do VS2008 tem muitos recursos interessantes, mas é um pouco mais lento que o VS6.

Lista rápida de melhorias que você verá entre 6.0 e 2008:

  • Muitas correções de bugs
  • Melhor conformidade com o padrão C++
  • Melhor otimização do compilador
  • UI aprimorada (melhor intellisense, etc)

Uma coisa que as pessoas às vezes esquecem é que o VS 6.0 já tem mais de 10 anos!Neste ponto, não vejo como alguém iria querer continuar com isso.

uma coisa difícil que encontramos foi que “valor” se tornou uma palavra-chave.

O Visual C++ 6 pode apresentar muitos bugs às vezes em comparação com 2008.Algumas coisas em particular:

  • Fraco suporte/esquisitices de modelos (por exemplo sometemplate<othertemplate<t>> não está funcionando, mas sometemplate< othertemplate<t> > trabalhando)
  • Não está em conformidade com os padrões
  • O editor de recursos é uma porcaria ("linhas azuis" parecem se mover aleatoriamente, entre outras coisas)
  • Suporta apenas a edição de certos tipos de bitmaps de 8 bits (tenho que usar o imagemagick para converter bitmaps salvos no paint.net para que possam ser vistos em recursos de imagem)
  • Suporte terrível para trabalhar com arquivos somente leitura/integração peculiar com fonte segura.

Às vezes, desenvolver no VS6 é como tentar fazer com que os sites tenham uma boa aparência no Internet Explorer 5.5

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top