https://www.sqlite.org/
编译安装sqlite3的Makefile
-
-
-
-
- INSTALL_PATH =/usr/local
-
- all: install
-
- libsqlite3.so: sqlite3.c sqlite3.h
- gcc -shared -fPIC $< -o $@
-
- install_lib: libsqlite3.so install_headers
- cp libsqlite3.so $(INSTALL_PATH)/lib
- ldconfig $(INSTALL_PATH)/lib
-
- install_headers: sqlite3.h sqlite3ext.h
- cp $^ $(INSTALL_PATH)/include/
-
- sqlite3: install_lib shell.c
- $(CC) shell.c -o $@ -lsqlite3 -lpthread -ldl
-
- install_shell: sqlite3
- cp $^ $(INSTALL_PATH)/bin
-
- install: install_lib install_shell
-
- uninstall:
- rm -f \
- $(INSTALL_PATH)/lib/libsqlite3.so \
- $(INSTALL_PATH)/include/sqlite3.h \
- $(INSTALL_PATH)/include/sqlite3ext.h \
- $(INSTALL_PATH)/bin/sqlite3
-
- clean:
- rm -f *.so sqlite3
-
- .PHONY: install install_lib install_headers install_shell clean
客户端程序
-
-
- 1
-
-
- 2
-
-
- 3
-
-
- 4
-
-
- 5
-
-
- 6
-
-
- 7
-
-
- 8
-
-
- 9
-
-
- 10
-
-
- 11
-
-
- 12
-
-
- 13
-
-
- 14
-
-
- 15
-
-
- 16
-
-
- 17
-
-
- 18
-
-
- 19
-
-
- 20
-
-
- 21
-
-
- 22
-
-
- 23
-
-
- 24
-
-
- 25
-
-
- 26
-
-
- 27
-
-
- 28
-
-
- 29
-
-
- 30
-
-
- 31
-
-
- 32
-
-
- 33
-
-
- 34
-
-
- 35
-
-
- 36
-
-
- 37
-
-
- 38
-
-
- 39
-
-
- 40
-
-
- 41
-
-
- 42
-
-
- 43
-
-
- 44
-
-
- 45
-
-
-
-
- #include <stdio.h>
- #include <stdlib.h>
- #include <sqlite3.h>
-
- static int callback(void * not_used,int argc,136); Box-sizing: border-Box;">char * argv[],136); Box-sizing: border-Box;">char * col_names[]);
-
- int main(char * argv[])
- {
- sqlite3 * db = NULL;
- char * zErrMsg = NULL;
-
- if(argc != 3)
- {
- fprintf(stderr,"Usage: %s DATABASE sql-STATEMENT\n",argv[0]);
- return EXIT_FAILURE;
- }
-
- if(sqlite3_open(argv[1],&db) != sqlITE_OK)
- {
- "Can't open database: %s\n",sqlite3_errmsg(db));
- sqlite3_close(db);
- if(sqlite3_exec(db,102); Box-sizing: border-Box;">2],callback,NULL,&zErrMsg) != sqlITE_OK)
- {
- "sql error: %s\n",zErrMsg);
- sqlite3_free(zErrMsg);
- }
-
- sqlite3_close(db);
-
- return EXIT_SUCCESS;
- }
-
- char * col_names[])
- {
- for(int i; i < argc; i++)
- printf("%s = %s\n",col_names[i],argv[i] ? argv[i] : "NULL");
- "\n");
- return 0;
- }
编译客户端程序的Makefile
-
-
- 1
-
-
- 2
-
-
- 3
-
-
- 4
-
-
- 5
-
-
- 6
-
-
- 7
-
-
- 8
-
-
- 9
-
-
-
-
- all: main
-
- main: main.c gcc main.c -o main -lsqlite3 -lpthread -ldl clean: rm -r main .PHONY: clean
-
- DROP TABLE main.user;
- CREATE user( Name TEXT,Age INTEGER );
-
- INSERT INTO user VALUES('Huo Yun',27);
- 'Gao Jingzhuo',102); Box-sizing: border-Box;">30);