До тех пор, пока искажение имени в API C ++ идентично (они есть) и не использует специфические параметры типа STL, такие как basic_string
или std::map
, реализация которых могла изменяться между выпусками компилятора(и они есть), тогда он должен просто работать.
Конечно, вы захотите убедиться, что вы либо скомпилировали свою DLL, используя режим /MT
(статические связанные среды выполнения), либо включили распространяемые файлы для VS2010среды выполнения с предоставленными вами библиотеками и целевыми ссылками.
EDIT : Расширение на "не передавайте типы, имеющие реализации, зависящие от версии".Частичный список легче всего найти, посмотрев выходные данные экспорта MSVC100P.DLL
.
cd %VS100COMNTOOLS%\..\VC\redist\x86\Microsoft.VC100.CRT
DUMPBIN /exports MSVCP100.DLL
Следующим вопросом будут реализации только для заголовков таких вещей, как map
или set
, которые имеютизменено под капотом между версиями компилятора.
Вот почему настоятельно рекомендуется, чтобы только скалярные типы передавались через границы между аренами памяти.И поэтому простые тесты пройдут и будут надежными.