a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 107|回复: 0

[综合辅导] linux认证:ucLinux下sqlite数据库移植全攻略(4)

[复制链接]
发表于 2012-8-4 12:07:07 | 显示全部楼层 |阅读模式
linux认证:ucLinux下sqlite数据库移植全攻略(4)
. \0 N" K0 r. o3、函数do_meta_command(。。.)
8 V) Q& |# P& a6 a: n7 H) Z2 M找到类似这样的一句:# c8 {: q! f. K
sqlite_exec(p-》db, “PRAGMA database_list; ”, callback, &data, &zErrMsg);1 s3 {2 n6 _2 U% u; z; b: n
在它的前面有一句
! W. q$ `5 i# y: gmemcpy(&data, p, sizeof(data));$ r) R5 f" x9 n
现在在memcpy下面增加一行
0 R2 {3 f5 u# l2 g+ Jdata.cnt = 0;
# Y6 m' {! Y# q9 g$ N即将结构中cnt的值赋为0 ;9 D* m6 e* x4 P+ K/ E7 l) K: s
现在代码会被修改成类似:
/ r5 [2 e' L% Y  _/ M( @4 I/ G% Nopen_db(p);# K2 i8 L3 x/ a9 Y. B+ C4 Y
memcpy(&data, p, sizeof(data));" ]+ \3 }* R1 C; ]" v( {) A7 @
data.cnt = 0;
% R6 o1 ?5 g" X# d4 [3 a5 J0 P' Y再继续。! E: J  _; n; \! D
找到类似这样的一句:# [2 M- ?/ N* H
strcmp(azArg[1],“stdout”)==0
  y' l& m. U, [8 H; p9 k在它的下面的括号中:
# Q/ ]* T8 t9 t- X0 q  [将 strcpy(p-》outfile,“stdout”);
1 ^' |+ \" m5 R& U% T用 p-》outfilep = “stdout”;
) }9 K2 \7 k% x4 I( C! |. E4 @$ S2 h来替换。
7 _+ C8 \# h6 D2 B4 v1 f: ]再在它下面的5-6行处4 h8 I& @8 N7 }4 w& b1 Y  |" j
将:
8 n, f$ a  D' b) Vstrcpy(p-》outfile,azArg[1]);( Y( ~) A3 J( z
用:
6 a) t9 E8 e8 Qstrcpy(outfilename,azArg[1]);- F/ [( o# N3 S. @  `% T
p-》outfilep = outfilename;# Y' I% E! R. Y, ?6 t5 j
替换。
+ Z5 j6 e  G) O+ \$ h- W再继续,找到类似这样的一句:7 v% U* n2 G& q+ U& J) J- N3 W
fprintf(p-》out,“%9.9s: %s\n”,“output”,+ s( d* ?# n: y: U
将:" d9 |0 m- b$ \& c0 V
fprintf(p-》out,“%9.9s: %s\n”,“output”, strlen(p-》outfile) ? p-》outfile : “stdout”);- V. d- g2 D, _! w1 P5 Y
用:) ~2 e# r- ?  V8 o* u
fprintf(p-》out,“%9.9s: %s\n”,“output”, p-》outfilep && strlen(p-》outfilep) ? p-》outfilep : “stdout”);
( d" j5 p7 Z; u替换。
8 W( b! U! G* G7 ~完成修改。' J7 b: I  B8 m" I
上面的所有的对sqlite的修改完成后,你就可以make dep;make lib_only;make user_only;make romfs;make image了。) @; v2 y2 m6 P! R8 H1 X
如果你对sqlite 的修改,在make user_only过程中出现错误的话,你可以忽略make dep;make lib_only命令,直接再次进行make user_only;make romfs;make image;就可以了,而不用重复make dep;make lib_only。" z/ q" r( ~4 b1 o( Y1 v
make image会帮你生成romfs文件系统。现在在uClinux-dist/images下面就有编译生成的romfs文件系统了。这个就是我们需要的包含有sqlite的romfs了。, Q$ J& B8 m8 u9 e# l  n" r
在上面的过程中,你可以不用在“make image”后再去“make”生成kernel内核,因为你只需要生成romfs就可以了,它里面已经有sqlite了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-6-3 04:40 , Processed in 0.276333 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表