最小化SQLite库大小

时间:2011-07-12 13:13:16

标签: sqlite

我认为sqlite3.dll或sqlite3.lib也是如此,但如果没有,我对sqlite3.o(mingw32)感兴趣。

如何最小化库的大小(使用-O3进行编译,因为速度是我最关心的问题,因此不能选择不同的编译器优化)? 如果我知道我的程序中不需要SQL的一部分(例如JOINATTACH或触发器),我可以删除对它们的支持(这适用于嵌入式系统并且每个字节都很重要) ,或至少每100个字节左右)?
我可以设置哪些预处理器选项来删除我不需要的FTS或R-Tree支持等内容?我是在命令行还是在文件中设置它们? 是否还有其他易于拆卸的东西,我可能不需要,甚至可能不知道它们是否存在以便将它们移除? 一些C API怎么样?大多数我从不使用。

1 个答案:

答案 0 :(得分:4)

请查看here。有一章“省略功能的选项”。你会在那里找到例如SQLITE_OMIT_ATTACH

但请注意那里的警告。它说

  

SQLITE_OMIT_ *编译时选项通常是未经测试的   几乎可以肯定是未经测试的组合。任何或所有这些选项   可能会在将来的版本中从代码中删除,而不会发出警告。   对于任何特定版本,其中一些选项可能会导致   编译时或运行时故障,尤其是在使用时   与其他选项相结合。