sqlite内存泄漏解决办法

来源:互联网 发布:广告配音制作软件 编辑:程序博客网 时间:2024/06/05 08:39

sqlite内存泄漏解决办法  

2012-09-26 13:54:54|  分类:默认分类 |举报|字号 订阅

用cppsqlite发生内存泄漏,最后发现是把事物当普通语句去执行了。

其实本质是下面的:

1. 在使用

sqlite3_get_table(
  sqlite3 *db,          /* An open database */
  const char *zSql,     /* SQL to be evaluated */
  char ***pazResult,    /* Results of the query */
  int *pnRow,           /* Number of result rows written here */
  int *pnColumn,        /* Number of result columns written here */
  char **pzErrmsg       /* Error msg written here */
);

后,要调用   sqlite3_free_table(pazResult) 来释放结果集,防止内存泄露


2. 在使用

sqlite3_exec(
  sqlite3*,                                  /* An open database */
  const char *sql,                           /* SQL to be evaluated */
  int (*callback)(void*,int,char**,char**),  /* Callback function */
  void *,                                    /* 1st argument to callback */
  char **errmsg                              /* Error msg written here */
);

后,要调用 sqlite3_free(*errmsg) 来释放错误信息,防止内存泄露

0 0
原创粉丝点击