想知道较低版本的Visual Studio是否可以使用使用较高版本的Visual Studio构建的dll
Wondering if the lower version of visual studio can use the dll built using higher version of visual studio?
在计算机上安装两个版本的Visual Studio。我想知道较低版本的Visual Studio是否可以使用使用较高版本的Visual Studio构建的dll?
通常,不能在一个程序中混合使用不同版本的 CRT 编译的 dll。下面是指向 MSDN 文档的链接。
正如其他人提到的,如果您保持界面简单,它可以工作。不要释放链接到另一个版本的 CRT 的 DLL 中分配的内存,不要传递 FILE* 和类似内容。不幸的是,很难确定你能做什么,不能做什么。
这取决于 DLL。例如,如果使用简单的参数类型和相同的调用约定创建 Win32 DLL,则该 DLL 将起作用。
只有当你
将自己限制在所谓的 C 风格接口 - 只有基元类型时,分配任何资源的代码必须释放它,并且还必须抽象到非内存资源,如文件句柄等。除非在某些极其严格的条件下,否则不能发送C++类或对象,也不能跨 DLL 边界释放内存。
相关文章:
- Visual Studio 2015:Extern "C" 和 "export" 关键字
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 试图在visual studio上用C++创建一个桌面应用程序
- 如何在MS Visual Studio 2019中运行QT UI
- 如何使用Visual Studio 2017在C++中为参数化对象数组使用唯一指针
- Visual Studio Code - C++ Debugger 無法啟動
- Visual Studio 2019:插入多个C++风格的单行注释
- Visual Studio Code "undefined reference to `WinMain@16'"
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- Visual Studio中的函数声明和函数定义问题
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- Visual Studio mkl_link_tool.exe链接错误
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- 不同的Visual Studio版本中缺少.dll
- 用Visual Studio在C++中嵌入Julia
- Visual Studio 2017循环自动向量化问题
- 有没有办法在远程设备上打开和编辑visual Studio 2017解决方案
- 尝试使用继承和模板实现CRTP.Visual Studio正在生成编译器错误
- Visual Studio在尝试读取resource.txt文件时崩溃
- Visual Studio 2017 不允许我创建 C++ 专用模板