[发明专利]源代码文件管理方法及设备有效
申请号: | 201910656680.5 | 申请日: | 2019-07-19 |
公开(公告)号: | CN110377276B | 公开(公告)日: | 2023-05-23 |
发明(设计)人: | 何晓明;许晓梦;刘硕;李峰;宋炳雨 | 申请(专利权)人: | 潍柴动力股份有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 宋兴;刘芳 |
地址: | 261061 山东省潍坊*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 源代码 文件 管理 方法 设备 | ||
本发明提供一种源代码文件管理方法及设备,方法包括:根据提取的所有模块定义的对象名称key值及其模块名称为value值建立第一字典;提取目标模块包含其他模块的头文件名称,以头文件名称为key值、value值为0建立第二字典;提取目标模块引用的对象名称,并以提取的对象名称为key值以及目标模块名称为value值建立第三字典;若判断第三字典中目标key值在第一字典中存在,提取目标key值对应的模块名称;判断目标key值对应的头文件是否在第二字典中存在,若存在将头文件的value值修改为1,若不存在则将头文件添加到目标模块中;将第二字典中value值为0的头文件从目标模块中删除,操作效率较高,成本低。
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种源代码文件管理方法及设备。
背景技术
源代码文件中通常包含多个模块,每个模块又包含多个文件,这些文件中会有不同层次的包含关系。文件的包含关系对编译器的编译过程有很大的影响,错综复杂的文件的包含关系会影响编译器的编译过程,也会增加静态代码的分析成本。
目前现有技术中,为了修正简化源代码文件的模块文件包含关系,一般是通过人工查找的方式,将源代码文件中模块文件内与其他模块之间有包含关系的头文件保留,将模块文件内与其他模块之间没有包含关系的头文件删除。
但是,发明人发现现有技术至少存在如下技术问题:通过人工查找的方式效率低下,成本较高。
发明内容
本发明实施例提供一种源代码文件管理方法及设备,以解决通过人工查找的方式通过人工查找的方式,将源代码文件中模块文件内与其他模块之间有包含关系的头文件保留,将模块文件内与其他模块之间没有包含关系的头文件删除,存在的效率低下、成本较高的问题。
第一方面,本发明实施例提供一种源代码文件管理方法,包括:
提取源代码工程文件中所有模块定义的对象名称,并以每个模块的对象名称为key值及其对应模块的模块名称为value值建立第一字典;
提取目标模块包含的其他模块的头文件名称,并以头文件名称为key值、value值为0建立第二字典,其中所述目标模块为代码文件中所有模块中的任一个;
提取所述目标模块引用的对象名称,并以提取的对象名称为key值以及目标模块名称为value值建立第三字典;
判断所述目标模块的第三字典中的目标key值是否在第一字典中存在,若存在则在第一字典中提取所述目标key值对应的模块名称;
判断所述目标key值对应的模块名称对应的头文件是否在第二字典中存在,若存在则在第二字典将该头文件对应的value值修改为1,若不存在则将该头文件存入第四字典;
将第二字典中value值为0的头文件从目标模块的源代码文件中删除,将第四字典的头文件添加到目标模块的源代码文件中。
在一种可能的设计中,所述将第二字典中value值为0的头文件从目标模块的源代码文件中删除,将第四字典的头文件添加到目标模块的源代码文件中之后,还包括:
判断所述目标模块是否为最后一个模块;
若不是,则从所述源代码工程文件中获取另一目标模块,并继续执行提取目标模块包含的其他模块的头文件名称,并以头文件名称为key值、value值为0建立第二字典的步骤。
在一种可能的设计中,所述判断所述目标模块的第三字典中的目标key值是否在第一字典中存在之后,还包括:
若所述目标模块的第三字典中的目标key值在第一字典中不存在,则从所述源代码工程文件中获取另一目标模块,并继续执行提取目标模块包含的其他模块的头文件名称,并以头文件名称为key值、value值为0建立第二字典的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于潍柴动力股份有限公司,未经潍柴动力股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910656680.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:自动创建应用程序的方法和存储介质
- 下一篇:提示方法及其电脑系统