指令格式转换方法、装置、系统、转换设备及存储介质与流程

文档序号:31999863发布日期:2022-11-02 10:42阅读:46来源:国知局
指令格式转换方法、装置、系统、转换设备及存储介质与流程

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.一种转换设备,包括处理器和存储器,所述存储器存储有能够被所述处 理器执行的计算机程序,所述处理器可执行所述计算机程序以实现如第一 方面所述的指令格式转换方法。
39.第五方面,本发明实施例提供一种存储介质,采用如下的技术方案。
40.一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行 时实现如第一方面所述的指令格式转换方法。
41.本发明实施例提供的指令格式转换方法、装置、系统、转换设备及存储 介质,通过对待处理指令的格式文件进行词法分析,构建该格式文件的语法 树,从而根据语法树,按照代码规范,生成待处理指令的读写代码文件,使 得待读写该待处理指令的第一设备可以使用读写代码文件,对待处理指令 进行读写,无需人为编写打包函数和解包函数来进行打包和解包,极大地节 省人力,同时能够提高效率。
42.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施 例,并配合所附附图,作详细说明如下。
附图说明
43.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需 要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实 施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在 不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
44.图1示出了本发明实施例提供的指令格式转换系统的方框示意图。
45.图2示出了本发明实施例提供的指令格式转换方法的流程示意图。
46.图3示出了图2中步骤s101的部分子步骤的流程示意图。
47.图4示出了一种语法树的结构示意图。
48.图5示出了图2中步骤s107的部分子步骤的流程示意图。
49.图6示出了本发明实施例提供的指令格式转换装置的方框示意图。
50.图7示出了本发明实施例提供的转换设备的方框示意图。
51.图标:100-指令格式转换系统;110-第一设备;120-第二设备;130-转 换设备;140-指令格式转换装置;150-文件获取模块;160-文件解析模块; 170-代码生成模块。
具体实施方式
52.下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而 不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件 可以以各种不同的配置来布置和设计。
53.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限 制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发 明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所 有其他实施例,都属于本发明保护的范围。
54.需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个 实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些 实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包 含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要 素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列 出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要 素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排 除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
55.随着汽车电子技术的飞速发展,越来越多的电子器械通过总线连接到 主控芯片(主处理器)。一些复杂的外部芯片(外部处理器)会自定义格式 数据包。主控芯片将控制指令发送到外部芯片时,需要将数据按照外部芯片 的指定格式打包后再发送。主控芯片从外部芯片获取指令执行结果时,也需 要将收到的数据按照外部芯片的指定格式解包。
56.目前,针对每个指令和返回结果,由开发者分别编写打包函数和解包函 数。然而,对于负载的外部芯片,可能存在上百个及以上的控制指令,开发 者编写打包函数(写函数)
和解包函数(读函数)的方式,需要耗费大量的 人力,且效率低。同时,这种方式也容易产生不易被察觉的错误,易于引起 代码运行时的异常。
57.基于上述考虑,本发明实施例提供一种指令格式转换方案,其能够自动 生成打包函数和解包函数,以提高效率,减小人力消耗,同时能够检测出指 令是否异常。以下,本发明实施例将对该方案进行介绍。
58.在一个实施例中,提供一种指令格式转换系统100,参照图1,该指令 格式转换系统100包括第一设备110、第二设备120和转换设备130,第一 设备110、第二设备120和转换设备130中可以两两通过有线或无线的方式 进行通信。
59.转换设备130,可以用于实现本发明实施例提供的指令格式转换方法, 以得到任一待处理指令的读写代码文件。
60.第二设备120,用于将生成的待处理指令和转换设备130生成的读写代 码文件发送至第一设备110。
61.其中,读写代码文件包括结构体定义文件,打包函数的声明文件和实现 文件,以及解包函数的声明文件和实现文件。
62.应当理解的是,打包函数的声明文件和实现文件构成打包函数,解包函 数的声明文件和实现文件构成打包函数。
63.第一设备110,用于使用读写代码文件读/写待处理指令。
64.第一设备110使用结构体定义并调用打包函数,读取待处理指令。或 者,第一设备110使用结构体定义并调用解包函数,将待处理指令写入第二 设备120。
65.应当理解的是,第一设备110可以但不限于是:主控芯片、主控设备和 主处理器等,第二设备120可以但不限于是:外部芯片、受控芯片和备用处 理器等。
66.上述指令格式转换系统100中,由转换设备130生成待处理指令的读 写代码文件,从而第一设备110能够使用读写代码文件读写待处理指令,无 需人为编写打包函数和解包函数,极大地节省人力,同时提高指令处理效率。
67.需要说明的是,本发明实施例提供的指令格式转换方法由转换设备130 进行实现只是其中的一种实施方式的举例,而非唯一限定。在其他实施例中, 可以由第一设备110实现,也可以由第二设备120实现。
68.在一个实施例中,参照图2,提供了一种指令格式转换方法,本实施例 中以该方法的执行主体为图1中的转换设备130来举例说明。
69.s101,获取待处理指令的格式文件。
70.s103,对格式文件进行词法分析,得到待处理指令的指令信息。
71.其中,指令信息包括待处理指令中每个字段的字段顺序。
72.转换设备130获取到待处理指令的格式文件后,采用预设的词法分析 器,对格式文件进行词法分析,将格式文件中的文本内容拆分为一个个独立 的词法单元,得到指令信息。
73.每个词法单元都具有类型属性,例如,数字、标识符或注释等。
74.词法分析是计算机科学中将字符序列转换为单词(token)序列的过程。 通过使用词法分析器,即可完成词法分析。词法分析器就是进行词法分析的 程序或者函数,也被称为扫描器。
75.s105,基于指令信息,按照字段顺序,构建格式文件的语法树。
76.语法树按照待处理指令的字段顺序进行构建,故而语法树的顺序与字 段顺序相关。
77.s107,遍历语法树,根据预设的代码规范,生成关于待处理指令的读写 代码文件,以使第一设备使用读写代码文件读写待处理指令。
78.由于语法树的顺序与字段顺序相关,故而遍历语法树后生成的读写代 码文件也严格遵循待处理指令的字段顺序。
79.与人工对每个指令编写打包函数和解包函数相比,上述指令格式转换 方法通过对待处理指令的格式文件进行词法分析,构建该格式文件的语法 树,从而根据语法树,按照代码规范,生成待处理指令的读写代码文件。进 而待读写该待处理指令的第一设备110可以使用读写代码文件,对待处理 指令进行读写,无需人为编写打包函数和解包函数来进行打包和解包,极大 地节省人力,同时能够提高效率。
80.针对s101,获取待处理指令的格式文件的方式可以灵活选择。例如, 由开发者输入至转换设备130,也可以由第二设备120或第一设备110发送 至转换设备130。在一种实施方式中,通过以下步骤实现步骤s101:根据 第二设备120的指令手册,得到待处理指令的格式文件。
81.进一步地,参照图3,可以通过以下步骤实现s101。
82.s101-1,从第二设备的指令手册中提取出待处理指令的数据包格式。
83.第二设备120的指令手册可以预存于转换设备130的指令库内,转换 设备130的指令库内存储有各类设备的指令手册。每个指令手册与设备的 唯一标识以字典类型数据进行存储,通过查询标识即可查询到每个设备的 指令手册。
84.指令手册中包括设备的每个指令的数据包格式,从而能够根据待处理 指令的名称或类型查询出待处理指令的数据包格式。
85.应当理解的是,指令手册可以是芯片手册。
86.s101-2,根据数据包格式,得到待处理指令的格式文件。
87.对数据包格式进行读取,即可得到待处理指令的格式文件。
88.对于步骤s103获得的指令信息,还包括待处理指令的指令名称以及每 个字段的字段信息,字段信息包括字段名称和字段占用的比特位长度。
89.例如,当某个待处理指令的定义格式(格式文件)为:“def systemup_not:
90.handle:8
91.command:8
92.version:16
93.status:6
94.reserved:2
95.end”。
96.该待处理指令的指令名称为systemup_not,字段数量为5,字段顺序 为:handle,command,version,status和reserved。字段名称分别为: handle,command,version,status和reserved。字段占用的比特位长 度分别为8,8,16,6和2。
97.在得到指令信息后,可以以下方式建立语法树,即实现步骤s105:将 指令名称作
为根节点,按照字段顺序,依次将每个字段的字段信息作为子节 点,以得到格式文件的语法树。
98.参照图4,图4为上述格式文件的语法树。在一种实施方式中,可以将 指令名称作为根节点,字段顺序作为子节点,将字段信息作为叶子节点,建 立出语法树。
99.构建出的语法树既能体现字段的先后顺序,也能体现字段的信息。
100.应当理解的是,图中展示的语法树的一种结构形式,不是唯一限定,实 际应用中,可以根据实际需求和喜好构建其他形式的语法树。
101.进一步地,参照图5,可以通过以下步骤实现步骤s107。
102.s107-1,根据语法树中的根节点,确定代码信息。
103.其中,代码信息包括结构体名称、打包函数名称和解包函数名称。
104.代码信息可以按照喜好或者需求来进行确定,在这里不作具体的限定。
105.例如,以图4中的语法树为例,根节点为指令名称systemup_not,结 构体名称可以为struct systemup_not,打包函数名称为systemup_not_ serialize,解包函数名称为systemup_not_serialize。
106.s107-2,根据语法树中的各个子节点,确定结构体信息。
107.其中,结构体信息包括结构体的成员字段,每个成员字段的名称,以及 每个成员字段的比特位数。
108.结构体信息的形式可以因所选用编程语言的不同而有不同的形式,在 这里不作具体的限定。
109.在一种实施方式,以图4中的语法树,且编程语言为c语言为例,结 构体信息可以包括uint8_t handle,uint8_t command,uint8_t version,uint8_t status和uint8_t reserved。
110.s107-3,按照预设的代码规范,并按照各个子节点的顺序,结合代码信 息和结构体信息,生成读写代码文件。
111.其中,读写代码文件包括结构体定义文件,打包函数的声明文件和实现 文件,以及解包函数的声明文件和实现文件。
112.代码规范包括变成语言、打包函数代码规范和解包函数代码规范。代码 规范可以灵活设置,例如,打包函数代码规范可以是打包函数代码规则,也 可以是打包函数代码框架,同理,解包函数代码规范可以是解包函数代码规 则,也可以是解包函数代码框架。
113.若代码规范是代码规则,则可以按照规则,以指定的编程语言生成读写 代码文件。若代码规范是代码框架,则可以将代码框架中的内容值更新为代 码信息和结构体信息,得到读写代码文件。
114.以图4中的语法树为例,生成的读写代码文件的结构体定义文件可以 为:
[0115]“typedef struct systemup_not{
[0116]
uint8_t handle;
[0117]
uint8_t command;
[0118]
uint16_t version;
[0119]
uint8_t status:6;
[0120]
uint8_t reserved:2;
[0121]
}systemup_not;”。
[0122]
生成的打包函数声明文件可以为:
[0123]“systemup_not_serialize(const systemup_not*st,uint8_t*buff,intbuff_size)”。
[0124]
解包函数声明文件可以为:
[0125]“systemup_not*systemup_not_deserialize(uint8_t*buff,int buff_size)”。
[0126]
打包函数实现文件可以为:
[0127]“int systemup_not_serialize(const systemup_not*st,uint8_t*buff,int buff_size){
[0128]
int ret=0,bits=0;
[0129]
bits_writer_t*bw=bits_writer_init(buff,buff_size);
[0130]
ret=bits_write(bw,8,st-》handle);assert(ret》=0);bits+=8;
[0131]
ret=bits_write(bw,8,st-》command);assert(ret》=0);bits+=8;
[0132]
ret=bits_write(bw,16,st-》version);assert(ret》=0);bits+=16;
[0133]
ret=bits_write(bw,6,st-》status);assert(ret》=0);bits+=6;
[0134]
ret=bits_write(bw,2,st-》reserved);assert(ret》=0);bits+=2;
[0135]
bits_writer_deinit(&bw);
[0136]
assert((bits%8==0)&&(bits《=buff_size*8));
[0137]
return(bits+7)/8;
[0138]
}”。
[0139]
解包函数实现函数可以为:
[0140]“systemup_not*systemup_not_deserialize(uint8_t*buff,int buff_size){
[0141]
int bits=0;
[0142]
systemup_not*st=(systemup_not*)calloc(1,sizeof(systemup_not));
[0143]
bits_reader_t*br=bits_reader_init(buff,buff_size);
[0144]
st-》handle=bits_read(br,8);bits+=8;
[0145]
st-》command=bits_read(br,8);bits+=8;
[0146]
st-》version=bits_read(br,16);bits+=16;
[0147]
st-》status=bits_read(br,6);bits+=6;
[0148]
st-》reserved=bits_read(br,2);bits+=2;
[0149]
assert(((bits+7)/8)《=buff_size);
[0150]
bits_reader_deinit(&br);
[0151]
return st;
[0152]
}”。
[0153]
通过上述步骤s107-1至s107-3,可以生成读写代码文件。
[0154]
在一种实施方式中,在生成读写代码时,转换设备130可以结合语法 树(或格式文件)检测待处理指令是否异常,即根据每个成员字段的比特数, 可以检测待处理指令是否符合数据包格式,若不同,则可能是待处理指令异 常,也可能是选取的格式文件错误。当发生异常时,转换设备130可以进行 报警,对异常进行警示(如,将待处理指令和选取的格式
文件一并发送至开 发处,或将待处理指令或选取的格式文件一并进行显示),以提醒开发者及 时处理。
[0155]
当需读取或写入待处理指令的设备接收到待处理指令和读写代码文件 (包括结构体定义文件、打包函数和解包函数的声明文件和实现文件)后, 使用结构体定义调用打包函数(打包函数的声明文件加实现文件)或解包函 数(解包函数的声明文件加实现文件)对待处理指令进行读写。
[0156]
本发明实施例提供的指令格式转换方法,根据待处理指令的格式文件 生成语法树,进而自动生成待处理指令的读写代码文件,无需人为编写读写 代码,开发者只需关注业务逻辑,无需关心数据包(指令)的通信细节,从 而能够节省人力和开发时间,同时提高效率。且在生成读写代码文件的过程 中,能够检测是否有异常,能够及时发现错误,有助于减小代码运行时的异 常。
[0157]
基于上述指令格式转换方法的发明构思,在一个实施例中,参照图6, 提供一种指令格式转换装置140,包括文件获取模块150、文件解析模块160 和代码生成模块170。
[0158]
文件获取模块150,用于获取待处理指令的格式文件。
[0159]
文件解析模块160,用于对格式文件进行词法分析,得到待处理指令的 指令信息。
[0160]
其中,指令信息包括待处理指令中每个字段的字段顺序。
[0161]
代码生成模块170,用于基于指令信息,按照字段顺序,构建格式文件 的语法树,遍历语法树,根据预设的代码规范,生成关于待处理指令的读写 代码文件,以使第一设备110使用读写代码文件读写待处理指令。
[0162]
上述指令格式转换文件可以应用于转换设备130,也可以应用于处理待 处理指令的设备。通过待处理指令的格式文件,生成语法树,从而自动生成 待处理指令的读写代码文件,无线开发者亲自编写读写代码,从而能够提高 开发效率,节省人力。
[0163]
关于指令格式转换装置140的具体限定可以参见上文中对于指令格式 转换方法的限定,在此不再赘述。上述指令格式转换装置140中的各个模 块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式 内嵌于或独立于转换设备130中的处理器中,也可以以软件形式存储于转 换设备130中的存储器中,以便于处理器调用执行以上各个模块对应的操 作。
[0164]
在一个实施例中,提供了一种转换设备130,该转换设备130可以是终 端,其内部结构图可以如图7所示。该转换设备130包括通过系统总线连 接的处理器、存储器、通信接口、显示屏和输入装置。其中,该转换设备 130的处理器用于提供计算和控制能力。该转换设备130的存储器包括非易 失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机 程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行 提供环境。该转换设备130的通信接口用于与外部的终端进行有线或无线 方式的通信,无线方式可通过wifi、运营商网络、近场通信(nfc)或其 他技术实现。该计算机程序被处理器执行时以实现一种指令格式转换方法。 该转换设备130的显示屏可以是液晶显示屏或者电子墨水显示屏,该转换 设备130的输入装置可以是显示屏上覆盖的触摸层,也可以是转换设备130 外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠 标等。
[0165]
本领域技术人员可以理解,图7中示出的结构,仅仅是与本技术方案 相关的部分结构的框图,并不构成对本技术方案所应用于其上的转换设备 130的限定,具体的转换设
备130可以包括比图7中所示更多或更少的部件, 或者组合某些部件,或者具有不同的部件布置。
[0166]
在一个实施例中,本技术提供的指令格式转换装置140可以实现为一 种计算机程序的形式,计算机程序可在如图7所示的转换设备130上运行。 转换设备130的存储器中可存储组成该指令格式转换装置140的各个程序 模块,比如,图6所示的文件获取模块150、文件解析模块160和代码生成 模块170。各个程序模块构成的计算机程序使得处理器执行本说明书中描述 的本技术各个实施例的指令格式转换方法中的步骤。
[0167]
例如,图7所示的转换设备130可以通过如图6所示的指令格式转换
[0168]
在一个实施例中,提供了一种转换设备130,包括存储器和处理器,该 存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取 待处理指令的格式文件;对格式文件进行词法分析,得到待处理指令的指令 信息,指令信息包括待处理指令中每个字段的字段顺序;基于指令信息,按 照字段顺序,构建格式文件的语法树;遍历语法树,根据预设的代码规范, 生成关于待处理指令的读写代码文件,以使第一设备110使用读写代码文 件读写待处理指令。
[0169]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据语法 树中的根节点,确定代码信息,代码信息包括结构体名称、打包函数名称和 解包函数名称;根据语法树中的各个子节点,确定结构体信息,结构体信息 包括结构体的成员字段,每个成员字段的名称,以及每个成员字段的比特位 数;按照预设的代码规范,并按照各个子节点的顺序,结合代码信息和结构 体信息,生成读写代码文件,读写代码文件包括结构体定义文件,打包函数 的声明文件和实现文件,以及解包函数的声明文件和实现文件。
[0170]
在一个实施例中,提供了一种存储介质,其上存储有计算机程序,计算 机程序被处理器执行时实现以下步骤:获取待处理指令的格式文件;对格式 文件进行词法分析,得到待处理指令的指令信息,指令信息包括待处理指令 中每个字段的字段顺序;基于指令信息,按照字段顺序,构建格式文件的语 法树;遍历语法树,根据预设的代码规范,生成关于待处理指令的读写代码 文件,以使第一设备110使用读写代码文件读写待处理指令。
[0171]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤根据语 法树中的根节点,确定代码信息,代码信息包括结构体名称、打包函数名称 和解包函数名称;根据语法树中的各个子节点,确定结构体信息,结构体信 息包括结构体的成员字段,每个成员字段的名称,以及每个成员字段的比特 位数;按照预设的代码规范,并按照各个子节点的顺序,结合代码信息和结 构体信息,生成读写代码文件,读写代码文件包括结构体定义文件,打包函 数的声明文件和实现文件,以及解包函数的声明文件和实现文件。
[0172]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法, 也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例 如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和 计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或 框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、 程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行 指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也 可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以 基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而 定。也要注意的是,框图和/或流
程图中的每个方框、以及框图和/或流程图 中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统 来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0173]
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个 独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成 形成一个独立的部分。
[0174]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使 用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明 的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部 分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介 质中,包括若干指令用以使得一台转换设备130(可以是个人计算机,服务 器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。 而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,random access memory)、磁碟或者光 盘等各种可以存储程序代码的介质。
[0175]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本 领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和 原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护 范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1