우리는 응용 프로그램에서 sqlite3을 사용하고 있으며 불필요한 기능을 제거하여 sqlite3의 초소형 빌드가 정말로 필요합니다. 우리는 이미 -Os 플래그를 사용하고 있습니다.SQLite3의 작은 사용자 정의 빌드
우리의 응용 프로그램은 몇 가지 색인과 간단한 선택, 업데이트, 삽입, 삭제 쿼리가있는 단일 테이블 만 사용합니다. 모든 열은 정수, 텍스트 또는 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
IMO를 제거 할 가치가없는 대부분의 기능 (약 10-15k)을 생략 한 후에도 크기 축소는 극히 무시할 수 있습니다. – yumoji