应用程序的运行方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:39246272 阅读:12 留言:0更新日期:2023-10-30 11:58
本发明专利技术提供了一种应用程序的运行方法、装置、电子设备及可读存储介质,包括:对用于开发图形界面的库文件进行编译,获得用于加载库文件对应的函数库的可加载文件;对使用库文件的应用程序进行编译,获得可执行文件;在内核态中加载可加载文件和可执行文件,从函数库中找到与目标函数对应的目标函数接口进行使用;应用程序调用目标函数接口进行运行,从而触发所述库文件对应的图形界面功能,本发明专利技术可以使应用程序对应的可执行文件的体量大大减少,且库文件的提供的图形界面功能可以正常运行,另外,对库文件的更新,不再需要同步更新应用程序,提高了维护效率。提高了维护效率。提高了维护效率。

【技术实现步骤摘要】
应用程序的运行方法、装置、电子设备及可读存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种应用程序的运行方法、装置、电子设备及可读存储介质。

技术介绍

[0002]嵌入式操作系统的图形开发中,往往由嵌入式操作系统提供应用程序中的开发环境,图形开发库则用来开发应用程序中的图形界面,嵌入式操作系统中的应用程序可以基于图形开发库实现图形界面的开发和使用。
[0003]目前,可以将应用程序和图形开发库中对应的库文件共同编译,打包成一个可执行的二进制文件进行执行。
[0004]相关技术中,将应用程序和库文件共同编译获得的二进制文件体量较大,并且对库文件的更新需要同步更新应用程序,导致后续的维护效率低下。

技术实现思路

