3

我有一个 Borland C++Builder 6.0 项目。在这个项目中,我使用 SQLite 库。我使用 sqlite3.c 文件(SQLite 合并 3.7.11)。一切正常。但是当我在 C++Builder 中启用 CodeGuard 时,CodeGuard 在 sqlite3.c 中给了我很多错误。像“访问溢出”“算术溢出”“资源泄漏”。

我试图在项目的数据库中插入 100000 条记录。执行此操作大约需要 130 秒,并且该进程使用的内存根本没有增加。所以我认为实际上没有内存泄漏。

我的问题是:我应该认真对待 sqlite 中的 CodeGuard 错误吗?或者我可以忽略它们吗?也许他们是误报?还是 C++Builder 6 编译器不适合 SQlite?

4

2 回答 2

1

我通过使用SQLITE_WIN32_MALLOC定义的选项进行编译消除了这些警告,该选项将 SQLite 配置为使用 Win32 本机堆 API 而不是malloc().

于 2014-01-15T13:20:26.840 回答
1

SQLite 是非常可靠的代码。BCB 6 是一个非常古老的编译器。

我建议 SQLite 代码没问题,但编译器在 CodeGuard 中生成错误代码或误报。

于 2012-05-26T04:20:42.180 回答