程序处理、运行方法、装置、终端、智能卡及存储介质与流程

文档序号:31052850发布日期:2022-08-06 08:33阅读:65来源:国知局
程序处理、运行方法、装置、终端、智能卡及存储介质与流程

1.本技术涉及计算机技术领域,具体而言,涉及一种程序处理、运行方法、装置、终端、智能卡及存储介质。


背景技术:

2.在应用程序开发技术中,可以针对应用程序需要实现的功能,使用编程语言编写对应的程序,然后通过编译工具将该程序编译成目标运行环境能执行的指令码。编译工具编译得到的结果往往不是目标运行环境能直接运行的程序,需要将经编译的程序发送至目标运行环境,与该目标运行环境链接,才能得到目标运行环境可执行的程序。
3.以智能卡产品为例,通常由开发人员针对智能卡应用程序需要实现的功能在终端系统中编写对应的程序,然后在终端系统中对该程序进行编译,将经编译的程序发送给智能卡,智能卡在获取到经编译的程序后将该程序与自身系统链接,生成可执行程序。对于智能卡产品而言,其本身的芯片资源有限,链接过程由智能卡执行,消耗了大量代码存储空间,非常不利于在智能卡产品上集成或扩展其他功能。


技术实现要素:

4.本技术实施例的目的在于提供一种程序处理、运行方法、装置、终端、智能卡及存储介质,用以解决现有技术中,由于程序链接过程与程序运行环境位于同一系统中,导致运行该程序的系统需要开辟专门的代码存储空间存储实现程序链接过程的功能代码,对该系统而言,浪费了大量代码存储空间,不利于该系统集成或扩展其他功能的问题。
5.本技术实施例提供一种程序处理方法,应用于第一操作系统,所述方法包括:
6.对应用程序源代码进行编译得到第二操作系统可识别的应用程序组件;
7.将所述应用程序组件与所述第二操作系统链接,生成所述第二操作系统可执行的程序;
8.将所述可执行的程序发送给所述第二操作系统。
9.在上述实现过程中,在第一操作系统中将应用程序组件与第二操作系统链接得到第二操作系统可执行的程序,也即,第二操作系统可以直接接收到可执行的程序,相比于现有方案中需要在第二操作系统中开辟专门的存储空间存储实现程序链接的功能代码而言,节省了第二操作系统的代码存储资源,更利于第二操作系统在有限的资源中集成或扩展其他更多的功能。
10.进一步地,所述应用程序组件中包括需要调用的目标程序的程序标识;所述目标程序为存储在所述第二操作系统中的程序;
11.所述将所述应用程序组件与所述第二操作系统链接,生成所述第二操作系统可执行的程序,包括:
12.根据预先存储的程序标识与位置编号的对应关系,确定与所述程序标识对应的位置编号;所述位置编号用于表征对应的所述目标程序在所述第二操作系统中的存储位置;
13.将所述程序标识替换成所述位置编号,生成所述第二操作系统可执行的程序。
14.在上述实现过程中,无需将目标程序所对应的代码全部引入应用程序组件中,而是将应用程序组件中目标程序的程序标识替换成位置编号,从而得到第二操作系统可执行的程序,可以减小发送给第二操作系统的可执行的程序的大小,进而可以减少第一操作系统向第二操作系统传输该可执行的程序的传输时间。
15.进一步地,所述位置编号包括单维逻辑位置编号;所述单维逻辑位置编号用于表征所述目标程序在所述第二操作系统的存储空间上的逻辑位置序号;所述存储空间上按序存储有多个程序;
16.或,
17.所述位置编号包括多维逻辑位置编号;所述多维逻辑位置编号用于表征所述目标程序所属的程序包在所述第二操作系统的存储空间上的位置序号,以及所述目标程序在所述程序包中的位置序号;所述存储空间上按序存储有多个程序包;所述程序包中包括多个依次排列的程序。
18.在上述实现过程中,一方面,第二操作系统的存储空间上按序存储有多个程序,此时可以通过单维逻辑位置编号作为调用第二操作系统中目标程序的唯一标识;另一方面,对于第二操作系统中程序的接口层级复杂的情况,可以在第二操作系统的存储空间上按序存储多个程序包,每一程序包中包括多个依次排列的程序,此时,可以通过多维逻辑位置编号作为调用第二操作系统中目标程序的唯一标识。
19.进一步地,在所述根据预先存储的程序标识与位置编号的对应关系,确定与所述程序标识对应的位置编号之前,所述方法还包括:
20.接收所述第二操作系统发送的所述程序标识与位置编号的对应关系;
21.存储所述程序标识与位置编号的对应关系。
22.在上述实现过程中,第一操作系统可以从第二操作系统处接收并存储程序标识与位置编号的对应关系,可以适用于第一操作系统本身未预设该对应关系的场景,提升了方案的普适性。
23.本技术实施例还提供了一种程序运行方法,应用于第二操作系统,所述方法包括:
24.接收由第一操作系统发送的所述第二操作系统可执行的程序;所述程序由所述第一操作系统对应用程序源代码进行编译得到所述第二操作系统可识别的应用程序组件后,将所述应用程序组件与所述第二操作系统链接得到的程序;
25.运行所述可执行的程序。
26.在上述实现过程中,在第一操作系统完成程序链接,也即,第二操作系统可以直接接收到可执行的程序,相比于现有方案中需要在第二操作系统中开辟专门的存储空间存储实现程序链接的功能代码而言,节省了第二操作系统的代码存储资源,更利于第二操作系统在有限的资源中集成或扩展其他更多的功能。
27.本技术实施例还提供一种程序处理装置,应用于第一操作系统,包括:
28.编译模块,用于对应用程序源代码进行编译得到第二操作系统可识别的应用程序组件;
29.链接模块,用于将所述应用程序组件与第二操作系统链接,生成所述第二操作系统可执行的程序;
30.发送模块,用于将所述可执行的程序发送给所述第二操作系统。
31.本技术实施例还提供一种程序运行装置,应用于第二操作系统,包括:
32.接收模块,用于接收由第一操作系统发送的所述第二操作系统可执行的程序;所述程序由所述第一操作系统对应用程序源代码进行编译得到所述第二操作系统可识别的应用程序组件后,将所述应用程序组件与所述第二操作系统链接得到的程序;
33.运行模块,用于运行所述可执行的程序。
34.本技术实施例还提供一种终端,包括第一操作系统,所述第一操作系统包括第一处理器和第二存储器,所述第一存储器中存储有第一计算机程序,所述第一处理器执行所述第一计算机程序,以实现上述任意一种程序处理方法。
35.本技术实施例还提供一种智能卡,包括第二操作系统,所述第二操作系统包括第二处理器和第二存储器,所述第二存储器中存储有第二计算机程序,所述第二处理器执行所述第二计算机程序,以实现上述任意一种程序运行方法。
36.本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有第三计算机程序,所述第三计算机程序被至少一个处理器执行时,以实现上述任意一种方法。
附图说明
37.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
38.图1为本技术实施例一提供的程序处理方法的流程示意图;
39.图2为本技术实施例一提供的程序运行方法的流程示意图;
40.图3为本技术实施例二提供的第二操作系统中存储程序的示意图;
41.图4为本技术实施例二提供的程序处理方法的流程示意图;
42.图5为本技术实施例三提供的程序处理装置的结构示意图;
43.图6为本技术实施例三提供的程序运行装置的结构示意图;
44.图7为本技术实施例四提供的终端的结构示意图;
45.图8为本技术实施例四提供的智能卡的结构示意图。
具体实施方式
46.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
47.需要说明的是,在本发明实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术
方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
48.在本发明的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本发明及区别每一步骤,因此不能理解为对本发明的限制。
49.下面将提供多个实施例,来具体介绍程序处理、运行方法、装置、终端、智能卡及存储介质。
50.实施例一:
51.为解决现有技术中,由于程序链接过程与程序运行环境位于同一系统中,导致运行该程序的系统需要开辟专门的代码存储空间存储实现程序链接过程的功能代码,对该系统而言,浪费了大量代码存储空间,不利于该系统集成或扩展其他功能的问题,本技术实施例提供一种程序处理方法。
52.本技术实施例提供的程序处理方法应用于第一操作系统,第一操作系统包括但不限于是pc(personal computer,个人电脑)、手机、平板电脑、笔记本电脑等终端中的系统。
53.请参见图1所示,本技术实施例提供的程序处理方法可以包括如下步骤:
54.s101:对应用程序源代码进行编译得到第二操作系统可识别的应用程序组件。
55.在应用程序开发过程中,开发人员可以根据第二操作系统中的应用程序需要实现的功能编写对应的实现代码,这里的实现代码也就是步骤s101中提及的应用程序源代码。
56.具体的,开发人员可以使用不同的编程语言针对应用程序需要实现的功能编写对应的实现代码。例如,使用c语言编写实现代码,或者使用java语言编写实现代码。然后通过各语言对应的编译工具将实现代码编译成目标运行环境能识别的应用程序组件。本技术实施例中的目标运行环境也就是编译后的程序在第二操作系统中的运行环境,本技术实施例中的第二操作系统可以是智能卡操作系统,此时目标运行环境也就是与智能卡芯片相关的机器指令运行环境,对应的指令码可以为x86指令,arm指令等。
57.s102:将应用程序组件与第二操作系统链接,生成第二操作系统可执行的程序。
58.本技术实施例中的应用程序组件中包括需要调用的目标程序的程序标识;目标程序为存储在第二操作系统中的程序。
59.步骤s102中可以根据预先存储的程序标识与位置编号的对应关系,确定与该程序标识对应的位置编号;位置编号用于表征对应的目标程序在第二操作系统中的存储位置;将应用程序组件中的程序标识替换成对应的位置编号,得到第二操作系统可执行的程序。
60.对于支持虚拟机的第二操作系统,在将应用程序组件与第二操作系统链接时,不需要有目标程序的具体地址,只需要有第二操作系统能解释的引用即可完成链接,而且由于实际应用中,程序在操作系统中的实际物理地址通常难以确定,所以该位置编号可以是逻辑位置编号,逻辑位置编号不是目标程序在第二操作系统中的实际物理地址,其表示了目标程序在第二操作系统中存储时所处位置的逻辑顺序。当然了,对于可以获取到实际物理地址的应用场景,该位置编号也可以表征目标程序在第二操作系统中的实际物理地址。
61.在第一种可选的实施方式,第二操作系统的存储空间上按序存储有多个程序,逻辑位置编号包括单维逻辑位置编号。单维逻辑位置编号用于表征目标程序在第二操作系统的存储空间上的逻辑位置序号。比如,单维逻辑位置编号“1”表示目标程序位于第二操作系统的存储空间上的第1个位置。
62.在第二种可选的实施方式中,第二操作系统的存储空间上按序存储有多个程序包,每一程序包中包括多个依次排列的程序,逻辑位置编号包括多维逻辑位置编号。多维逻辑位置编号用于表征目标程序所属的程序包在第二操作系统的存储空间上的逻辑位置序号,以及目标程序在程序包中的逻辑位置序号。比如多维逻辑位置编号“2-1”表示目标程序是第2个程序包中的第1个程序。
63.可以理解的是,上述程序包标识可以是任意可以表示程序包唯一身份的标识,比如可以是程序包的名称。程序标识则可以是任意可表示程序唯一身份的标识,比如可以是应用程序组件中需要调用的目标程序(目标函数)的程序(函数)名称。对于面向对象编程中接口函数同名时,可以根据函数所在类名进行区分。
64.可以理解的是,在一些实施例中,应用程序组件中调用的程序可以仅由位于第二操作系统中的目标程序组成,此时,将应用程序组件中目标程序的程序标识替换成对应的位置编号便可得到第二操作系统可执行的程序。
65.在另外的一些实施例中,应用程序组件中调用的程序除了包含位于第二操作系统中的目标程序之外,还可以包含位于第二操作系统之外的其他程序,比如,可能还需要调用第一操作系统中的本地程序。此时,可以将应用程序组件中目标程序的程序标识替换成对应的位置编号得到经替换处理的应用程序组件,然后将经替换处理的应用程序组件与本地程序链接组装得到第二操作系统可执行的程序。
66.s103:将可执行的程序发送给第二操作系统。
67.应当说明的是,上述位置编号可以指示目标程序在第二操作系统中的存储位置,第二操作系统在运行接收到的可执行的程序时,根据该位置编号可以调用到对应的目标程序。
68.可以理解的是,可以针对第二操作系统约定统一通用的程序接口规范。程序接口规范中包含第二操作系统中的程序各自对应的逻辑位置编号与各自对应的程序标识之间的对应关系,第一操作系统中可以预先存储该对应关系。
69.在一些实施例中,第二操作系统中除了包含程序接口规范中规定的程序之外,还可以包含其他用户自定义的程序,该程序称为第二操作系统后下载的程序。第二操作系统在获取到后下载的程序之后,可以针对该后下载的程序生成程序标识与逻辑位置编号的对应关系。
70.在根据预先存储的程序标识与逻辑位置编号的对应关系,确定与程序标识对应的逻辑位置编号之前,第一操作系统还可以接收第二操作系统发送的该程序标识与逻辑位置编号的对应关系,并存储该程序标识与逻辑位置编号的对应关系。应当说明的是,在其他的实施例中,第二操作系统可以在接收到用户下发的触发指令后,再将生成的程序标识与逻辑位置编号的对应关系发送给第一操作系统。
71.对于上述位置编号包括多维逻辑位置编号的实施方式,应用程序组件中还可以包括目标程序所属的程序包的程序包标识,第一操作系统在接收第二操作系统发送的程序标识与逻辑位置编号的对应关系之前,还可以将程序包标识发送给第二操作系统,然后接收第二操作系统反馈的与程序包标识对应的目标对应关系;目标对应关系中包括:组成该程序包的各程序的程序标识与各逻辑位置编号的对应关系。第一操作系统通过与第二操作系统的一次信息交互,便可直接获取到目标程序所属的程序包中各程序与各逻辑位置编号的
对应关系,便于第一操作系统根据该对应关系在应用程序组件中进行程序标识与对应逻辑位置编号的替换,提升了链接效率。
72.本技术实施例还提供一种程序运行方法,应用于第二操作系统,第二操作系统可以是智能卡操作系统,请参见图2所示,可以包括如下步骤:
73.s201:接收由第一操作系统发送的第二操作系统可执行的程序;可执行的程序由第一操作系统对应用程序源代码进行编译得到第二操作系统可识别的应用程序组件后,将应用程序组件与第二操作系统链接得到的程序。
74.s202:运行可执行的程序。
75.由于第二操作系统接收到的程序是已经与自身操作系统完成链接的程序,因此可以直接运行接收到的程序。
76.根据上述内容的介绍,第一操作系统需要将应用程序组件中目标程序的程序标识替换为对应的第二操作系统中的位置编号,比如替换成上述内容中提及的逻辑位置编号,从而可以得到对应的可执行的程序,所以,可执行的程序中必然包含该位置编号。
77.在本技术实施例中,由于逻辑位置编号可以表征目标程序在第二操作系统存储空间上的逻辑位置序号,所以第二操作系统可以根据该逻辑位置编号直接调用到该目标程序。需要说明的是,在其他的一些实施例中,第二操作系统也可以根据预先存储的位置编号与实际物理地址的对应关系调用对应的实际物理地址运行目标程序。
78.实施例二:
79.为了更好的理解本技术提供的方案,本技术实施例以第一操作系统为pc操作系统,第二操作系统为智能卡操作系统作为示例详细介绍程序处理方法。
80.本技术实施例中的智能卡操作系统的存储空间中存储有多个程序包,每一程序包中依次排列有多个程序,具体的,可以参见图3所示。对于后下载至智能卡操作系统中的程序包,智能卡操作系统可以根据程序包与程序包中程序的排列情况生成多维逻辑位置编号表,多维逻辑位置编号表中包含各程序各自对应的多维逻辑位置编号,以及多维逻辑位置编号与程序标识的对应关系。而对于智能卡操作系统本身需要自带的行业内通用的程序包,则可以通过接口规范约定程序标识与多维逻辑位置编号的对应关系,链接时用程序对应的多维逻辑位置编号来代替程序标识,从而完成链接。
81.多维逻辑位置编号用于表征目标程序所属的程序包在第二操作系统的存储空间上的逻辑位置序号,以及目标程序在程序包中的逻辑位置序号。也即,多维逻辑位置编号由目标程序所属的程序包在第二操作系统的存储空间上的逻辑位置序号,以及目标程序在程序包中的逻辑位置序号共同组成。例如,多维逻辑位置编号0x00010005可以表征目标程序为第1个程序包的第5个程序。由于各程序包以及程序包中的各程序是在第二操作系统的存储空间中按逻辑顺序排列的,所以根据多维逻辑位置编号0x00010005可以查找到目标程序所在的物理存储地址。
82.请参见图4所示,本技术实施例提供的程序处理方法包括如下步骤:
83.s401:对应用程序源代码进行编译得到第二操作系统可识别的应用程序组件。
84.步骤s401中的应用程序组件中包括需要调用的目标程序的程序标识以及目标程序所属的程序包的程序包标识。
85.s402:判断本地是否存在与程序包标识对应的目标对应关系,如否,转至s403,如
是,转至s404。
86.本技术实施例中的目标对应关系中包括:组成该程序包的各程序的程序标识与各多维逻辑位置编号的对应关系。
87.s403:从智能卡操作系统中获取目标对应关系。
88.s404:遍历解析应用程序组件中的程序调用信息。
89.步骤s404中的程序调用信息包括需要调用的位于智能卡操作系统中的目标程序的程序标识。
90.s405:将应用程序组件中目标程序的程序标识替换为对应的多维逻辑位置编号。
91.s406:判断应用程序组件是否解析完毕,如是,转至s407,否则,转至s404。
92.s407:将生成的智能卡操作系统可执行的程序发送给智能卡操作系统。
93.pc操作系统在完成目标程序的程序标识的替换后便可得到智能卡操作系统可执行的程序,然后将该可执行的程序发送给智能卡操作系统运行。
94.应当说明的是,智能卡操作系统中可以通过编程语言构建通用的应用程序运行虚拟机,然后在虚拟机构建的运行环境里通过以上相对引用(将程序标识的引用替换为逻辑位置编号的引用)实现目标程序的调用,从而达到运行应用程序的目的。
95.对于智能卡操作系统而言,在缺少存储资源和cpu运行性能的情况下,通过在智能卡操作系统之外完成程序链接,能够高效完成智能卡应用程序链接生成智能卡操作系统可执行的程序数据,避免在智能卡操作系统内用大量的代码资源实现应用程序链接过程,既减少了智能卡操作系统对存储资源的消耗,也提高了应用程序下载性能。
96.实施例三:
97.请参见图5所示,本技术实施例提供一种程序处理装置,应用于第一操作系统,包括:
98.编译模块501,用于对应用程序源代码进行编译得到第二操作系统可识别的应用程序组件;链接模块502,用于将应用程序组件与第二操作系统链接,生成第二操作系统可执行的程序;发送模块503,用于将可执行的程序发送给第二操作系统。
99.在示例性的实施例中,应用程序组件中包括需要调用的目标程序的程序标识;目标程序为存储在第二操作系统中的程序;链接模块502用于根据预先存储的程序标识与位置编号的对应关系,确定与程序标识对应的位置编号,将应用程序组件中的程序标识替换成对应的位置编号,生成第二操作系统可执行的程序;位置编号用于表征的目标程序在第二操作系统中的存储位置。
100.在示例性的实施例中,位置编号包括单维逻辑位置编号,单维逻辑位置编号用于表征目标程序在第二操作系统的存储空间上的逻辑位置序号,存储空间上存储有多个程序;或,逻辑位置编号包括多维逻辑位置编号,多维逻辑位置编号用于表征目标程序所属的程序包在第二操作系统的存储空间上的逻辑位置序号,以及目标程序在程序包中的逻辑位置序号,存储空间上存储有多个程序包,程序包中包括多个依次排列的程序。
101.在示例性的实施例中,程序处理装置还包括接收模块和存储模块,接收模块用于在链接模块502根据预先存储的程序标识与位置编号的对应关系,确定与程序标识对应的位置编号之前,接收第二操作系统发送的程序标识与位置编号的对应关系;存储模块用于存储该程序标识与位置编号的对应关系。
102.在示例性的实施例中,应用程序组件中还包括目标程序所属的程序包的程序包标识,在位置编号包括多维逻辑位置编号时,发送模块503还用于将程序包标识发送给第二操作系统,接收模块用于接收第二操作系统根据程序包标识反馈的与程序包标识对应的目标对应关系;目标对应关系中包括:组成该程序包的各程序的程序标识与各位置编号的对应关系。
103.请参见图6所示,本技术实施例还提供一种程序运行装置,应用于第二操作系统,包括:
104.接收模块601,用于接收由第一操作系统发送的第二操作系统可执行的程序;可执行的程序由第一操作系统对应用程序源代码进行编译得到第二操作系统可识别的应用程序组件后,将应用程序组件与第二操作系统链接得到的程序;运行模块602,用于运行可执行的程序。
105.需要说明的是,本技术实施例中的第一操作系统可以是终端操作系统,第二操作系统可以是智能卡操作系统。
106.需要理解的是,出于描述简洁的考量,部分实施例一和实施例二中描述过的内容在本实施例中不再赘述。
107.实施例四:
108.基于同一发明构思,本技术实施例提供一种终端,请参见图7所示,包括第一操作系统70,第一操作系统70包括第一处理器701和第一存储器702,第一存储器702中存储有第一计算机程序,第一处理器701执行第一计算机程序,以实现上述实施例一或实施例二中方法的步骤,在此不再赘述。
109.可以理解,图7所示的结构仅为示意,终端还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。
110.本技术实施例还提供一种智能卡,请参见图8所示,包括第二操作系统80,第二操作系统80包括第二处理器801和第二存储器802,第二存储器802中存储有第二计算机程序,第二处理器801执行第二计算机程序,以实现上述实施例一或实施例二中方法的步骤,在此不再赘述。
111.本技术实施例中处理器可以是一种集成电路芯片,具有信号处理能力。上述处理器可以是通用处理器,包括中央处理器(cpu)、网络处理器(np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本技术实施例中公开的各种方法、步骤及逻辑框图。
112.存储器可以包括但不限于随机存取存储器(ram),只读存储器(rom),可编程只读存储器(prom),可擦除只读存储器(eprom),电可擦除只读存储器(eeprom)等。
113.本实施例还提供了一种计算机可读存储介质,如软盘、光盘、硬盘、闪存、u盘、安全数码(sd)卡、多媒体(mmc)卡等,在该计算机可读存储介质中存储有实现上述各个步骤的一个或者多个程序,这一个或者多个程序可被一个或者多个处理器执行,以实现上述各实施例中方法的各步骤,在此不再赘述。
114.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
115.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方
法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。
116.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1