2011-07-12 24 views
3

これはsqlite3.dllまたはsqlite3.libと同じと仮定しますが、そうでない場合はsqlite3.o(mingw32)に興味があります。SQLiteのライブラリサイズを最小化

ライブラリのサイズを最小限に抑えるには(-O3でコンパイルしてください。スピードが私の心配なので、さまざまなコンパイラの最適化はオプションではありません)
私のプログラムでは不要なSQLの部分があることがわかっている場合(JOINまたはATTACHまたはトリガー)、これらのサポートを削除できますか?これは組み込みシステムの場合、すべてのバイト数、バイトなど)?
不要なFTSやRツリーサポートなどのプリプロセッサオプションを削除するにはどうすればよいですか?コマンドラインまたはファイルに設定しますか?
他のものは簡単に取り外しができないかもしれませんが、削除するためにそれらが存在していることさえ知り得ないかもしれません。
C APIのいくつかについてはどうですか?そのほとんどは決して使用しません。

答えて

4

hereをご覧ください。 「機能を省略するためのオプション」の章があります。たとえば、SQLITE_OMIT_ATTACHが見つかります。

ただし、警告がありますのでご注意ください。それは

SQLITE_OMIT_ *コンパイル時のオプションは、通常は未検証であり、組み合わせてテストされていないほぼ確実 あると言います。これらのオプションのいずれかまたはすべては、将来のリリースで警告なしにコードから削除される可能性があります。 特定のリリースでは、特に、 と他のオプションとの組み合わせで使用された場合、これらのオプションの中には コンパイル時または実行時のエラーが発生することがあります。