Как прокомментировали другие авторы, вы должны уметь работать таким образом.
Однако есть одна проблема, которая может быть серьезной, - управление памятью. В частности, время выполнения C ++ может быть сложным.
Самая большая проблема заключается в том, что существуют некоторые несовместимости между тем, как среды выполнения 2005 и 2008 годов управляют памятью. Все работает нормально, при условии, что вы всегда выделяете свою память в своей DLL-библиотеке VS2008 и всегда удаляете память, выделенную из нее внутри вашей DLL. Обычно для этого требуется создать в вашей DLL некоторые «дополнительные» методы фабрики и очистки и разоблачить их.
Если вы выделите память из своей библиотеки VS 2008, а затем удалите ее из кода, скомпилированного с использованием VS 2005, или наоборот, вы можете столкнуться с некоторыми очень трудными для отладки проблемами. Это часто работает, но имеет случайные сбои или нестабильности.