首页 / 专利库 / 软件 / 软件 / 一种解决软件分支语句过多的方法

一种解决软件分支语句过多的方法

阅读:601发布:2023-03-01

专利汇可以提供一种解决软件分支语句过多的方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种解决 软件 分支语句过多的方法,包括:动态库建立步骤;函数 指针 建立步骤;函数指针指向动态库步骤。本发明使动态库和函数指针数据相结合,以解决上述 软件工程 中分支语句较多时问题,以简化软件结构,提高软件设计效率,提高软件的可读性、可维护性和可扩展性。,下面是一种解决软件分支语句过多的方法专利的具体信息内容。

1.一种解决软件分支语句过多的方法,其特征在于,包括:
动态库建立步骤;
函数指针建立步骤;
函数指针指向动态库步骤;
其中,动态库建立具体为如下步骤:
步骤一:建立动态库,将每个分支作为功能函数FUNCX()编译到动态库中,其中X=0,
1,…,N;N的值为分支数;
步骤二:建立具有N个元素的功能函数数组,将每个分支对应的功能函数和功能函数数组中的每个数据元素一一对应;
步骤三:建立统一处理函数,并将其编译到动态库中;
步骤四:在统一处理函数中根据命令直接执行数组对应元素对应的功能函数,完成相应的分支功能;
其中,函数指针指向动态库步骤具体为:
步骤一:初始化函数指针,打开动态库;
步骤二:取得统一处理函数的实际地址;
步骤三:函数指针指向统一处理函数。
2.如权利要求1所述的一种解决软件分支语句过多的方法,其特征在于,动态库建立步骤和函数指针建立步骤同时进行。
3.如权利要求1所述的一种解决软件分支语句过多的方法,其特征在于,先进行函数指针建立步骤,再进行动态库建立步骤。
4.如权利要求1所述的一种解决软件分支语句过多的方法,其特征在于,通过dlopen打开动态库。
5.如权利要求1或4所述的一种解决软件分支语句过多的方法,其特征在于,通过dlsym取得统一处理函数的实际地址。

说明书全文

一种解决软件分支语句过多的方法

技术领域

[0001] 本发明属于软件设计技术领域,尤其涉及一种解决软件分支语句过多的方法。

背景技术

[0002] 架构设计是软件设计中重要的一个步骤,优秀的架构设计可以保证整个软件系统的稳定性、可扩展性、可维护性等。
[0003] 在软件系统特别是通信系统的设计中,经常会出现以下的处理逻辑:1通信数据接收->2对数据进行解析->3根据不同的命令调用不同的处理函数->4发送处理结果。
[0004] 在这种类型的系统中,最大的代码工作在第三步,即根据不同的命令调用不同的处理函数,通常的设计会采用switch分支函数或函数指针数组进行处理,如果采用switch分支语句进行处理,会造成主处理函数中包含较多的分支,这样会在功能扩展时需要对主处理函数进行修改增加分支内容,维护困难而且不利于阅读,对软件的后期维护也造成不便。如果单纯的采用函数指针数据进行处理,可以解决主函数分支过多的问题,但是在功能扩展时,同样需要对主处理功能模进行修改,维护困难。
[0005] 在这种情况下,需要一种简单有效的方法使软件系统更加可靠、更加易于维护和易于扩展。

发明内容

