溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SQLite編譯 (How To Compile SQLit

發(fā)布時間:2020-06-16 13:37:13 來源:網(wǎng)絡(luò) 閱讀:218 作者:fengyuzaitu 欄目:數(shù)據(jù)庫

摘自:http://www.sqlite.org/howtocompile.html
?
Amalgamation Versus Individual Source Files與單個源文件合并
SQLite是符合ANSI-C規(guī)范的源碼庫。必須編譯成機器碼方可使用。本文就是指導(dǎo)如何通過不同的方式對SQLite進行編譯。
?
本文不會手把手的教你編譯SQLite(step-by-steprecipe按部就班的菜譜)。鑒于開發(fā)平臺的不同,很難提供一個統(tǒng)一的說明書。相反,本文僅僅是描述和解釋SQLite編譯的基本原理。
如下提供了一些例子,這些例子中包含的通用的編譯命令,幫助應(yīng)用程序開發(fā)人員快速開發(fā)自己的自定義編譯程序
?
下文中提供了許多例子,這些例子包含了很多典型的編譯選項命令。應(yīng)用程序開發(fā)人員可以根據(jù)這些例子提供的指導(dǎo),自定義編譯程序。換言之,授人以魚不如授人以漁(provides ideas and insights,not turnkey solutions)
?
Alternative Source Code Formats? 替代源代碼格式
SQLite由一百多個C文件和腳本分散在不同的目錄構(gòu)成。SQLite由純ANSI-C來實現(xiàn),但是大部分的C語言源碼文件都是由(auxiliary)C程序或者AWK,SED,和TCL腳本生成或者轉(zhuǎn)換,從而生成SQLite庫。其中生成必須的C程序和轉(zhuǎn)換成或者生成C語言源碼本身就是一個復(fù)雜的過程。
?
為了簡便,SQLite提供單一源碼文件sqlite3.c。該文件可以構(gòu)建完整的SQLite庫。作為一個單源碼文件,可以很輕易的包含在其他的應(yīng)用程序當中。所有的代碼生成或者轉(zhuǎn)換都已經(jīng)被實現(xiàn),所以無需執(zhí)行任何的腳本,無需任何的C程序的配置。整個庫包含一個單獨的轉(zhuǎn)換單元,編譯器能夠提前優(yōu)化,性能提升在在5%到10%之間。感慨于此,強烈推薦采用單源碼文件編譯的方式。
The use of the amalgamation is recommendedfor all applications.
當然也可以通過獨立的源碼文件來構(gòu)建SQLite庫,但是不推薦。對于某些特殊的應(yīng)用,從網(wǎng)頁上下載的已經(jīng)預(yù)編譯的單源文件可能無法滿足需要進行修改編譯步驟的應(yīng)用場景。因此,強烈推薦按照下文的步驟,定義一個新的單源碼文件。就是說,即使項目需要從獨立的源碼文件開始構(gòu)建SQLite庫,還是希望能夠?qū)ⅹ毩⒌脑创a文件構(gòu)建成單源碼文件,通過中間步驟的方式,來構(gòu)建SQLite庫(it is still recommended that an amalgamation source file be used asan intermediate step.)
?
編譯命令行接口Compiling The Command-Line Interface
?
sqlite3.c:SQLite單一源碼文件
sqlite3.h:sqlite3.c的頭文件以及定義了SQLite的C語言接口
shell.c:命令行接口程序。擁有main函數(shù),循環(huán)等待用戶的輸入,然后提交用戶的輸入給SQLite數(shù)據(jù)庫的引擎處理。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI