[发明专利]一种程序编译的预处理方法及程序编译设备有效
申请号: | 201710209351.7 | 申请日: | 2017-03-31 |
公开(公告)号: | CN107015841B | 公开(公告)日: | 2021-01-08 |
发明(设计)人: | 王进;刘芳;黄璘 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 深圳翼盛智成知识产权事务所(普通合伙) 44300 | 代理人: | 黄威 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 编译 预处理 方法 设备 | ||
1.一种程序编译的预处理方法,其特征在于,应用于程序编译设备,所述方法包括:
当对目标程序进行调试时,在所述程序编译设备提供的界面输入一行命令,启动所述程序编译设备对目标程序的编译,当所述程序编译设备在启动对目标程序的编译时,调用预处理模块;
所述预处理模块获取所述目标程序的源代码文件中各个函数的相关信息,其中,某一函数的相关信息包括:所述某一函数的引用函数的信息;
所述预处理模块将所述各个函数的相关信息输出给所述程序编译设备,且将所述各个函数的相关信息组成的中间文件储存到数据库,以便数据分析系统根据所述数据库中储存的各个函数的引用函数的信息确定所述目标程序的函数调用链;
所述程序编译设备将所述各个函数的相关信息写入到所述目标程序的编译日志中;
在对所述目标程序的一次调试后,在所述程序编译设备提供的界面输入另一行命令,以删除所述中间文件;
所述程序编译设备调用预处理模块之前,所述方法包括:显示设置界面及所述设置界面的模块添加接口;从所述模块添加接口获取用户输入的信息,所述用户输入的信息包括所述预处理模块的代码文件的存储路径,及所述预处理模块与所述程序编译设备之间的接口信息;储存所述用户输入的信息;
其中,所述程序编译设备调用预处理模块,包括:根据所述接口信息调用所述存储路径中储存的预处理模块的代码文件;
所述预处理模块与所述程序编译设备之间的接口信息,包括:所述程序编译设备开始调用所述预处理模块的接口信息,及所述预处理模块输出信息到所述程序编译设备的接口信息。
2.如权利要求1所述的方法,其特征在于,所述预处理模块获取目标程序的源代码文件中各个函数的相关信息,具体包括:
遍历所述目标程序的源代码文件中的每个函数定义,访问每个函数定义的内部信息,所述内部信息中包括引用函数的信息;
分别解析所述每个函数定义的内部信息中所述引用函数的信息得到各个函数的引用函数的信息。
3.如权利要求1所述的方法,其特征在于,所述某一函数的相关信息还包括:所述某一函数所在的源代码文件的文件路径;
所述方法还包括:所述数据分析系统根据所述各个函数所在的源代码文件的文件路径分别确定各个函数对应的所述目标程序的功能模块,储存所述各个函数对应的功能模块的信息。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述数据分析系统根据所述各个函数的相关信息中各个函数的引用函数的信息确定所述目标程序的函数调用链。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
所述数据分析系统获取所述目标程序与另一目标程序之间的差别函数,从所述函数调用链中查找差别函数的调用链。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710209351.7/1.html,转载请声明来源钻瓜专利网。