zoukankan      html  css  js  c++  java
  • SQLite 3.7.13的加密解密(五)—— 修正编译错误和警告

    上面的代码是从网上下载下来的,它使用的SQLite版本比较旧,因此在SQLite 3.7.13下编译不通过,下面需要对编译错误和警告逐一修正。

    编译信息

    原因与修改方法

    'Pager' has no member named 'pCodecArg'

    在3.7.13版本中,Pager的成员变量pCodecArg名称修改为pCodec,因此用到pCodecArg变量的地方修改为使用pCodec。

    too few arguments to function 'sqlite3PagerPagecount'

    原来sqlite3PagerPagecount()函数用返回值得到页数量,3.7.13改为用指针参数得到页数量。

    修改前代码:

    Pgno nPage = sqlite3PagerPagecount(p);

    修改如下:

    int nPage;

    sqlite3PagerPagecount(p, &nPage);

    too few arguments to function 'sqlite3BtreeRollback'

    3.7.13版中sqlite3BtreeRollback()函数增加了个参数,是表示之前SQL语句执行结果的,在网上查了一下,这里直接传常量SQLITE_OK。

    implicit declaration of function 'sqliteFree'

    sqliteFree()函数在3.7.13版本中已经没有了,修改为使用sqlite3_free()函数。

    implicit declaration of function 'sqliteMalloc'

    原因同上,修改为使用sqlite3_malloc()函数。

    implicit declaration of function 'DATA_TO_PGHDR'

    在3.7.13版本中,宏DATA_TO_PGHDR已经被去掉,这里暂时把该if语句下的代码全部注释。

    warning: passing argument 2 of 'sqlite3pager_set_codec' from incompatible pointer type

    sqlite3pager_set_coedc()函数的第二个参数类型为:void *(*xCodec)(void*, void*,Pgnoint)

    而调用的地方传递的参数类型为:void *sqlite3Codec(void *pArg, unsigned char*data, Pgno nPageNum, int nMode)

    很明显,第二个参数类型不匹配,修改sqlite3Codec()函数的第二个参数类型为void *,注意相应的函数声明的地方也要修改。

    warning: passing argument 3 of 'sqlite3PagerAcquire' from incompatible pointer type

    这里第三个参数类型为void *,实际要求的数据类型为DbPage *,将对应变量类型定义为DbPage *即可。

    warning: variable 'bRc' set but not used

    这个警告不影响使用,不用改。

    warning: 'sqlite3PagerSetCodec' defined but not used

    同上

    本文出自 “rainman” 博客,请务必保留此出处http://lancelot.blog.51cto.com/393579/940814


  • 相关阅读:
    MVC 使用Response.Redirect页面301重定向
    火狐浏览器缓存登录名、密码解决方法
    访问网站不存在的页面的时候跳转到指定页面,不需要报文件不存在
    2 分钟读懂大数据框架 Hadoop 和 Spark 的异同
    toString("#.##")
    状态保存机制之ViewState概述及应用
    数据库分页
    【模拟】 【HDU 5831】 Rikka with Parenthesis II
    【贪心】 【HDU 5821】 Ball
    【set】【HDU 5818】 Joint Stacks
  • 原文地址:https://www.cnblogs.com/iapp/p/3631761.html
Copyright © 2011-2022 走看看