[0006] 为实现上述目的,本发明提供了一种解决软件分支语句过多的方法,包括:动态库建立步骤;
函数指针建立步骤;
函数指针指向动态库步骤;
其中,动态库建立具体为如下步骤:
步骤一:建立动态库,将每个分支作为功能函数FUNCX()编译到动态库中,其中X=0,
1,…,N;N的值为分支数;
步骤二:建立具有N个元素的功能函数数组,将每个分支对应的功能函数和功能函数数组中的每个数据元素一一对应;
步骤三:建立统一处理函数,并将其编译到动态库中;
步骤四:在统一处理函数中根据命令直接执行数组对应元素对应的功能函数,完成相应的分支功能;
其中,函数指针指向动态库步骤具体为:
步骤一:初始化函数指针,打开动态库;
步骤二:取得统一处理函数的实际地址;
步骤三: 函数指针指向动态库统一处理函数。
[0007] 进一步的,动态库建立步骤和函数指针建立步骤同时进行。
[0008] 进一步的,先进行函数指针建立步骤,再进行动态库建立步骤。
[0009] 进一步的,通过dlopen打开动态库。
[0010] 进一步的,通过dlsym取得处理函数的实际地址。
[0011] 本发明具有如下优点:1.简化程序结构,将庞大的分支简化为单个的功能函数,避免了一个函数行数过多的问题。
[0012] 2.具体处理功能编译为动态库,增强了程序的可扩展性,如需扩展功能,只需要更新动态库即可。
[0013] 3.结构简单,可以根据每个功能进行分工合作,在软件设计和实现中安排不同的人员分别对动态库和主函数两个部分进行开发设计,所有的数据处理都在动态库中完成,在统一处理函数中只需要实现函数指针、指针的初始化以及主处理流程即可。提高软件设计效率。
[0014] 4.提高了软件的可读性、可维护性,增强了软件的可扩展性。附图说明
[0015] 图1是本发明工作流程图

具体实施方式

[0016] 本发明的设计构思为:动态库和函数指针数据相结合,以解决上述软件工程中分支语句较多时问题,以简化软件结构,提高软件设计效率,提高软件的可读性、可维护性和可扩展性。
[0017] 本发明可分为三个大的步骤:a.动态库建立步骤。
[0018] b.函数指针建立步骤。
[0019] c.函数指针指向动态库步骤。
[0020] 下面结合图1对各个步骤进行详细说明。其中,dll为动态库,pcmd为函数指针,Mngcmd为统一处理函数,SCMD为功能函数数组。
[0021] 动态库建立步骤具体包括如下步骤:步骤一:建立动态库dll,将每个分支作为功能函数FUNCX()编译到动态库中,其中X=0,
1,…,N;N的值为分支数;
步骤二:建立具有N个元素的功能函数数组SCMD,将每个分支对应的功能函数和功能函数数组中的每个数据元素SCMD[n(] n=0,1,…,N)一一对应;
步骤三:建立统一处理函数mngcmd,并将其编译到动态库dll中;
步骤四:在mngcmd中根据命令直接执行数组对应元素对应的功能函数,完成相应的分支功能。如命令n直接执行SCMD [n],进而利用FUNCn()可完成相应的分支功能。
[0022] 函数指针指向动态库步骤具体包括如下步骤:步骤一:初始化函数指针pcmd,通过dlopen打开动态库dll;
步骤二:通过dlsym取得统一处理函数mngcmd的实际地址;
步骤三:函数指针 pcmd指向统一处理函数mngcmd。
[0023] 本发明统一处理函数mngcmd中只需要实现函数指针的初始化以及主要的接收和发送过程,在程序运行过程中自动跳转到动态库中的具体实现,在动态库中根据函数数组中的具体功能函数进行数据处理。
[0024] 应当理解,动态库建立步骤和建立函数指针pcmd建立步骤不分先后,可以同时进行或者任意先后顺序。
[0025] 本发明具有如下优点:1.简化程序结构,将庞大的分支简化为单个的功能函数,避免了一个函数行数过多的问题。
[0026] 2.具体处理功能编译为动态库,增强了程序的可扩展性,如需扩展功能,只需要更新动态库即可。
[0027] 3.结构简单,可以根据每个功能进行分工合作,在软件设计和实现中安排不同的人员分别对动态库和主函数两个部分进行开发设计,所有的数据处理都在动态库中完成,在主函数中只需要实现函数指针、指针的初始化以及主处理流程即可。提高软件设计效率。
[0028] 4.提高了软件的可读性、可维护性,增强了软件的可扩展性。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