使用释放 EXE 调试 DLL

Nip*_*pun 3 c++ debugging release

是否可以使用发布模式 EXE 执行调试模式 DLL?

我正在尝试这种情况,但 EXE 没有加载调试 DLL 并抛出错误“此应用程序无法启动...”。

我知道这不是一个好的方案,但由于某些要求,我必须完成这项工作。

Tot*_*nga 5

如果您的 dll 接口不依赖于在调试和发布中可能看起来不同的类,它就可以工作。例如,MSVC 中的 std::string 和 std::vector 在调试和发布中不兼容。(栅栏……)

所以例如

std::string GetName();
Run Code Online (Sandbox Code Playgroud)

不管用。

另外,new 和delete 不应移动,因为调试/发布使用不同的运行时。但无论如何,您应该始终delete处于与new.