2011-07-12 63 views
3

我认为这是相同的sqlite3.dll或sqlite3.lib,但如果没有,我对sqlite3.o(mingw32)感兴趣。最小化SQLite库大小

如何最小化库的大小(编译时使用-O3,因为速度是我最关心的问题,所以不同的编译器优化不是一种选择)?
如果我知道在我的程序中不需要SQL的某些部分(如JOINATTACH或触发器),我是否可以取消对它们的支持(这是针对嵌入式系统和每个字节计数的,或者至少每100字节左右)?
我可以设置哪些预处理器选项来删除我不需要的FTS或R-Tree支持?我是否将它们设置在命令行或文件中?
是否还有其他可轻松移除的东西,我可能不需要,甚至可能不知道它们存在以便将其移除?
一些C API如何?它大部分我从来没有使用过。

回答

4

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

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

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