是与视觉C 2017二进制文件兼容的Visual C 2013二进制文件
Are Visual C++ 2013 binaries compatible with Visual C++ 2017 binaries?
在我们的C 解决方案之一中,我们使用第三部分库。这些库与VS 2013兼容。现在,我们将解决方案迁移到VS 2017,发现某些第三方库不具有vs 2017兼容版本。
因此,我们尝试使用VS20173中的一些VS2013兼容库,并且尝试的API调用正常工作。
我可以假设库与vs 2017可执行文件一起使用,没有任何问题?
一般 - 否。AFAIK,VC 2015(又名Toolset V140(和VC 2017(又名Toolset V141(已据说是二进制兼容的。没有提出这样的陈述WRT VC 2013,我相信有破坏的变化(例如sizeof(list(等(。
它可能起作用,但可能会导致难以解决问题
Microsoft语句:
"一种更加严重的变化,破裂的变化会影响二进制兼容性,但是这些二进制兼容性仅发生在视觉工作室的主要版本之间。例如,在Visual Studio 2013和Visual Studio 2015之间。" <<<<<<<<
请参阅https://learn.microsoft.com/en-us/cpp/porting/visual-cpp-change-history-2003-2015
没有任何保证,但是视觉C 编译器的二进制兼容性通常比官方宣布的要好。只需确保您不会在不同的运行时创建/破坏对象,传播异常,并且不将STL相关的对象作为参数传递。
如果第三方库揭示了C样式接口并将其编译为DLL,则任务甚至更容易。因此,您应该查看这些界面并验证它们与一般互操作性指南的不同程度。
相关文章:
- 正在读取二进制文件(is_open)
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- 在C++中将类(带有Vector成员)保存为二进制文件
- 如何从二进制文件中读取字符串
- 保存/加载大量短数组到二进制文件
- 从二进制文件中读取整数数组
- Android 在编译二进制文件时重建静态库
- 在 C++ 中将双精度变量写入二进制文件
- clang 的 libFuzzer 可以在同一二进制文件中测试超过 1 个 API 吗?
- 从 exe 文件 (Visual Studio ) 启动时调试断言失败
- 如何使用 GLFW 预编译的二进制文件编译 Visual Studio 2019 发布版本
- 是与视觉C 2017二进制文件兼容的Visual C 2013二进制文件
- 如何使用Visual Studio 2019构建最兼容的二进制文件
- 在读取 Visual C++ 中的二进制文件(而不是其他编译器)后,每隔一个字符都是 NULL
- Visual C++-将双精度和整数写入二进制文件
- 在Visual Studio中向资源中添加二进制文件
- visual在C++中读取和写入int到二进制文件
- 使用C++在Visual Studio中读取二进制文件时出错
- visual使用不同编译器(C++)生成的二进制文件的速度差异太大
- Visual Studio生成的二进制文件