调试与发布库版本在调试/发布客户端应用程序中有不同的行为
Debug vs release library version has different behavior with debug/release client application
我有一个库(动态与隐式链接)由msvc 10.0构建,导出类和STL容器。它作为发布版和调试版(两个版本)构建。它不是我的,所以我没有源代码。
我有一个简单的应用程序,从这个库调用方法(也由msvc 10.0构建,所以,我想,STL和编译器版本的兼容性不应该有问题)。
- 如果应用程序构建为调试链接库的调试版本-一切正常,假设。
- 如果应用程序构建为发布链接库的发布版本-一切正常,假设。
- 如果作为调试链接库的发布版本构建的应用程序-库逻辑内部出现错误,它抛出异常length_error,文本"vector too long "
为什么会发生这种情况,如果它完美地工作没有任何改变,只是如果应用程序有不同的发布/调试设置?
我没有改变任何默认的IDE设置,选择"release"/"debug"
类和STL容器的调试和发布版本可以有不同的内存布局,包括不同的变量。假设一个布局在被要求处理另一个布局时会失败而编译的代码。
相关文章:
- "unknown ca"自生成的 CA、证书和客户端/服务器
- 如何将函数集合传递给客户端类,以便将它们当作客户端类本身的成员使用
- 使用调试/崩溃报告将应用程序部署到客户端
- 如何在本地机器上运行c++和javascript客户端代码(hackerbank风格)
- 如何通过套接字将文本文件的内容从服务器发送到客户端
- 从服务器传输到客户端的消息不会出现
- OpenSSL TLS服务器-使用客户端证书白名单
- 当服务中的事件被触发时,如何将响应从服务发送回客户端?
- 我可以与 python 服务器而不是 c++ 客户端建立 tcp/ip 套接字吗?
- 提升 Asio TCP 服务器 处理多个客户端
- boost::asio UDP 广播客户端仅接收"fast"数据包
- 如何绑定 C++ gRPC 客户端的网络接口
- C++套接字客户端到 Python 服务器未创建连接
- 用于解析 win64 堆栈跟踪的命令行客户端(可以访问符号服务器)
- 将相机数据从服务器实时流式传输到客户端
- 如何将 Firebase 与基于 Linux 的客户端应用配合使用,以便与服务器进行双向消息通信
- GRPC C++ TLS 客户端 grpc::SslCredentials() 方法不返回
- 计算出有多少客户端可以连接到我正在使用的一些tcp服务器代码
- 调试发布构建客户端崩溃:获取调用堆栈的可能方法是什么?
- 调试与发布库版本在调试/发布客户端应用程序中有不同的行为