[0005]鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种应用程序的运行方法、装置、电子设备及可读存储介质。
[0006]第一方面,本申请实施例公开了一种应用程序的运行方法,所述方法包括:
[0007]对用于开发图形界面的库文件进行编译,获得可加载文件;所述可加载文件用于加载所述库文件对应的函数库;
[0008]对使用所述库文件的应用程序进行编译,获得可执行文件;所述应用程序中包括用于调用所述库文件的目标函数,所述目标函数在所述应用程序被编写时进行定义;
[0009]在内核态中加载所述可加载文件和所述可执行文件,从所述函数库中找到与所述目标函数对应的目标函数接口进行使用;
[0010]所述应用程序调用所述目标函数接口进行运行,从而触发所述库文件对应的图形界面功能。
[0011]第二方面,本申请实施例公开了一种应用程序的运行装置,所述装置包括:
[0012]第一编译模块,用于对用于开发图形界面的库文件进行编译,获得可加载文件;所述可加载文件用于加载所述库文件对应的函数库;
[0013]第二编译模块,用于对使用所述库文件的应用程序进行编译,获得可执行文件;所述应用程序中包括用于调用所述库文件的目标函数,所述目标函数在所述应用程序被编写时进行定义;
[0014]加载模块,用于在内核态中加载所述可加载文件和所述可执行文件,从所述函数库中找到与所述目标函数对应的目标函数接口进行使用;
[0015]执行模块,用于所述应用程序调用所述目标函数接口进行运行,从而触发所述库文件对应的图形界面功能。
[0016]第三方面,本申请实施例还公开了一种电子设备,包括有处理器;以及一个或者一
个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
[0017]对用于开发图形界面的库文件进行编译,获得可加载文件;所述可加载文件用于加载所述库文件对应的函数库;
[0018]对使用所述库文件的应用程序进行编译,获得可执行文件;所述应用程序中包括用于调用所述库文件的目标函数,所述目标函数在所述应用程序被编写时进行定义;
[0019]在内核态中加载所述可加载文件和所述可执行文件,从所述函数库中找到与所述目标函数对应的目标函数接口进行使用;
[0020]所述应用程序调用所述目标函数接口进行运行,从而触发所述库文件对应的图形界面功能。
[0021]第四方面,本申请实施例还公开了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面方法。
[0022]本申请实施例中,可以对库文件和应用程序进行分离,将库文件和应用程序分别独立编译,之后单独加载库文件编译后的可加载文件实现函数库的加载,再通过加载应用程序编译后的可执行文件,实现函数库提供的函数接口的对接使用,从而达到成功执行基于图形开发库开发的应用程序的目的。本专利技术将库文件和应用程序分离后,应用程序对应的可执行文件的体量大大减少,且库文件的提供的图形界面功能可以正常运行,另外,对库文件的更新,不再需要同步更新应用程序,降低了程序维护的复杂度,提高了维护效率。
附图说明
[0023]图1是本专利技术实施例提供的一种应用程序的运行方法步骤流程图;
[0024]图2是本专利技术实施例提供的又一种应用程序的运行方法步骤流程图;
[0025]图3是本专利技术实施例提供的一种应用程序的运行装置框图
[0026]图4是本专利技术实施例提供的一种电子设备的框图;
[0027]图5是本专利技术另一个实施例的另一种电子设备的框图。
具体实施方式
[0028]下面将参照附图更详细地描述本专利技术的示例性实施例。虽然附图中显示了本专利技术的示例性实施例,然而应当理解,可以以各种形式实现本专利技术而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本专利技术,并且能够将本专利技术的范围完整的传达给本领域的技术人员。
[0029]参考图1,其示出了本申请实施例提供的一种应用程序的运行方法的步骤流程图,所述方法包括:
[0030]步骤101,对用于开发图形界面的库文件进行编译,获得可加载文件;所述可加载文件用于加载所述库文件对应的函数库。
[0031]在本专利技术实施例中,通过嵌入式操作系统提供了一种嵌入式开发环境,以便于在该环境中通过图形开发库实现基于图形界面的应用程序编译开发,嵌入式操作系统的实现可以首先启动对应的镜像文件,并加载和初始化显卡驱动,从而构建开发环境,其中,嵌入式操作系统的系统结构往往是一个相当小的微内核的层次结构,其内核可以提供多任务环
境、进程间通信和同步功能,这些功能模块足够支持嵌入式操作系统在较高层次所提供的丰富的性能的要求。与嵌入式操作系统匹配的图形开发库往往采用跨平台的开发库,主要用来开发基于图形用户界面(GUI,Graphical User Interface)的应用程序,图形开发库通过加载库文件,实现自身函数库的加载,其函数库包含与图形界面相关的函数的函数接口,应用程序可以通过对接这些函数接口,实现相关图形界面函数的调用。
[0032]在一种相关技术的实现中,编译基于图形开发库开发的应用程序,并构建存储于内核空间的模块,开发完成后,将存于嵌入式操作系统内核空间的模块静态链接到内核。具体的,相关技术可以将应用程序和图形开发库对应的库文件共同编译,整体打包成一个可执行的二进制文件进行执行,但是,该二进制文件的体量较大,并且对库文件的更新需要同步更新应用程序,导致后续的维护效率低下。
[0033]其中,对库文件的更新需要同步更新应用程序的现象,是指二进制不兼容的现象,所谓“二进制兼容性”指的就是在升级、更新库文件的时候,不必重新编译使用这个库的可执行文件或使用这个库的其他库文件,即应用程序的功能不被破坏。而二进制不兼容,是指库文件的升级如果没有做到二进制兼容,那么所有依赖它的程序(或库)都需要重新编译,否则会出现运行错误。而相关技术对应用程序和库文件共同编译的做法,则在对库文件的更新需要同步更新应用程本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用程序的运行方法,其特征在于,所述方法包括:对用于开发图形界面的库文件进行编译,获得可加载文件;所述可加载文件用于加载所述库文件对应的函数库;对使用所述库文件的应用程序进行编译,获得可执行文件;所述应用程序中包括用于调用所述库文件的目标函数,所述目标函数在所述应用程序被编写时进行定义;在内核态中加载所述可加载文件和所述可执行文件,从所述函数库中找到与所述目标函数对应的目标函数接口进行使用;所述应用程序调用所述目标函数接口进行运行,从而触发所述库文件对应的图形界面功能。2.根据权利要求1所述的方法,其特征在于,所述对用于开发图形界面的库文件进行编译,获得可加载文件,包括:在对所述库文件进行编译的过程中,根据预设的加载函数,将至少一个易缺失函数的对应接口添加至所述库文件表征的函数库中;所述易缺失函数是由所述加载函数定义的,用于表征历史编译库文件过程中所缺失的函数。3.根据权利要求1所述的方法,其特征在于,所述在内核态中加载所述可加载文件,包括:响应于第一内核态加载指令,通过在内核态中加载所述可加载文件,完成所述函数库在所述内核态中的加载;所述从所述函数库中找到与所述目标函数对应的目标函数接口进行使用,包括:响应于第二内核态加载指令,在所述内核态中加载所述可执行文件的过程中,根据所述应用程序在编写时所定义的目标函数,从所述函数库中找到与所述目标函数对应的目标函数接口进行使用。4.根据权利要求3所述的方法,其特征在于,所述应用程序调用所述目标函数接口进行运行,包括:响应于内核态运行指令,在所述内核态中,对调用了所述目标函数接口的所述应用程序进行运行。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:响应于对所述函数库的更新,获得新的库文件;对所述新的库文件进行编译,获得新的可加载文件;利用所述新的可加载文件,对所述应用程序的执行进行更新。6.根据权利要求5所述的方法,其特征在于,所述利用所述新的可加载文件,对所述应用程序的执行进行更新,包括:在内核态中加载所述新的可加载文件,完成新的函数库在所述应用程序所在的系统中的加载;在内核态...

【专利技术属性】
技术研发人员:苗志强
申请(专利权)人:龙芯中科技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1