Do I need both x64 and x86 versions of the C++ redist? If I have both the x64 and the x86 version of a Microsoft C++ Redist package, can I uninstall the x86 version?
Depende se você usa programas VC ++ de 32 bits e / ou 64 bits.
If I did uninstall the x86 version, would the x64 version cover the dependencies on the x86 package?
Não, você precisa da versão x86 para executar programas VC ++ de 32 bits e precisa da versão x64 para executar programas VC ++ de 64 bits.
Explicação técnica :
A maioria dos programas faz muitas coisas de maneira semelhante. Para evitar "reinventar a roda", eles usarão bibliotecas , que são coleções de funções pré-escritas que podem ser usado para reduzir a quantidade de trabalho que tem que ser feito. Isso é bom, mas se todos os programas incluíssem as funções comuns nos programas, muito espaço seria desperdiçado porque todos são idênticos. Além disso, se um bug fosse encontrado e consertado ou uma melhoria fosse feita na biblioteca, cada programa teria que ser recompilado para incluir a correção / melhoria.
Para resolver essas limitações, em vez de incluir as funções internamente, a maioria dos programas fará referência a essas funções armazenadas externamente em um arquivo .dll
. Dessa forma, todos eles podem compartilhar o mesmo código, o que reduz o desperdício de espaço e todos podem ser atualizados ao mesmo tempo, substituindo o único arquivo de biblioteca.
Um programa pode ser de 32 bits ou 64 bits, o que, entre outras coisas, determina o tamanho das variáveis e tal. O problema é que o código de 32 bits não é compatível com o código de 64 bits, portanto, um programa de 32 bits deve usar bibliotecas de 32 bits e um programa de 64 bits deve usar bibliotecas de 64 bits.
Portanto, se houver um programa de 32 bits, foobar.exe
e um programa de 64 bits, foobar64.exe
, ambos usam bibliotecas VC ++, então foobar.exe
precisará de \x86\msvc*.dll
e foobar64.exe
precisará %código%; eles não podem usar bibliotecas do “ bitness errado.