本发明专利技术公开了一种自动创建编译环境的方法,包括:步骤1,根据待编译目标单板对应的关键文件及所述关键文件对应的属性要求,在硬件驱动器中查找所述关键文件;步骤2,将查找到的所述关键文件的存在路径设置为编译器的工作路径,根据所述编译器的工作路径启动命令行编译环境,以编译所述待编译目标单板的代码。从而能够自动创建一个命令行编译环境,节省劳动时间,提高劳动效率,增强代码的可移植性。
【技术实现步骤摘要】
本专利技术涉及通信领域,尤其涉及一种自动创建编译环境的方法及系统。技术背景目前在通信系统的实际应用中,往往会用到不同CPU类型的单板,比如 PowerPC、 IntelX86、 ARM、 XSCALE、 C51、 IXP2400。在编译上述单板的代码时, 通常采用命令行方式。在针对不同类型的单板及不同型号的CPU进行编译时, 使用的编译器可能不同,编译器安装在不同的目录下,并且可能在注册表中找 不到相关的信息。按照传统的方法,为了能够同时编译多块单板,往往在一个批处理文件中 手工设置针对不同CPU类型的编译器的安装路径。使用上述方法,在每次将待 编译代码移植到其它机器上的时候,都需要修改该批处理文件,使之与移植后 机器的安装路径匹配。此外,在每次编译的时候,还需要手工启动一个命令, 将要编译的整个版本目录映射一个驱动器盘符,再逐次进入到该驱动器盘符下 的各单板的目录下,进行编译器的路径设置,然后才能进行编译。当版本的编 译次数较少,涉及的研发人员不多时,该方法还可以被接受。但当待编译的单 板版本较多,研发队伍庞大时,使用该方法使工作效率下降。
技术实现思路
为解决上述问题,本专利技术提供了一种自动创建编译环境的方法及系统,其 目的在于自动地建立一个命令行编译环境,节省劳动时间,提高劳动效率,增 强代码的可移植性。本专利技术公开了一种自动创建编译环境的方法,包括步骤1,根据待编译目标单板对应的关键文件及所述关键文件对应的属性 要求,在硬件驱动器中査找所述关键文件;步骤2,将査找到的所述关键文件的存在路径设置为编译器的工作路径,根据所述编译器的工作路径启动命令行编译环境,以编译所述待编译目标单板 的代码。所述步骤1进一步包括步骤21,根据操作系统注册表信息,解析得到硬盘驱动器列表; 步骤22,根据所述硬盘驱动器列表,在硬盘驱动器中查找所述关键文件; 步骤23,判断查找到的关键文件是否满足所述关键文件对应的属性要求,如果不满足,则执行步骤22继续査找。所述步骤23后还包括,步骤24,将査找到的所述关键文件的存在路径,保存到搜索结果文件中所述待编译目标单板对应的单板类型条目中。所述步骤1前还包括,步骤41,在所述搜索结果文件中査找所述关键文件的存在路径,如果未査找到,执行步骤l,否则,执行步骤2。 所述步骤41进一步包括步骤51,判断所述搜索结果文件是否存在,如果不存在,执行步骤l;步骤52,在所述搜索结果文件中查找所述待编译目标单板对应的单板类 型条目,如果未査找到,执行步骤l;步骤53,判断在所述单板类型条目中的关键文件存在路径下,是否存在 满足所述属性要求的关键文件,如果不存在,执行步骤l,否则,执行步骤2。所述步骤22还包括,如果未査找到所述关键文件,提供出错信息,所述 方法异常结束。本专利技术还公开了一种自动创建编译环境的系统,包括査找模块,用于根据待编译目标单板对应的关键文件及所述关键文件对应 的属性在驱动器中查找所述关键文件;执行模块,用于将査找到的所述关键文件的存在路径设置为编译器的工作 路径,根据所述编译器的工作路径启动命令行编译环境,以编译所述待编译目 标单板的代码。所述査找模块进一步用于,根据操作系统注册表信息,解析得到硬盘驱动 器列表,根据所述硬盘驱动器列表,在硬盘驱动器中査找所述关键文件,判断 査找到的关键文件是否满足所述关键文件对应的属性要求,如果不满足则继续 査找。所述査找模块还用于,将查找到的所述关键文件的存在路径,保存到搜索结果文件中所述待编译目标单板对应的单板类型条目中。所述执行模块还用于在所述搜索结果文件中查找所述关键文件的存在路 径,如果未查找到,则通过所述査找模块查找到所述关键文件的存在路径,如 果査找到,则设置编译器的工作路径为査找到的关键文件存在路径。本专利技术的有益效果在于,采用本专利技术所述方法及系统,能够自动创建一个 命令行编译环境,减少代码移植的困难,提高工作效率,并且还可以有效预防 因为代码版本与编译环境不匹配所产生的问题。附图说明图l是本专利技术系统结构图;图2是实现本专利技术方法的流程图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,自动创建编译环境的系统,包括查找模块101,用于根据操作系统注册表信息,解析得到硬盘驱动器列表, 根据所述硬盘驱动器列表,在各个硬盘驱动器中查找所述关键文件,判断查找 到的关键文件是否满足所述关键文件对应的属性要求,如果不满足则继续査 找,如果满足,则将查找到的所述关键文件的存在路径,保存到搜索结果文件 中的待编译目标单板对应的单板类型条目中,如果最终未查找到满足属性要求 的关键文件,则提供出错信息,并异常结束流程。执行模块102,用于判断所述搜索结果文件是否存在,如果不存在,则通 过查找模块101进行查找,否则,判断所述搜索结果文件中是否存在所述待编 译目标单板对应的单板类型条目,如果不存在,则通过查找模块101进行查找, 否则,判断在所述单板类型条目中的关键文件存在路径下,是否存在满足所述 属性要求的关键文件,如果不存在,通过查找模块101进行査找,如果存在, 将查找到的所述关键文件的存在路径设置为编译器的工作路径,根据所述编译 器的工作路径启动命令行编译环境,以编译所述待编译目标单板的代码。本专利技术的方法为通过解析操作系统的注册表中的数据,得到硬盘驱动器列 表,通过在各个硬盘驱动器中査找关键文件,判断査找到的关键文件是否满足 属性要求,以获得编译器的工作路径,从而建立对应于待编译目标单板的命令 行编译环境。判断硬盘驱动器是否存在,判断的方法为判断硬盘驱动器下面的 根文件是否存在,例如要判断C盘是否存在,只要判断根文件。\是否存。具体解析方法是在注册表项目HKEY—LOCAL_MACHINE\SYSTEM\MountedDevices中 査找具有特征字符串M)osDeviceA的字符串,提取特征字符串所在一行的字符 串,并提取紧接特征字符串后的一个字母,该字母为存在的驱动器盘符字母。 使用注册表项目而不采用罗列26个字母是因为项目中通常不含映射的驱动器 盘符,只要提取有效的盘符字母即可,而采用罗列26个字母的方法,则需要 排除虚拟映射的盘符,造成过程复杂化。当硬盘空间过大时,关键文件搜索时间可能会过长。为了縮短编译环境的 创建时间,减少査找过程,本专利技术将查找到的对应于待编译目标单板的关键文 件存在路径,保存到搜索结果文件中待编译目标单板对应的单板类型条目中, 搜素结果文件位于特定目录下。首先通过搜索结果文件查找确定路径,如果通 过搜索结果文件不能确定,再执行査找过程。本专利技术的方法实现流程如图2所示步骤S201,判断搜索结果文件是否已经存在,如果不存在,则执行步骤 S206,否则,执行步骤S202;步骤S202,在搜索结果文件中,查找待编译目标单板对应的单板类型条 目,如果未査找到,则执行步骤S206,否则,执行步骤S203;步骤S203,判断在査找到的单板类型条目提供的路径下,是否存在满足 关键文件属性要求的关键文件,如果不存在,执行步骤S206,否则,执行步 骤S204;步骤S204本文档来自技高网...
【技术保护点】
一种自动创建编译环境的方法,其特征在于,包括: 步骤1,根据待编译目标单板对应的关键文件及所述关键文件对应的属性要求,在硬件驱动器中查找所述关键文件; 步骤2,将查找到的所述关键文件的存在路径设置为编译器的工作路径,根据所述编译器的工作路径启动命令行编译环境,以编译所述待编译目标单板的代码。
【技术特征摘要】
1.一种自动创建编译环境的方法,其特征在于,包括步骤1,根据待编译目标单板对应的关键文件及所述关键文件对应的属性要求,在硬件驱动器中查找所述关键文件;步骤2,将查找到的所述关键文件的存在路径设置为编译器的工作路径,根据所述编译器的工作路径启动命令行编译环境,以编译所述待编译目标单板的代码。2. 如权利要求1所述自动创建编译环境的方法,其特征在于,所述步骤l 进一步包括步骤21,根据操作系统注册表信息,解析得到硬盘驱动器列表; 步骤22,根据所述硬盘驱动器列表,在硬盘驱动器中查找所述关键文件; 步骤23,判断查找到的关键文件是否满足所述关键文件对应的属性要求, 如果不满足,则执行步骤22继续查找。3. 如权利要求2所述自动创建编译环境的方法,其特征在于,所述步骤 23后还包括,步骤24,将査找到的所述关键文件的存在路径,保存到搜索结 果文件中所述待编译目标单板对应的单板类型条目中。4. 如权利要求3所述自动创建编译环境的方法,其特征在于,所述步骤 l前还包括,步骤41,在所述搜索结果文件中查找所述关键文件的存在路径, 如果未查找到,执行步骤l,否则,执行步骤2。5. 如权利要求4所述自动创建编译环境的方法,其特征在于,所述步骤 41进一步包括步骤51,判断所述搜索结果文件是否存在,如果不存在,执行步骤l;步骤52,在所述搜索结果文件中查找所述待编译目标单板对应的单板类 型条目,如果未査找到,执行步骤l;步骤53,判断在所述单板类型条目中...
【专利技术属性】
技术研发人员:田瑞忠,王玉琴,汪康洪,吴永航,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:94[中国|深圳]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。