我有一个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?
发布于 2012-05-26 12:20:42
SQLite是非常可靠的代码。BCB 6是一个非常老的编译器。
我认为SQLite代码没有问题,但是编译器在CodeGuard中要么生成了错误代码,要么生成了误报。
发布于 2014-01-15 21:20:27
通过使用定义的SQLITE_WIN32_MALLOC选项进行编译,我消除了这些警告,该选项将SQLite配置为使用Win32本机heap API而不是malloc()。
https://stackoverflow.com/questions/10728226
复制相似问题