地址:http://www.sqlite.org/download.html組織形式可以看到source code是Amalgamation。真正的源碼在這裡什麼是Amalgamation下載源碼以後,打開時候這樣子的src文件夾里就是所有的代碼,大概有一百多個。那麼為啥還要有一個Amalga... ...
地址:http://www.sqlite.org/download.html
組織形式

可以看到source code是Amalgamation
。
真正的源碼在這裡

什麼是Amalgamation
下載源碼以後,打開時候這樣子的

src文件夾里就是所有的代碼,大概有一百多個。
那麼為啥還要有一個Amalgamation
呢?
SQLite標準的makefile產出的就是一個amalgamation
,其實就是一個sqlite3.c
單文件,大概有6.4M,184K行代碼。
使用時,只需要把sqlite.c
放在工程目錄下編譯就好了。其中sqlite.c
的前幾千行就是sqlite.h
的內容。
使用amalgamation
有兩個好處
1. 使用方便。只需要把sqlite.c
放在目錄下
2. 使得運行更快。因為大部分編譯器對於單文件,可以做一些優化。經過測試,大概可以提高5到10個百分點。
當然也有壞處:
由於編譯器使用了內聯函數(function inlining),使得二進位大一些。