我认为sqlite3.dll或sqlite3.lib也是如此,但如果没有,我对sqlite3.o(mingw32)感兴趣。
如何最小化库的大小(使用-O3
进行编译,因为速度是我最关心的问题,因此不能选择不同的编译器优化)?
如果我知道我的程序中不需要SQL的一部分(例如JOIN
或ATTACH
或触发器),我可以删除对它们的支持(这适用于嵌入式系统并且每个字节都很重要) ,或至少每100个字节左右)?
我可以设置哪些预处理器选项来删除我不需要的FTS或R-Tree支持等内容?我是在命令行还是在文件中设置它们?
是否还有其他易于拆卸的东西,我可能不需要,甚至可能不知道它们是否存在以便将它们移除?
一些C API怎么样?大多数我从不使用。
答案 0 :(得分:4)
请查看here。有一章“省略功能的选项”。你会在那里找到例如SQLITE_OMIT_ATTACH
。
但请注意那里的警告。它说
SQLITE_OMIT_ *编译时选项通常是未经测试的 几乎可以肯定是未经测试的组合。任何或所有这些选项 可能会在将来的版本中从代码中删除,而不会发出警告。 对于任何特定版本,其中一些选项可能会导致 编译时或运行时故障,尤其是在使用时 与其他选项相结合。