[发明专利]一种程序编译的预处理方法及程序编译设备有效
申请号: | 201710209351.7 | 申请日: | 2017-03-31 |
公开(公告)号: | CN107015841B | 公开(公告)日: | 2021-01-08 |
发明(设计)人: | 王进;刘芳;黄璘 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 深圳翼盛智成知识产权事务所(普通合伙) 44300 | 代理人: | 黄威 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 编译 预处理 方法 设备 | ||
本发明实施例公开了程序编译的预处理方法及程序编译设备,应用于信息处理技术领域。本实施例的方法中,在程序编译设备添加了预处理模块,当程序编译设备在启动对目标程序的编译时,调用预处理模块以获取目标程序的源代码文件中各个函数的引用函数的信息并输出给程序编译设备,由程序编译设备将各个函数的相关信息写入到目标程序的编译日志中;且预处理模块还会将各个函数的相关信息储存到数据库中,以便数据分析系统根据各个函数的引用函数的信息确定目标程序的函数调用链。本实施例的方法为测试系统提供了真实可靠的变动范围,让有限的系统测试资源更加集中的注入到相关变动的部分,提高了测试效率。
技术领域
本发明涉及信息处理技术领域,特别涉及一种程序编译的预处理方法及程序编译设备。
背景技术
目前在编写终端设备所执行的应用程序时,一般都会先基于一定的编程语言(比如objective-c等)编写应用程序的源代码,然后再将源代码转化为终端设备的可执行文件,最后对该可执行文件进行测试。
其中,在将源代码转化为可执行文件的过程中,可以通过编译器(比如Xcode编译器)先得到源代码的抽象语法树(abstract syntax tree,AST)文本,然后再根据AST文件得到可执行文件。而在对可执行文件进行测试时,可以通过测试系统测试目标程序的各个功能模块运行的正确与否。
发明内容
本发明实施例提供一种程序编译的预处理方法及程序编译设备,实现了在程序编译设备对目标程序进行编译的过程中获取目标程序的各个函数的相关信息。
本发明实施例提供一种程序编译的预处理方法,应用于程序编译设备,所述方法包括:
所述程序编译设备在启动对目标程序的编译时,调用预处理模块;
所述预处理模块获取目标程序的源代码文件中各个函数的相关信息,其中,某一函数的相关信息包括:所述某一函数的引用函数的信息;
所述预处理模块将所述各个函数的相关信息输出给所述程序编译设备,且将所述各个函数的相关信息储存到数据库,以便数据分析系统根据所述数据库中储存的各个函数的引用函数的信息确定所述目标程序的函数调用链;
所述程序编译设备将所述各个函数的相关信息写入到所述目标程序的编译日志中。
本发明实施例还提供一种程序编译设备,包括预处理模块,调用单元,编译单元和日志单元,其中:
所述调用单元,用于在启动所述编译单元时,调用预处理模块;
所述预处理模块,用于获取目标程序的源代码文件中各个函数的相关信息,将所述各个函数的相关信息输出给所述日志单元,且将所述各个函数的相关信息储存到数据库,以便数据分析系统根据所述数据库中储存的各个函数的引用函数的信息确定所述目标程序的函数调用链,其中,某一函数的相关信息包括:所述某一函数的引用函数的信息;
所述日志单元,用于将所述各个函数的相关信息写入到所述目标程序的编译日志中;
所述编译单元,用于对所述目标程序的源代码文件进行编译。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710209351.7/2.html,转载请声明来源钻瓜专利网。