c++ - 在调试或 Release模式下使用 DLL?

标签 c++ sqlite dll visual-c++-2012

我从 http://www.sqlite.org 下载了一个预编译的 SQLite DLL在这个链接sqlite-dll-win32-x86-3080600.zip .

我可以在 Debug模式和 Release模式下使用同一个 DLL 吗?会有什么区别,这怎么可能?我正在使用 Visual C++ 2012 编译器。

最佳答案

要使 DLL 内部在 Debug模式下可见,必须在 Debug模式下进行编译。否则,将没有可用的调试信息(例如观察变量、进入等)。另一方面,在 Debug模式下编译的 DLL 不应该用于发布,因为它速度较慢并且包含不必要的代码。我不确定调试函数的存在是否构成安全风险,但在生产环境中的 DLL 中添加额外的 Hook 听起来并不安全。

希望对您有所帮助!

关于c++ - 在调试或 Release模式下使用 DLL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25829619/

相关文章:

c++ - 在 x86 上如何将 double 传递给函数

Android SQLiteDatabase 通过 HashMap 访问

c# - 未找到单声道 GAC DLL

Python DLL 加载失败 : The specified module could not be found on microsoft fastRCNN script

C++ - 几何基元类层次结构

c++ - 对于 C++ 中的给定类,是否可以将同一类对象的 vector 作为私有(private)变量?

java - Android - 在另一个类中显示数据库信息

dll - 添加自定义 DLL 搜索路径@应用程序启动

c++ - 引用一个对象而不在 std::vector 中为其创建变量是否会创建该对象的新实例?

Swift sqlite 如何在一个字符串中运行多个查询(插入、更新等)