09 05 |
SQLite-麻雀雖小五臟俱全作者: Joey 日期: 2008-09-05 14:46 |
前一陣子寫裝置管理軟體時,曾經有考慮過使用SQLite這個database,因為它的優點是簡單易用,體積小(56k),記憶體使用量少(100多k),所以我曾經寫一堆wrapper API,把它封裝成方便工程師呼叫的函式,不過後來因為效能和系統整合的考量,又寫了另外一套管理的軟體取代掉先前寫的東西,其實自從離開學校開始工作後,幾乎一個程式都會寫好幾個版本互相比較效能,看看有沒有一個time complexity 和space complexity的平衡點,所以我覺的在學校演算法的基礎要打好一點,ACM多玩一點,對自己幫助很多,不過最好的是能碰到功力高強的同學一起切磋,進步幅度會很快
真是抱歉講了一廢話,因為SQLite的使用實在太簡單了,連它的C API也很簡潔,所以我只好寫些東西充版面,在編譯前先執行cross compile shell script, cross compile shell script範例如下,toolchain也是用ELDK
編譯完後,把.libs資料夾下的library和binary丟到板子上的/lib和/bin資料夾,記得要補上libdl和libphread這兩個library,執行SQLite會出現如下界面,這邊你可以下SQL command或其它特殊的指令,網路上有一篇文章講到大概的用法,請參考試用
而它提供的C API有夠簡單的,分為下面三組
(1) sqlite3_open:打開資料庫
(2) sqlite3_exec:執行SQL指令
(3) sqlite3_close:關閉資料庫
範例程式如下
![]() |
我按照方法編譯出檔案了 可是使用FTP上傳至將sqlite3傳至開發板的/bin /lib裡的檔案也都上傳到開發板的/lib 在下命令執行sqlite3 卻發生了sqlite3: No such file or directory 請問是我漏做了甚麼嗎? |
![]() |
Do you place all library files which sqlite needs on your target board? Please try to type "readelf -a your_sqlite_binary | more" to find out which library file is missing on the target board. |
![]() |
打指令時,忘記打分號,或者多打分號。 |
fw_printenv-control u-boot enviroment variables under linux (2009-05-12 16:35)
rpcapd與netcat-測試嵌入式系統的好工具 (2009-04-09 17:06)
udev-強大的device node管理系統 (2009-02-02 20:35)
Framebuffer兩三事-Test On QT2410 (2009-01-12 16:29)
UIO-Linux user space I/O driver (2008-12-15 14:50)
GDB-刺入bug心臟的寶劍 (2008-10-15 16:11)
Telnet daemon-RS232以外的選擇 (2008-10-03 18:57)
在嵌入式系統切換file system-以squashfs和jffs2為例 (2008-10-01 19:44)
Linux kernel module-進入系統核心的鑰匙 (2008-09-12 14:03)