c2sqlite 使用 libclang 来将你的 C 文件中的基本信息存放到 sqlite 数据库中,当前存储的信息包括:
函数调用关系
函数声明
函数参数
示例: ./c2sqlite c2sqlite.c 该命令将创建名为 test.db 的 sqlite 数据库文件 可通过命令打开该文件: sqlite3 test.db 启用列信息: .explain 显示所有表: .tables 共有三个表:
./c2sqlite c2sqlite.c
test.db
sqlite3 test.db
.explain
.tables
function_calling
function_declaration
function_param
通过下面 SQL 语句查询函数调用 c2sqlite.c: SELECT * FROM function_declaration WHERE file='c2sqlite.c'; ` name file line col
c2sqlite.c
SELECT * FROM function_declaration WHERE file='c2sqlite.c';
db_open c2sqlite.c 19 1 db_close c2sqlite.c 48 1 db_begin c2sqlite.c 54 1 db_end c2sqlite.c 64 1 db_add_funcparam c2sqlite.c 74 1 db_add_funccall c2sqlite.c 97 1 db_add_funcdecl c2sqlite.c 120 1 functionDeclVisitor c2sqlite.c 149 1 cursorVisitor c2sqlite.c 169 1 main c2sqlite.c 197 1 `