Использование библиотек libs / DLL, встроенных в другую версию Visual C ++ - PullRequest
0 голосов
/ 10 марта 2010

Если сторонний разработчик предоставляет нам .libs и / или .dll, сгенерированные с помощью VC ++ 2005, могут ли они использоваться в VC ++ 2008? А что если он скомпилирует с 2008 Pro и мы запустим 2008 Standard / Express?

Я знаю, что C ++ не так переносим, ​​как это было раньше, чем во время выполнения VC ++ и т. Д., Но я хотел бы подумать, что по крайней мере мы можем использовать уже существующие библиотеки / dll в более новой версии VC ++.

Ответы [ 2 ]

1 голос
/ 10 марта 2010

Вы не сможете использовать 2005 .libs с 2008 - они ссылаются на разные библиотеки времени выполнения, а структура объектов и структура vtable могут немного отличаться.

Вы можете использовать .dll между разными версиями, но это очень сильно зависит от интерфейса .dll. Если он экспортирует классы или методы, берет классы в качестве параметров или возвращает их, то, вероятно, нет.

1 голос
/ 10 марта 2010

Что касается вопроса 2008 Pro vs 2008 Standard / Express, код, который они генерируют, на 100% совместим. Я начал проекты на Pro, а затем продолжил разработку на Express и наоборот.

Двоичные файлы, созданные в различных выпусках 2008 года, будут совместимы. Все, что изменяется, это функциональность, доступная в IDE.

...