2015 visual studio中的二进制兼容性 在2010 VisualStudio(本地应用程序)中构建的遗留应用程序之一需要升级它在Visual Studio 15中构建的DLL之一,这是可能的吗?< P>如果接口使用C++标准库中的类型,例如 STD::String < /C> >,它就不太可能工作。这些类型通常来自C++运行时,两个版本具有不同的运行库。

2015 visual studio中的二进制兼容性 在2010 VisualStudio(本地应用程序)中构建的遗留应用程序之一需要升级它在Visual Studio 15中构建的DLL之一,这是可能的吗?< P>如果接口使用C++标准库中的类型,例如 STD::String < /C> >,它就不太可能工作。这些类型通常来自C++运行时,两个版本具有不同的运行库。,c++,C++,如果接口使用LPCSTR,则实现可以在内部使用任何字符串库(标准、Qt等)这取决于它。你会改变DLL中函数的顺序吗?或者从DLL中删除任何函数?或更改接口(例如功能签名)?如果所有内容的顺序都是相同的,并且没有删除任何内容,也没有更改现有的函数签名,那么它应该可以正常工作。@some:order是不相关的。链接是名字。是的,即使我也有同样的怀疑,幸运的是这个特定的DLL运行良好,没有任何问题。

如果接口使用
LPCSTR
,则实现可以在内部使用任何字符串库(标准、Qt等)

这取决于它。你会改变DLL中函数的顺序吗?或者从DLL中删除任何函数?或更改接口(例如功能签名)?如果所有内容的顺序都是相同的,并且没有删除任何内容,也没有更改现有的函数签名,那么它应该可以正常工作。@some:order是不相关的。链接是名字。是的,即使我也有同样的怀疑,幸运的是这个特定的DLL运行良好,没有任何问题。