亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問板塊 發(fā)新帖
查看: 2902 | 回復(fù): 1
打印 上一主題 下一主題

基于S3C2440的SQLite移植 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-10-09 21:54 |只看該作者 |倒序?yàn)g覽

學(xué)習(xí)內(nèi)容:SQLite移植
版本:V1.1
作者:Feng dong rui
整理日期:2009.09.29
嵌入式技術(shù)交流群:92388278
交流郵箱:1986fdr@163.com

基于S3C2440的SQLite移植
一、環(huán)境介紹
1、主機(jī)環(huán)境:虛擬機(jī)下Fedora9
2、交叉編譯器:arm-linux-gcc-4.3.2
3、軟件包:sqlite-3.6.18.tar.bz2
4、把sqlite-3.6.18.tar.bz2解壓到主機(jī)的/opt/studyarm/SQLite-transplant目錄下,并重命名為sqlite,在同一級(jí)目錄下在新建目錄sqlite-arm,這個(gè)目錄來放編譯后產(chǎn)生的文件。
二、移植步驟
1、配置SQLite
在sqlite目錄下進(jìn)行如下配置:
./configure --prefix=/opt/studyarm/SQLite-transplant/sqlite_arm --disable-tcl --host=arm-linux
2、編譯
make
3、安裝
make install
該命令將編譯好的文件安裝到sqlite-arm目錄下,在sqlite-arm目錄下會(huì)生成bin、lib、include目錄,bin目錄下是sqlite3可執(zhí)行文件,lib目錄下包含運(yùn)行sqlite3所依賴的庫(kù),另外在編譯,另外在編譯sqlite應(yīng)用程序時(shí),必須指明所依賴的頭文件和庫(kù)。
4、去掉調(diào)試信息(可選)
文件編譯后會(huì)產(chǎn)生許多調(diào)試信息,下載到開發(fā)板將會(huì)占用較多存儲(chǔ)器。我在編譯后lib目錄下文件大小達(dá)到2.2M,占用了不少Flash,為減小Flash占用去掉不必要的調(diào)試信息。在sqlite_arm目錄下執(zhí)行如下命令:
arm-linux-strip bin/*
arm-linux-strip lib/*
去掉調(diào)試信息后文件大小減小許多。將sqlite_arm /bin目錄下的文件sqlite3拷貝到根文件系統(tǒng)的bin目錄下,并將sqlite_arm/lib目錄下的文件拷貝到根文件系統(tǒng)的lib目錄下。
三、測(cè)試
1、新建數(shù)據(jù)庫(kù)
[rootMrFeng]#sqlite3 test.db
SQLite version 3.6.18
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> create table film (number,name);
sqlite> insert into film values (1,'aaa');
sqlite> insert into film values (2,'bbb');
sqlite> select * from film;
1|aaa
2|bbb
sqlite>.quit
[rootMrFeng]#
藍(lán)色部分為輸入。
2、測(cè)試程序
這里以SQLite官方站點(diǎn)http://sqlite.org的quick start文檔中的測(cè)試程序?yàn)槔龑?duì)移植到ARM-Linux上的SQLite3進(jìn)行測(cè)試。該程序清單如下:
//test_sqlite.c
#include
#include

static int callback(void *NotUsed, int argc, char **argv, char **azColName)
{
    int i;
    for(i=0; i
    {
        printf("%s = %s\n", azColName, argv ? argv : "NULL");
    }
    printf("\n");
    return 0;
}

int main(int argc, char **argv)
{
    sqlite3 *db;
    char *zErrMsg = 0;
    int rc;
    if( argc!=3 )
    {
        fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);
    }
    rc = sqlite3_open(argv[1], &db);
    if( rc )
    {
        fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
        sqlite3_close(db);
    }
    rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg);
    if( rc!=SQLITE_OK )
    {
        fprintf(stderr, "SQL error: %s\n", zErrMsg);
    }
    sqlite3_close(db);
    return 0;
}
使用如下命令編譯測(cè)試程序:
arm-linux-gcc -o test_sqlite test_sqlite.c -lsqlite3 -L/opt/studyarm/SQLite-transplant/sqlite_arm/lib -I/opt/studyarm/SQLite-transplant/sqlite_arm/include
使用如下命令去掉調(diào)試信息:
arm-linux-strip test_sqlite
3、在上面新建的數(shù)據(jù)庫(kù)目錄下測(cè)試:
[rootMrFeng]#./test_sqlite  test.db  "select * from film"
number = 1
name = aaa

number = 2
name = bbb

[rootMrFeng]#
















---------------------取之于網(wǎng)絡(luò),還之于網(wǎng)絡(luò)-------------------------


本文來自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u3/104286/showart_2066623.html

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2012-10-15 20:07 |只看該作者
移植過程中,可以把一些心得體會(huì)寫出來分享一下,那樣更好了!

回復(fù) 1# unix_disciple


   
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP