[发明专利]一种基于shell脚本的采集终端程序差异化编译方法在审
| 申请号: | 202111474869.6 | 申请日: | 2021-12-06 |
| 公开(公告)号: | CN114281319A | 公开(公告)日: | 2022-04-05 |
| 发明(设计)人: | 葛玉磊;赵玺;郑亚岗;李玉宁 | 申请(专利权)人: | 青岛鼎信通讯股份有限公司;青岛鼎信通讯科技有限公司 |
| 主分类号: | G06F8/35 | 分类号: | G06F8/35;G06F8/41 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 266000 山东省青*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 shell 脚本 采集 终端 程序 异化 编译 方法 | ||
本发明公开了一种基于shell脚本的采集终端程序差异化编译方法,其技术方案包括步骤1:编写用电信息采集终端程序源文件,通过宏定义的方式限定每个省份的功能点;步骤2:编写CMakeLists文件,用于生成执行编译动作的MakeFile文件,并默认增加标准宏定义;步骤3:编写可支持附加参数的shell脚本,shell脚本中通过对传入附加参数进行省份匹配,后替换cmake脚本中的宏定义内容为省份专用宏定义;步骤4:shell脚本中增加cmake及make处理步骤,实现程序编译及输出的功能。本发明解决了不同省份之间程序差异化开发、管理及编译困难的问题,比传统多工程管理方式具有更高的效率。
技术领域
本发明涉及配用电技术领域,尤其涉及一种基于shell脚本的采集终端程序差异化编译方法。
背景技术
随着配用电技术的发展,智能化用电信息采集技术一步一步的走入大城小镇。而由于地域发展及基础设施的差异,在不同省份乃至不同地市之间,供用电的需求均存在或大或小的差异。为了适应这些多种多样的业务要求,力求最大化的满足客户需求,我们需要设计一种可以针对不同省份功能进行自动化编译程序的方法,方便高效的完成差异化程序编译。传统的编译方法是通过对不同的省份分别进行功能开发,单独管理,分别编译,这种方式存在着开发量大、重复环节繁多、维护麻烦的众多问题。现提出一种基于shell脚本的采集终端程序差异化编译方法用于解决该问题。shell脚本是一种利用shell功能所写的程序,将一些shell语法和指令按照固定的格式整合在一起,方便一次性执行的程序文件。
发明内容
本发明针对现有技术存在的不足和缺陷,提供了一种基于shell脚本的省份差异化程序编译方法,通过shell脚本加附加参数的方式,按照既定规则进行省份特征匹配,生成并添加相应的宏定义,在编译时控制具体的功能差异化实现,最终实现同一代码工程的不同编译方式。相较于传统的多工程方式,能够更加高效的管理和使用工程文件。
本发明的目的可以通过以下技术方案来实现:
一种基于shell脚本的采集终端程序差异化编译方法,包括以下步骤:
步骤1:编写用电信息采集终端程序源文件,通过宏定义的方式限定每个省份的功能点;
步骤2:编写CMakeLists文件,用于生成执行编译动作的MakeFile文件,并默认增加标准宏定义;
步骤3:编写可支持附加参数的shell脚本,shell脚本中通过对传入附加参数进行省份匹配,后替换cmake脚本中的宏定义内容为省份专用宏定义;
步骤4:shell脚本中增加cmake及make处理步骤,实现程序编译及输出的功能。
进一步地,所述步骤1使用的宏定义为特定格式,不同省份之间的宏定义差异点应与省份之间有明确的对应关系,方便进行宏定义的替换。
进一步地,所述步骤2中所描述的CMakeLists文件是按照cmake语法编写的自动化编译脚本,其可以按照CMakeLists文件中的指定规则进行解释并生成对应的MakeFile文件。
进一步地,所述步骤3中使用执行脚本时传入的附加参数匹配省份特征,附加参数应与省份之间有明确的对应关系,方便进行省份的匹配。
进一步地,所述步骤4中描述的shell脚本增加cmake及make处理步骤是指通过shell脚本文件调用cmake工具,借助步骤2中编写好的CMakeLists生成中间文件MakeFile后,再调用make工具按照make语法规则处理MakeFile文件,最终生成程序文件的过程。
本发明的有益技术效果:通过shell脚本以及cmake技术,实现编译程序的流程自动化,从而避免了冗杂的程序编译过程,同时通过简单的附加参数实现不同省份程序之间的差异化编译,可以达到同一个工程多个特殊功能的不冲突共存,解决了多工程管理方式开发量大、重复环节繁多、维护困难的问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛鼎信通讯股份有限公司;青岛鼎信通讯科技有限公司,未经青岛鼎信通讯股份有限公司;青岛鼎信通讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111474869.6/2.html,转载请声明来源钻瓜专利网。





