SQLite3的小型自定义构建

时间:2016-06-08 11:56:21

标签: sqlite android-sqlite

我们在应用程序中使用sqlite3,我们确实需要通过删除不必要的函数来构建超小型的sqlite3。我们已经在使用-Os标志了。

我们的应用程序仅使用具有多个索引的单个表以及简单的选择,更新,插入,删除查询。所有列都是整数,文本或blob。

我尝试使用下面的各种SQLITE_OMIT_ *标志从规范源生成sqlite3.c的自定义构建,但似乎只对二进制大小产生了微不足道的影响。

有关其他OMIT选项的任何建议。此外,如果任何OMIT选项对我上面提到的有限使用有任何副作用。

-DSQLITE_OMIT_ALTERTABLE 
-DSQLITE_OMIT_ANALYZE 
-DSQLITE_OMIT_ATTACH 
-DSQLITE_OMIT_AUTHORIZATION 
-DSQLITE_OMIT_BUILTIN_TEST 
-DSQLITE_OMIT_CAST 
-DSQLITE_OMIT_CHECK 
-DSQLITE_OMIT_COMPILEOPTION_DIAGS 
-DSQLITE_OMIT_COMPLETE 
-DSQLITE_OMIT_COMPOUND_SELECT 
-DSQLITE_OMIT_CTE 
-DSQLITE_OMIT_DATETIME_FUNCS 
-DSQLITE_OMIT_DECLTYPE 
-DSQLITE_OMIT_DEPRECATED 
-DSQLITE_OMIT_EXPLAIN 
-DSQLITE_OMIT_FLAG_PRAGMAS 
-DSQLITE_OMIT_FLOATING_POINT 
-DSQLITE_OMIT_FOREIGN_KEY
-DSQLITE_OMIT_UTF16

1 个答案:

答案 0 :(得分:1)

您可以使用所有SQLITE_OMIT_xxx选项,因为您没有提及使用任何这些功能。

不要使用SQLITE_OMIT_WSD,它实际上不会删除代码并会使库变大。

使用SQLITE_OMIT_AUTOINIT没有意义。

如果您忘记提及数据存储在磁盘上,则应避免使用SQLITE_OMIT_DISKIO