电视软件编译方法及系统
技术领域
本发明涉及软件编译领域,特别涉及一种电视软件编译方法及系统。
背景技术
在为给中小型电视厂家做电视驱动主板软件时,由于中小型电视厂家面向的消费群体较多,厂家会提出各种不同的软件配置需求,并且厂家使用的屏型号也会有很多,导致大量的软件配置需求出现。软件工程师在接到这些需求后,需要进行大量的人工编译工作,工作效率低。另外厂家在提出软件需求到软件工程师进行相关配置修改的过程中,由于存在大量的手动操作,会使得软件出错的概率大大提高,从而造成软件可靠性低。
发明内容
基于此,有必要针对工作效率低且生成的软件可靠性低的问题,提供一种能提高工作效率以及可靠性的电视软件编译方法及系统。
一种电视软件编译方法,包括以下步骤:
获取批量电视软件的配置参数,其中,所述配置参数包括屏参、按键配置、Logo配置、语言配置以及上电开关状态配置;
根据所述配置参数,生成需求序列文件;
根据所述需求序列文件,生成批编译文件;
获取批量所述电视软件的代码;
根据所述需求序列文件,分别对批量所述电视软件的代码进行修改,并根据所述批编译文件,分别对批量所述电视软件的修改后的代码进行编译,获得批量目标文件。
本发明还提供一种电视软件编译系统,包括:
参数获取模块,用于设置批量电视软件的配置参数,其中,所述配置参数包括屏参、按键配置、Logo配置、语言配置以及上电开关状态配置;
需求序列文件生成模块,用于根据所述配置参数,生成需求序列文件;
批编译文件生成模块,用于根据所述需求序列文件,生成批编译文件;
代码获取模块,用于获取批量所述电视软件的代码;
编译模块,用于根据所述需求序列文件,分别对批量所述电视软件的代码进行修改,并根据所述批编译文件,分别对批量所述电视软件的修改后的代码进行编译,获得批量目标文件。
上述电视软件编译方法及系统,通过获取批量电视软件的配置参数,以满足批量电视软件的不同功能,然后,根据批量电视软件的所述配置参数,生成批量需求文件,根据批量所述需求文件,生成需求序列文件,即生成批量用户的不同需求,再根据所述需求序列文件,生成批编译文件,为后续批量编译提供编译执行文件,最后,根据所述需求序列文件,分别对批量所述电视软件的预设代码进行修改,从而修改电视软件的功能,以满足不同用户需求,减少软件工程师过多的代码人工修改工作,降低出错概率,提高可靠性,并根据所述批编译文件,对所述电视软件的修改后的代码进行编译,获得批量目标文件,实现电视软件的批量编译,无需单个地执行人工编译,提高工作效率。
附图说明
图1为一种实施方式的电视软件编译方法的流程图;
图2为可视化工具界面;
图3为另一种实施方式的电视软件编译方法中步骤S500的子流程图;
图4为另一种实施方式的电视软件编译方法中的流程图;
图5为一种实施方式的电视软件编译系统的模块图;
图6为另一种实施方式的电视软件编译系统中编译模块500的子模块图;
图7为另一种实施方式的电视软件编译系统的模块图。
具体实施方式
请参阅图1,提供一种实施方式的电视软件编译方法,包括以下步骤:
S100:获取批量电视软件的配置参数。
其中,配置参数包括屏参、按键配置、Logo(微标)配置、语言配置以及上电开关状态配置。上述配置参数设置不同,对应不同的需求。针对不同用户的不同需求,其对电视软件的需求是不一样的,例如,公司A和公司B需要实现不同需求的电视软件,从而,需要根据两家公司不同的电视软件需求,对电视软件的配置参数进行不同的设置,从而可获取电视软件的配置参数。当有许多用户有不同需求时,可能需要批量不同的电视软件,从而,需要设置批量电视软件的配置参数,从而可获得批量电视软件的配置参数,不同功能电视软件,配置参数不同,从而可满足不同用户的需求。例如,公司A需求是Logo配置为包含公司A名称的,公司B需求是Logo配置为包含公司B名称的。
具体地,可在可视化工具界面中进行配置参数的配置,如图2所示,为电视软件批编译的计算机可视化工具界面,在该界面中可对屏参、按键配置、Logo配置、语言配置以及上电开关状态配置进行设置,设置完成后,即可获得电视软件的配置参数。
S200:根据配置参数,生成需求序列文件。
对电视软件的配置参数的设置,可满足用户不同的需求,即对单个电视软件进行参数配置的设置,可知该电视软件对参数配置的要求,从而,可根据批量电视软件的配置参数生成需求序列文件,即对应批量用户的需求。用户需求较多,对配置参数的设置也较多,根据批量电视软件的配置参数,生成需求序列文件,以满足大量用户的需求。
S300:根据需求序列文件,生成批编译文件。
根据需求序列文件,可知用户的需求序列,即可知不同用户的需求。然而,在获得需求序列文件后,需要生成批编译文件,以对该需求序列文件中的不同需求进行编译。
S400:获取批量电视软件的代码。
电视软件的代码对应电视软件实现的功能,即通过代码表征电视具有的功能。
S500:根据需求序列文件,分别对批量电视软件的代码进行修改,并根据批编译文件,分别对批量电视软件的修改后的代码进行编译,获得批量目标文件。
用户的需求即是对电视软件的功能的需求,例如,需要电视软件实现特定的功能,然而,电视软件实现的功能对应电视软件的代码,当用户需求改变,其对应的代码需对应修改,从而根据需求序列文件,对电视软件的代码进行修改,由于需求序列文件是根据批量电视软件的配置参数生成的,从而包含了批量电视软件的需求,从而,根据需求序列文件,可分别对批量电视软件的代码进行修改。此时,批编译文件已生成,如图2所示,具体可通过可视化工具界面可选择批编译文件以获取批编译文件,并根据批编译文件,对电视软件的修改后的代码进行编译,获得批量目标文件,实现批量编译。
上述电视软件编译方法,通过获取批量电视软件的配置参数,以满足批量电视软件的不同功能,然后,根据批量电视软件的配置参数,生成需求序列文件,即生成批量用户的不同需求,再根据需求序列文件,生成批编译文件,为后续批量编译提供编译执行文件,最后,根据需求序列文件,分别对批量电视软件的代码进行修改,从而修改电视软件的功能,以满足不同用户需求,减少软件工程师过多的代码人工修改工作,降低出错概率,提高可靠性,并根据批编译文件,对电视软件的修改后的代码进行编译,获得批量目标文件,实现电视软件的批量编译,无需单个地执行人工编译,提高工作效率。
请参阅图3,在其中一个实施例中,根据需求序列文件,分别对批量电视软件的代码进行修改,并根据批编译文件,分别对批量电视软件的修改后的代码进行编译,获得批量目标文件的步骤S500包括:
S510:读取需求序列文件,获得需修改内容。
由于需求序列文件是根据批评电视软件的配置参数生成的,从而需求序列文件中包含了批量电视软件的需求,即通过需求序列文件可知电视软件需要的功能,读取需求序列文件,获得需修改内容,即是获得电视软件需要修改的功能。具体地,逐行读取需求序列文件,获得需修改内容,由于需求序列文件中包括了批量电视软件的需求,进行逐行读取,按序获取需要修改的内容,以防出错。
S520:根据需修改内容,对与需修改内容相应的电视软件的代码进行修改,获得电视软件修改后的代码。
S530:根据批编译文件,对电视软件的修改后的代码进行编译,获得电视软件对应的目标文件。
S540:判断需求序列文件是否读取完成。
当未读取完成时,返回逐行读取需求序列文件,获得需修改内容的步骤S510。
当读取完成时,则:
S550:编译结束,将电视软件对应的目标文件作为批量目标文件。
在需求序列文件中包括了批量电视软件对应的需求,即包括了不同的需求,从而,需要逐行读取需求序列文件,再根据读取的需修改的内容,对相应的电视软件的代码进行修改,以满足相应的电视软件特定的功能,例如,需要修改电视软件A的屏参,则获取需修改的内容,对电视软件A的代码进行修改,以满足屏参的修改。并对该电视软件修改后的代码进行编译,以获得该电视软件对应的目标文件,实现单个电视软件的编译工作。然后,判断需求序列文件是否读取完成,当未读取完成时,还需根据未读取的需修改内容,对应的电视软件功能进行修改,再返回步骤S510继续进行读取,再进行代码修改和编译,直到都读取完毕。若读取完毕,即需求序列文件最后一行已读取完毕了,相当于批量编译已完成了,编译结束,将已获得的所述电视软件对应的目标文件作为批量目标文件,即此时就获得了批量目标文件。
请参阅图4,在其中一个实施例中,根据需求序列文件,分别对批量电视软件的代码进行修改,并根据批编译文件,分别对批量电视软件的修改后的代码进行编译,获得批量目标文件的步骤S500之后还包括:
S600:根据需修改内容,对电视软件的目标文件进行命名。
在根据批编译文件,分别对批量电视软件的修改后的代码进行编译完成后,把编译之后获得的电视软件对应的目标文件自动打包,并将目标文件自动命名与需修改内容有关的名字,以区分不同功能需求。
在其中一个实施例中,根据需修改内容,对电视软件的目标文件进行命名的步骤S600之后还包括:
S700:对命名后的目标文件进行存储。
对目标文件命名后,最后把目标文件放置于预设的存放区域进行存储,便于后续的读取和查看。
在其中一个实施例中,根据需求序列文件,生成批编译文件的步骤S300具体为:
根据需求序列文件,利用shell脚本语言命令编写批编译处理的执行文件,生成批编译文件。
通过shell脚本语言命令可对代码进行编译,根据需求序列文件,利用shell脚本语言命令编写批编译处理的执行文件即是批编译文件,从而,通过该批编译文件可对电视软件的代码进行编译,获得所需的目标文件,即电视软件的数据。
请参阅图5,一种电视软件编译系统,包括:
参数获取模块100,用于获取批量电视软件的配置参数。
其中,配置参数包括屏参、按键配置、Logo(微标)配置、语言配置以及上电开关状态配置。上述配置参数设置不同,对应不同的需求。针对不同用户的不同需求,其对电视软件的需求是不一样的,例如,公司A和公司B需要实现不同需求的电视软件,从而,需要根据两家公司不同的电视软件需求,对电视软件的配置参数进行不同的设置,从而可获取电视软件的配置参数。当有许多用户有不同需求时,可能需要批量不同的电视软件,从而,需要设置批量电视软件的配置参数,从而可获得批量电视软件的配置参数,不同功能电视软件,配置参数不同,从而可满足不同用户的需求。例如,公司A需求是Logo配置为包含公司A名称的,公司B需求是Logo配置为包含公司B名称的。
具体地,可在可视化工具界面中进行配置参数的配置,如图2所示,为电视软件批编译的计算机可视化工具界面,在该界面中可对屏参、按键配置、Logo配置、语言配置以及上电开关状态配置进行设置,设置完成后,即可获得电视软件的配置参数。
需求序列文件生成模块200,用于根据配置参数,生成需求序列文件。
对电视软件的配置参数的设置,可满足用户不同的需求,即对单个电视软件进行参数配置的设置,可知该电视软件对参数配置的要求,从而,可根据批量电视软件的配置参数生成需求序列文件,即对应批量用户的需求。用户需求较多,对配置参数的设置也较多,根据批量电视软件的配置参数,生成需求序列文件,以满足大量用户的需求。
批编译文件生成模块300,用于根据需求序列文件,生成批编译文件。
根据需求序列文件,可知用户的需求序列,即可知不同用户的需求。然而,在获得需求序列文件后,需要生成批编译文件,以对该需求序列文件中的不同需求进行编译。
代码获取模块400,用于获取批量电视软件的代码。
电视软件的代码对应电视软件实现的功能,即通过代码表征电视具有的功能。
编译模块500,用于根据需求序列文件,分别对批量电视软件的代码进行修改,并根据批编译文件,分别对批量电视软件的修改后的代码进行编译,获得批量目标文件。
用户的需求即是对电视软件的功能的需求,例如,需要电视软件实现特定的功能,然而,电视软件实现的功能对应电视软件的代码,当用户需求改变,其对应的代码需对应修改,从而根据需求序列文件,对电视软件的代码进行修改,由于需求序列文件是根据批量电视软件的配置参数生成的,从而包含了批量电视软件的需求,从而,根据需求序列文件,可分别对批量电视软件的代码进行修改。此时,批编译文件已生成,如图2所示,具体可通过可视化工具界面可选择批编译文件以获取批编译文件,并根据批编译文件,对电视软件的修改后的代码进行编译,获得批量目标文件,实现批量编译。
上述电视软件编译系统,通过获取批量电视软件的配置参数,以满足批量电视软件的不同功能,然后,根据批量电视软件的配置参数,生成需求序列文件,即生成批量用户的不同需求,再根据需求序列文件,生成批编译文件,为后续批量编译提供编译执行文件,最后,根据需求序列文件,分别对批量电视软件的代码进行修改,从而修改电视软件的功能,以满足不同用户需求,减少软件工程师过多的代码人工修改工作,降低出错概率,提高可靠性,并根据批编译文件,对电视软件的修改后的代码进行编译,获得批量目标文件,实现电视软件的批量编译,无需单个地执行人工编译,提高工作效率。
请参阅图6,在其中一个实施例中,编译模块500包括:
读取单元510,用于读取需求序列文件,获得需修改内容。
由于需求序列文件是根据批评电视软件的配置参数生成的,从而需求序列文件中包含了批量电视软件的需求,即通过需求序列文件可知电视软件需要的功能,读取需求序列文件,获得需修改内容,即是获得电视软件需要修改的功能。具体地,逐行读取需求序列文件,获得需修改内容,由于需求序列文件中包括了批量电视软件的需求,进行逐行读取,按序获取需要修改的内容,以防出错。
修改单元520,用于根据需修改内容,对与需修改内容相应的电视软件的代码进行修改,获得电视软件修改后的代码。
编译单元530,用于根据批编译文件,对电视软件的修改后的代码进行编译,获得电视软件对应的目标文件。
判断单元540,用于判断需求序列文件是否读取完成。
返回单元550,用于当判断单元540未读取完成时,返回继续读取需求序列文件,获得需修改内容。
结束模块560,用于当判断单元540判断读取完成时,编译结束,,将电视软件对应的目标文件作为批量目标文件。
在需求序列文件中包括了批量电视软件对应的需求,即包括了不同的需求,从而,需要逐行读取需求序列文件,再根据读取的需修改的内容,对相应的电视软件的代码进行修改,以满足相应的电视软件特定的功能,例如,需要修改电视软件A的屏参,则获取需修改的内容,对电视软件A的代码进行修改,以满足屏参的修改。并对该电视软件修改后的代码进行编译,以获得该电视软件对应的目标文件,实现单个电视软件的编译工作。然后,判断需求序列文件是否读取完成,当未读取完成时,还需根据未读取的需修改内容,对应的电视软件功能进行修改,再返回步骤S510继续进行读取,再进行代码修改和编译,直到都读取完毕。若读取完毕,即需求序列文件最后一行已读取完毕了,相当于批量编译已完成了,编译结束,将已获得的所述电视软件对应的目标文件作为批量目标文件,即此时就获得了批量目标文件。
请参阅图7,其中一个实施例中,上述电视软件编译系统还包括:
命名模块600,用于根据需修改内容,对电视软件的目标文件进行命名。
在根据批编译文件,分别对批量电视软件的修改后的代码进行编译完成后,把编译之后获得的电视软件对应的目标文件自动打包,并将目标文件自动命名与需修改内容有关的名字,以区分不同功能需求。
在其中一个实施例中,上述电视软件编译系统还包括
存储模块700,用于对命名后的目标文件进行存储。
对目标文件命名后,最后把目标文件放置于预设的存放区域进行存储,便于后续的读取和查看。
在其中一个实施例中,,批编译文件生成模块300,具体用于根据需求序列文件,利用shell脚本语言命令编写批编译处理的执行文件,生成批编译文件。
通过shell脚本语言命令可对代码进行编译,根据需求序列文件,利用shell脚本语言命令编写批编译处理的执行文件即是批编译文件,从而,通过该批编译文件可对电视软件的代码进行编译,获得所需的目标文件,即电视软件的数据。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。