Wir verwenden sqlite3 in einer Anwendung und wir brauchen wirklich eine super kleine Build von SQLite3 durch Entfernen unnötiger Funktionen. Wir verwenden bereits die Option -Os.Kleine benutzerdefinierte Build von SQLite3
Unsere Anwendung verwendet nur eine einzige Tabelle mit ein paar Indizes und einfache Abfragen auswählen, aktualisieren, einfügen, löschen. Alle Spalten sind entweder Integer, Text oder Blob.
Ich habe versucht, benutzerdefinierte Build von sqlite3.c aus kanonischen Quelle mit verschiedenen SQLITE_OMIT_ * Flags unten zu generieren, scheint aber nur marginale Auswirkungen auf die binäre Größe haben.
Alle Vorschläge zu anderen OMIT-Optionen. Auch wenn eine der OMIT-Optionen irgendwelche Nebenwirkungen für die begrenzte Nutzung hat, die ich oben erwähnt habe.
-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
die Größenreduktion ist extrem vernachlässigbar, auch nach dem Auslassen der meisten Funktionen - etwa 10-15k, nicht wert, IMO zu entfernen. – yumoji