Минимизировать размер библиотеки SQLite - PullRequest
3 голосов
/ 12 июля 2011

Я предполагаю, что это то же самое для sqlite3.dll или sqlite3.lib, но если нет, меня интересует sqlite3.o (mingw32).

Как можно минимизировать размер библиотеки (компиляцияс -O3, так как скорость является моей главной задачей, поэтому разные оптимизации компилятора не возможны)?
Если я знаю, что есть части SQL, которые мне не нужны в моей программе (например, JOIN или ATTACHили триггеры), могу ли я удалить поддержку для них (это для встроенной системы и каждого байта, или, по крайней мере, каждые 100 байт или около того)?
Какие параметры препроцессора я могу установить для удаления таких вещей, как FTS или R-Три поддержка, которая мне не нужна?Я устанавливаю их в командной строке или в файле?
Есть ли какие-либо другие вещи, которые легко снимаются, которые мне могут не понадобиться и даже не знать, что они существуют для их удаления?
Как насчет некоторых из CAPI?Большую часть я никогда не использую.

1 Ответ

4 голосов
/ 12 июля 2011

Пожалуйста, посмотрите здесь .Там есть глава «Опции, чтобы опустить функции».Вы найдете, например, SQLITE_OMIT_ATTACH там.

Но, пожалуйста, обратите внимание на предупреждение.В нем говорится

, что параметры времени компиляции SQLITE_OMIT_ * обычно не проверены и почти наверняка не проверены в комбинации.Любые или все эти параметры могут быть удалены из кода в будущих выпусках и без предупреждения.Для любого конкретного выпуска некоторые из этих параметров могут вызывать сбои во время компиляции или во время выполнения, особенно при использовании в сочетании с другими параметрами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...