[发明专利]一种函数调用关系的扫描方法、系统、设备及存储介质在审
| 申请号: | 202011583829.0 | 申请日: | 2020-12-28 |
| 公开(公告)号: | CN112596737A | 公开(公告)日: | 2021-04-02 |
| 发明(设计)人: | 陈超咏 | 申请(专利权)人: | 上海品顺信息科技有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/30 |
| 代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王云晓 |
| 地址: | 201100 上海市*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 函数 调用 关系 扫描 方法 系统 设备 存储 介质 | ||
1.一种函数调用关系的扫描方法,其特征在于,所述方法包括:
对Clang编译器的插件进行改造;
将改造后的Clang编译器的插件加入到Objective-C源码的编译过程中,以同步完成函数调用关系的提取,并录入数据库。
2.根据权利要求1所述的函数调用关系的扫描方法,其特征在于,所述对Clang编译器的插件进行改造的步骤包括:
重写基于LLVM的Clang编译器的RecursiveASTVisitor类的VisitDecl和VisitStmt,并通过clang::FrontendPluginRegistry往Clang编译器注册新的插件。
3.根据权利要求1所述的函数调用关系的扫描方法,其特征在于,所述将改造后的Clang编译器的插件加入到Objective-C源码的编译过程中,以同步完成函数调用关系的提取,并录入数据库的步骤包括:
将改造后的Clang编译器的插件加入到Objective-C源码的编译过程中,以同步完成函数调用关系的提取,并记录在本地;
编译完毕后,通过脚本扫描本地的函数调用关系,并插入数据库。
4.一种函数调用关系的扫描系统,其特征在于,所述系统包括:
改造模块,用于对Clang编译器的插件进行改造;
提取模块,用于将改造后的Clang编译器的插件加入到Objective-C源码的编译过程中,以同步完成函数调用关系的提取,并录入数据库。
5.根据权利要求4所述的函数调用关系的扫描系统,其特征在于,所述改造模块具体用于:
重写基于LLVM的Clang编译器的RecursiveASTVisitor类的VisitDecl和VisitStmt,并通过clang::FrontendPluginRegistry往Clang编译器注册新的插件。
6.根据权利要求5所述的函数调用关系的扫描系统,其特征在于,所述提取模块具体用于:
将改造后的Clang编译器的插件加入到Objective-C源码的编译过程中,以同步完成函数调用关系的提取,并记录在本地;
编译完毕后,通过脚本扫描本地的函数调用关系,并插入数据库。
7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1~3中任一项所述的函数调用关系的扫描方法。
8.一种包含计算机可执行指令的存储介质,所述计算机可执行指令由计算机处理器执行,以实现如权利要求1~3中任一项所述的函数调用关系的扫描方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海品顺信息科技有限公司,未经上海品顺信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011583829.0/1.html,转载请声明来源钻瓜专利网。





