开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

同上






本文转自 tywali 51CTO博客,原文链接:http://blog.51cto.com/lancelot/940814,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Python编程:Python2和Python3下的translate函数字符映射替换
python2 和 python3的不兼容 导致了诸多问题。 喏,一个 translate 都有好几种写法
45 0
Java编程思想——多线程的三大核心源码层解密
  欢迎大家关注,欢迎评论 对于Java并发编程,一般来说有以下的关注点: 1.线程安全性,正确性。 2.线程的活跃性(死锁,活锁) 3.性能 其中线程的安全性问题是首要解决的问题,线程不安全,运行出来的结果和预期不一致,那就连基本要求都没达到了。
884 0
使用Sublime Text快速编译运行java程序
终于建了一个自己个人小站:https://huangtianyu.gitee.io,以后优先更新小站博客,欢迎进站,O(∩_∩)O~~ 1、实现sublime Text 3对java编译执行 1.1直接在安装路径下找到*\Packages\Java.sublime-package文件,用解压缩软件打开,找到JavaC.sublime-build文件,将shell_cmd中的javac改成javaRun,保存后将原压缩文件中的文件替换,如果你的sublime text 3已经打开,会报错,关闭后再次覆盖。
1661 0
《Java 2D游戏编程入门》—— 2.3 处理鼠标输入
SimpleMouseInput类位于javagames.util包中,它和前面小节中开发的键盘输入类非常相似。处理鼠标按键的方式与处理键盘按键的方式相同。实现MouseListener接口的类包含了如下的方法:
1441 0
《Java编码指南:编写安全可靠程序的75条建议(英文版)》—— 2.2 创建Saluton程序
你要创建的第一个Java程序将显示计算机科学界的传统问候语“Saluton mondo!”。 在NetBeans中输入第一个程序之前,先采取如下步骤来创建一个称为Java24的新项目。
1377 0
使用JavaFX2.0编写国际象棋游戏
前面发布了不少Javafx2的教程,不觉手痒,想尝试一下JavaFX到底有多强大。 呵呵,不错,我还没有用JavaFX编写过完整的应用。 扭头一看,我桌子上一本国际象棋的书跳进了我的眼睛。
956 0
启动菜单恢复工具bcdautofix1.22最新版下载
安装双系统的朋友经常有这样的现象发生:xp系统崩溃了需要重新安装或者一键GHOST以后,系统引导菜单“坏掉了”,原来的windows双系统只剩下XP了,如果没有合适的处理方法,甚至要重装系统按照版本从低到高的顺序才回出现引导菜单! 今天给大家推荐一款能解决此类问题的引导修复利器: bcdautofix_v1.
876 0
启动菜单恢复工具bcdautofix1.22最新版下载
安装双系统的朋友经常有这样的现象发生:xp系统崩溃了需要重新安装或者一键GHOST以后,系统引导菜单“坏掉了”,原来的windows双系统只剩下XP了,如果没有合适的处理方法,甚至要重装系统按照版本从低到高的顺序才回出现引导菜单! 今天给大家推荐一款能解决此类问题的引导修复利器: bcdautofix_v1.
743 0
启动菜单恢复工具bcdautofix1.22最新版下载
安装双系统的朋友经常有这样的现象发生:xp系统崩溃了需要重新安装或者一键GHOST以后,系统引导菜单“坏掉了”,原来的windows双系统只剩下XP了,如果没有合适的处理方法,甚至要重装系...
818 0
+关注
20377
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载