[发明专利]一种文件编译方法及装置有效
申请号: | 201710056623.4 | 申请日: | 2017-01-25 |
公开(公告)号: | CN106843995B | 公开(公告)日: | 2019-09-06 |
发明(设计)人: | 符志清 | 申请(专利权)人: | 杭州迪普科技股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 陈蕾 |
地址: | 310051 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文件 编译 方法 装置 | ||
本申请提供一种文件编译方法及装置,当存在两个或者多个共享库文件所对应的源码文件采用动态链接的方式循环依赖时,该方法及装置可通过创建软链接文件的方式,实现涉及这些循环依赖源码文件的所有编译过程正常执行。
技术领域
本申请涉及计算机技术领域,尤其涉及一种文件编译方法及装置。
背景技术
为使代码编写简洁灵活、并有效地节省程序运行时所在系统的内存空间,编程人员会将一些常用的功能函数封装在对应功能模块下的共享库文件中、并在需要时直接调用。然而,这也使得系统文件之间产生了一定的依赖关系,这些依赖关系可以存在于可执行程序文件与共享库文件之间,也可以存在于两个或多个共享库文件之间。文件依靠文件间的依赖关系、与被依赖的文件相互作用、共同完成系统中的每一项任务。要使文件的依赖关系真实有效,一般需要在这些文件尚未编译之前,就采用动态链接的方式预先在这些文件所对应的源码文件间建立起相对静态的依赖关系。
现有技术中,编译器在对存有依赖关系的源码文件进行编译时,会遵循如下原则:先对所有共享库文件所对应的源码文件进行编译、生成共享库文件,再对可执行程序文件所对应的源码文件进行编译、生成可执行程序文件,其中,共享库文件和可执行程序文件统称为目标文件;并且,在对共享库文件所对应的源码文件进行编译时,会依照各源码文件间的依赖关系,先对被依赖的源码文件进行编译,再对其它源码文件进行编译。以上两点共同保证了:编译器在对每一源码文件进行编译时,该文件所依赖的源码文件已经经过了编译操作、生成了相应的目标文件,并由此实现每一工程目录下所有源码文件的正常编译。然而,当存在两个或多个共享库文件所对应的源码文件采用上述动态链接的方式循环依赖时,这些文件将通过文件间的依赖关系、形成一个封闭的依赖关系链,而由于该依赖关系链中的任一文件都将同时依赖其它文件、并为其它文件所依赖,故编译器无论从哪一文件开始编译,都将因为当前文件所依赖的文件尚未编译而报告当前文件编译失败,并由此导致涉及这些循环依赖源码文件的所有编译过程均无法正常执行。
发明内容
有鉴于此,本申请提供一种文件编译方法及装置,以当存在两个或者多个共享库文件所对应的源码文件采用上述动态链接的方式循环依赖时,实现涉及这些循环依赖源码文件的所有编译过程正常执行。
根据本申请实施例的第一方面,提供一种文件编译的方法,所述方法包括:
接收编译指令,针对编译指令所提供的每一功能模块的路径,确定该路径下共享库文件所对应的编译配置文件,其中,功能模块为用以实现系统功能的预配置文件或文件集;
针对编译配置文件中记录的共享库文件名称,判断以该名称命名的文件是否存在,并在不存在的情况下,创建以该名称命名的软链接文件;该软链接文件所指向的公共替身文件的自然编译完成时刻,已被配置为预设编译完成时刻,且该预设编译完成时刻早于系统中任一源码文件所对应的自然更新时刻;
针对所找到的每一编译配置文件中记录的共享库文件名称,判断以该名称命名的文件的编译完成时刻是否早于该共享库文件所对应源码文件的自然更新时刻;如果是,则对该共享库文件所对应的源码文件进行编译,以创建该源码文件对应的共享库文件。
根据本申请实施例的第二方面,提供一种文件编译的装置,所述装置包括:
接收单元,用于接收编译指令;
确定单元,用于针对编译指令所提供的每一功能模块的路径,确定该路径下共享库文件所对应的编译配置文件,其中,功能模块为用以实现系统功能的预配置文件或文件集;
第一判断单元,用于针对编译配置文件中记录的共享库文件名称,判断以该名称命名的文件是否存在;
第一创建单元,用于在以该名称命名的文件不存在的情况下,创建以该名称命名的软链接文件;该软链接文件所指向的公共替身文件的自然编译完成时刻,已被配置为预设时刻预设编译完成时刻,且该预设时刻预设编译完成时刻早于系统中任一源码文件所对应的自然更新时刻;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州迪普科技股份有限公司,未经杭州迪普科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710056623.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:机臂限位结构及无人机
- 下一篇:一体化倾斜机臂