Usando libs/Dll criado em uma versão diferente do Visual C++
-
19-09-2019 - |
Pergunta
Se um 3rd-party developer nos dá .libs e/ou .dll gerada com VC++ 2005, eles podem ser usados no VC++ 2008?O que dizer se ele cumpre 2008 Pro, e corremos 2008 Standard/Express?
Eu sei que C++ não é tão portátil como costumava ser, o que com VC++ o tempo de execução e assim por diante, mas eu gostaria de pensar que pelo menos podemos usar a pré-existentes bibliotecas/dlls em uma versão mais recente do VC++.
Solução
Você não será capaz de usar 2005 .libs com 2008 - eles link para diferentes bibliotecas de tempo de execução e o objeto de layout e estrutura vtable podem ser ligeiramente diferentes.
Você pode ser capaz de usar .dlls entre diferentes versões, mas depende muito da interface .dll.Se as exportações de classes ou métodos a ter aulas de como parâmetros ou devolvê-los, provavelmente não.
Outras dicas
Com relação à 2008 Pro vs 2008 Standard/Express edition questão, o código que geram é 100% compatível.Eu comecei a projetos Pro e, em seguida, continuou desenvolvendo-los na Express e vice-versa.
Os binários produzidos pelas várias edições de 2008 será compatível.Tudo o que muda é a funcionalidade disponível no IDE.