CN104731555A - 一种避免寄存器冲突的方法及装置 - Google Patents

一种避免寄存器冲突的方法及装置 Download PDF

Info

Publication number
CN104731555A
CN104731555A CN201310719460.5A CN201310719460A CN104731555A CN 104731555 A CN104731555 A CN 104731555A CN 201310719460 A CN201310719460 A CN 201310719460A CN 104731555 A CN104731555 A CN 104731555A
Authority
CN
China
Prior art keywords
variable
register
life cycle
program
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201310719460.5A
Other languages
English (en)
Inventor
姜海明
王治春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201310719460.5A priority Critical patent/CN104731555A/zh
Priority to PCT/CN2014/080553 priority patent/WO2015096425A1/zh
Publication of CN104731555A publication Critical patent/CN104731555A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • G06F9/3832Value prediction for operands; operand history buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供的一种避免寄存器冲突的方法及装置,能够避免在程序运行的过程中寄存器发生冲突。本发明的方法具体包括:获取程序在寄存器中各变量的生命周期;检测所述寄存器中各变量的生命周期是否重叠,如是,则进行告警;本发明的方法可以在编程过程中,获取寄存器中程序各变量具体的生命周期,当发现寄存器中有变量重叠时,便对编程人员进行告警,使编程人员获知寄存器存在冲突,从而才能及时地对程序进行修改,使程序在各寄存器中的变量不再重叠,与现有技术相比,本发明的方法能够有效地避免在程序运行的过程中寄存器发生冲突的情况,提高编程的效率。

Description

一种避免寄存器冲突的方法及装置
技术领域
本发明涉及计算机领域,特别涉及一种避免寄存器冲突的方法及装置。
背景技术
现今计算机、手机、平板电脑等电子设备的使用已经非常的普遍,这些电子设备中的软件都是由编程人员编写的程序组成的。在程序中会使用到变量,变量通常存储于寄存器中,以微码为例,微码是程序的一种,它是存储于网络处理器中的指令集,驻留于网络处理器的微引擎中,是整个数据转发层面的核心。寄存器是网络处理器微引擎中的重要资源,微码编程利用寄存器存储一些临时变量,根据转发逻辑实现各种业务。在程序中,每个变量在寄存器中都有各自的生命周期,即从开始使用该变量到该变量不再使用之间的指令周期间隔。因程序中的变量会有多个,寄存器的数量又有限,所以经常会将多个变量放置于同一个寄存器中,如果同一寄存器的两个变量的生命周期出现重叠,就会出现寄存器冲突的情况。
由于编程人员在编写程序的过程中,并不知道寄存器的使用情况,所以在定义变量的时候,经常是凭感觉确定寄存器的使用情况,这样导致的后果就是经常会出现寄存器冲突的情况。
发明内容
本发明要解决的主要技术问题是,提供了一种避免寄存器冲突的方法及装置,能够避免在程序运行的过程中寄存器发生冲突。
为解决上述技术问题,本发明提供一种避免寄存器冲突的方法,包括:获取程序在寄存器中各变量的生命周期;检测所述寄存器中各变量的生命周期是否重叠,如是,则进行告警。
在本发明的一种实施例中,获取程序在寄存器中各变量的生命周期的步骤包括:利用正则表达式对程序进行解析获取寄存器中各变量的生命周期。
在本发明的一种实施例中,利用正则表达式对程序进行解析获取寄存器中各变量的生命周期的步骤包括:利用正则表达式对程序变量定义部分进行解析,获取程序的各变量及其寄存器定义;利用正则表达式对程序指令行进行解析,获取各个变量的生命周期;根据程序的各变量及其寄存器定义、各个变量的生命周期统计各个寄存器中各变量的生命周期。
在本发明的一种实施例中,所述进行告警的步骤包括:通过脚本向用户提示错误来实现告警。
在本发明的一种实施例中,所述方法还包括:当所述寄存器中各变量的生命周期没有重叠时,输出所述程序在寄存器中各变量的生命周期到文本文件中。
本发明还提供了一种避免寄存器冲突的装置,包括:获取模块、检测模块及告警模块;获取模块用于获取程序在寄存器中各变量的生命周期;检测模块用于检测所述寄存器中各变量的生命周期是否重叠,如是,则发送通知给告警模块;告警模块用于在收到检测模块发送的通知后进行告警。
在本发明的一种实施例中,获取模块还包括解析模块,解析模块利用正则表达式对程序进行解析获取寄存器中各变量的生命周期。
在本发明的一种实施例中,解析模块包括第一获取模块、第二获取模块及统计模块;第一获取模块利用正则表达式对程序变量定义部分进行解析,获取程序的各变量及其寄存器定义;第二获取模块利用正则表达式对程序指令行进行解析,获取各个变量的生命周期;统计模块用于根据程序的各变量及其寄存器定义、各个变量的生命周期统计各个寄存器中各变量的生命周期。
在本发明的一种实施例中,告警模块通过脚本向用户提示错误来实现告警。
在本发明的一种实施例中,该装置还包括文本输出模块;当寄存器中各变量的生命周期没有重叠时,检测模块将告知文本输出模块,文本输出模块用于输出程序在寄存器中各变量的生命周期到文本文件中。
本发明的有益效果是:
本发明提供的一种避免寄存器冲突的方法及装置,能够避免在程序运行的过程中寄存器发生冲突。本发明的方法具体包括:获取程序在寄存器中各变量的生命周期;检测所述寄存器中各变量的生命周期是否重叠,如是,则进行告警;本发明的方法可以在编程过程中或编写好程序的初稿后,获取寄存器中程序各变量具体的生命周期,当发现寄存器中有变量重叠时,便对编程人员进行告警,使编程人员获知寄存器存在冲突,从而才能及时地对程序进行修改,使程序在各寄存器中的变量不再重叠,与现有技术相比,本发明的方法能够有效地避免在程序运行的过程中寄存器发生冲突的情况,提高编程的效率。
附图说明
图1为本发明实施例一提供的方法的流程示意图;
图2为本发明实施例三提供的方法的流程示意图;
图3为本发明实施例三提供的微码文件的部分内容;
图4为本发明实施例三提供的输出的变量生命周期的文本文件;
图5为本发明实施例四提供的装置的结构示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
实施例一:
本实施例提供了一种避免寄存器冲突的方法,该方法的流程如图1所示:
步骤S101:开始。
步骤S102:获取程序在寄存器中各变量的生命周期。
因本发明主要解决的是避免编程人员编写的程序在运行的过程中出现寄存器冲突的情况,所以一般在编程人员在编写程序的过程中、或者在编程人员编写好程序的初稿后获取寄存器中各变量的生命周期。
以下用一个具体的例子来说明变量的生命周期的含义。比如程序中定义了一个变量存储报文的目的IP地址,取名destIp,存储于寄存器R1中,如果在程序中从第m行开始使用destIp,第n行使用完毕,则其生命周期值为n-m,并且在第n行以后寄存器R1便释放出来,可以定义为其他变量。上述第m行就是生命周期的起始位置,第n行就是生命周期的终止位置,n-m为变量的生命周期值。因此,变量的生命周期包括起始位置、终止位置和变量的生命周期值。
获取程序在寄存器中各变量的生命周期的方式有多种,因目前大部分脚本语言都带有正则表达式解析功能,比如python、perl等。所以可以利用正则表达式对程序进行解析获取寄存器中各变量的生命周期。具体的,解析程序中的变量定义部分获取变量及其寄存器定义(即变量所在的寄存器)。解析程序的指令行,获取每个变量的生命周期。最后,根据各变量及其寄存器定义、各个变量的生命周期统计各个寄存器中各变量的生命周期。
步骤S103:检测所述寄存器中各变量的生命周期是否重叠,如是,则执行步骤S104,如否,执行步骤S105;
检测步骤可以是在编程人员在编写程序的过程中、或者在编程人员编写好程序的初稿后进行。对应的,当检测步骤是在编程人员在编写程序的过程中进行时,如果检测到寄存器中各变量的生命周期有重叠,则及时对编程人员进行告警。
检测的方式有多种,较优的,可以通过以下方式进行:判断寄存器中的某个变量的生命周期的起始位置或者终止位置是否在同一寄存器中另一变量的生命周期的起始位置到终止位置之间,如果是,则存在重叠。
步骤S104:告警;
告警方式可以通过脚本向编程人员提示错误,也可以通过发出告警声音向编程人员提示错误。通过脚本向编程人员提示错误时,脚本包含的信息包括:重叠的变量、变量所在的寄存器。较优地,为使编程人员能尽快地修改程序,解决变量生命周期重叠的问题,脚本中还可以包括变量生命周期重叠的位置,例如:变量V1和V2发生重叠,具体发生重叠的位置在寄存器R0的第4至第7行。
步骤S105:结束。
在本发明的另一种实施例中提供了另一种方法,该方法的具体流程和上述方法基本一致,不同之处在于:在该方法中,当寄存器中各变量的生命周期没有重叠时,则输出寄存器中各变量的生命周期到文本文件中,文本文件中包含:变量的生命周期,占用的寄存器等信息。这样可以方便编程人员在修改代码,增加变量时寻找空闲的寄存器资源。表示各变量的生命周期的文本文件的表现形式可以为表格、图形等。
实施例二:
为更好的说明上述方法中获取的程序在寄存器中各变量的生命周期包含的内容,及如何检测寄存器中各变量的生命周期是否重叠,下面以一个具体的操作过程进行说明:
编程人员编写的程序中定义了5个变量,分别是V1、V2、V3、V4、V5,在编程人员编写完程序之后,对程序进行解析,获取了这5个变量的生命周期,
如表1所示:
表1
由表1可知,获取的信息包含了程序在寄存器R0中的变量V1、V2、V3的生命周期信息,以及程序在寄存器R1中的变量V4、V5的生命周期信息。在获取完生命周期后,检测寄存器中各变量的生命周期是否重叠,在检测时,可以依次对寄存器R0和寄存器R1进行检测,也可以对两个寄存器同时进行检测。在对寄存器R0检测后,发现变量V2的初始位置在第2行,其在变量V1的初始位置和终止位置之间,所以判定变量V1的生命周期和V2的生命周期重叠。此时,向编程人员进行告警,并告知其变量V1的生命周期和V2的生命周期重叠,需要进行调整。
虽然变量V4的生命周期初始位置是第1行与变量V1的生命周期的初始位置相同,终止位置是第4行与变量V1的生命周期的终止位置相同,但因为他们使用的寄存器不是同一个,所以变量V1和变量V4的生命周期之间并不存在重叠。
实施例三:
为更好的说明本发明提供的方法,下面以具体的实施例进行说明,请参见图2。在本实施例中,利用正则表达式对程序进行解析获取寄存器中各变量的生命周期,且程序为微码程序。
该微码文件中的变量定义部分以assign开头,用于为每个变量指定寄存器。假设微码可用的寄存器资源为R0,R1;微码文件中指令总行数为21。微码的部分内容请见图3。
步骤S201:开始;
步骤S202:利用正则表达式对程序变量定义部分进行解析,获取程序的各变量及其寄存器定义;由上述微码的内容可知,以assign开头的指令行为变量定义指令行,利用正则表达式对微码进行解析可以获取到的变量及其寄存器定义为:变量V1、V2、V3、V4占用寄存器R0;变量V5、V6占用寄存器R1。
步骤S203:利用正则表达式对程序指令行进行解析,获取各个变量的生命周期,变量V1的生命周期为第0行到第3行;变量V2的生命周期为第7行到第8行;变量V3的生命周期为第10行到第13行;变量V4的生命周期为第18行到第21行;变量V5的生命周期为第1行到第5行;变量V6的生命周期为第8行到第10行。
步骤S204:根据各变量及其寄存器定义、各个变量的生命周期统计各个寄存器中各变量的生命周期;统计的结果是:变量V1、V2、V3、V4占用寄存器R0;变量V1的生命周期为第0行到第3行;变量V2的生命周期为第7行到第8行;变量V3的生命周期为第10行到第13行;变量V4的生命周期为第18行到第21行。变量V5、V6占用寄存器R1;变量V5的生命周期为第1行到第5行;变量V6的生命周期为第8行到第10行。
步骤S205:检测所述寄存器中各变量的生命周期是否重叠,如是,则转到步骤S206;如否,则转到步骤S207。因为本实施例中的寄存器R0和R1中的变量的生命周期都不存在重叠,所以转到步骤S207;
步骤S206:告警,告警的方式采用脚本向用户提示错误。
步骤S207:输出寄存器中各变量的生命周期到文本文件中,输出的文本文件以表格的形式呈现,如图4所示。
步骤S208:结束。
实施例四:
本实施例提供了一种避免寄存器冲突的装置,包括:获取模块、检测模块及告警模块,如图5所示;获取模块用于获取程序在寄存器中各变量的生命周期;检测模块用于检测所述寄存器中各变量的生命周期是否重叠,如是,则发送通知给告警模块;告警模块用于在收到检测模块发送的通知后进行告警。
因本发明主要解决的是避免编程人员编写的程序存在寄存器冲突的情况,所以一般在编程人员在编写程序的过程中、或者在编程人员编写好程序的初稿后获取模块才开始获取寄存器中各变量的生命周期。检测模块可以是在编程人员在编写程序的过程中、或者在编程人员编写好程序的初稿后对检测寄存器中各变量的生命周期是否重叠。对应的,如果检测模块的检测过程是在编程人员编写程序的过程中进行时,如果检测模块检测到寄存器中各变量的生命周期有重叠,则及时通知告警模块。
以下用一个具体的例子来说明变量的生命周期的含义。比如程序中定义了一个变量存储报文的目的IP地址,取名destIp,存储于寄存器R1中,如果在程序中从第m行开始使用destIp,第n行使用完毕,则其生命周期值为n-m,并且在第n行以后寄存器R1便释放出来,可以定义为其他变量。上述第m行就是生命周期的起始位置,第n行就是生命周期的终止位置,n-m为变量的生命周期值。因此,变量的生命周期包括起始位置、终止位置和变量的生命周期值。
上述检测模块可通过判断寄存器中的某个变量的生命周期的起始位置或者终止位置是否在同一寄存器中另一变量的生命周期的起始位置到终止位置之间来确定寄存器中各变量的生命周期是否重叠。
上述告警模块可以通过脚本向编程人员提示错误,也可以通过发出告警声音向编程人员提示错误。通过脚本向编程人员提示错误时,脚本包含的信息包括:重叠的变量、变量所在的寄存器。较优地,为使编程人员能尽快地修改程序,解决变量生命周期重叠的问题,脚本中还可以包括变量生命周期重叠的位置,例如:变量V1和V2发生重叠,具体发生重叠的位置在寄存器R0的第4至第7行。
上述获取模块还包括解析模块,因目前大部分脚本语言都带有正则表达式解析功能,比如python、perl等,所以可以利用正则表达式对程序进行解析获取寄存器中各变量的生命周期。解析模块包括第一获取模块、第二获取模块及统计模块;第一获取模块利用正则表达式对程序进行解析后获取程序的各变量及其寄存器定义(即变量所在的寄存器);第二获取模块利用正则表达式对程序进行解析后获取各个变量的生命周期;统计模块用于根据各变量及其寄存器定义、各个变量的生命周期统计各个寄存器中各变量的生命周期。
该装置还包括文本输出模块;当寄存器中各变量的生命周期没有重叠时,检测模块将告知文本输出模块,文本输出模块用于输出寄存器中各变量的生命周期到文本文件中,文本文件的表现形式可以为表格、图形等。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种避免寄存器冲突的方法,其特征在于,包括:
获取程序在寄存器中各变量的生命周期;
检测所述寄存器中各变量的生命周期是否重叠,如是,则进行告警。
2.如权利要求1所述的避免寄存器冲突的方法,其特征在于,所述获取程序在寄存器中各变量的生命周期的步骤包括:
利用正则表达式对程序进行解析获取寄存器中各变量的生命周期。
3.如权利要求2所述的避免寄存器冲突的方法,其特征在于,利用正则表达式对程序进行解析获取寄存器中各变量的生命周期的步骤包括:
利用正则表达式对程序变量定义部分进行解析,获取程序的各变量及其寄存器定义;
利用正则表达式对程序指令行进行解析,获取各个变量的生命周期;
根据程序的各变量及其寄存器定义、各个变量的生命周期统计各个寄存器中各变量的生命周期。
4.如权利要求1所述的避免寄存器冲突的方法,其特征在于,所述进行告警的步骤包括:通过脚本向用户提示错误来实现告警。
5.如权利要求1-4任一项所述的避免寄存器冲突的方法,其特征在于,所述方法还包括:当所述寄存器中各变量的生命周期没有重叠时,输出所述程序在寄存器中各变量的生命周期到文本文件中。
6.一种避免寄存器冲突的装置,其特征在于,包括:
获取模块、检测模块及告警模块;
所述获取模块用于获取程序在寄存器中各变量的生命周期;
所述检测模块用于检测所述寄存器中各变量的生命周期是否重叠,如是,则发送通知给告警模块;
所述告警模块用于在收到检测模块发送的通知后进行告警。
7.如权利要求6所述的避免寄存器冲突的装置,其特征在于,所述获取模块还包括解析模块,所述解析模块利用正则表达式对程序进行解析获取寄存器中各变量的生命周期。
8.如权利要求7所述的避免寄存器冲突的装置,其特征在于,所述解析模块包括第一获取模块、第二获取模块及统计模块;所述第一获取模块利用正则表达式对程序变量定义部分进行解析,获取程序的各变量及其寄存器定义;所述第二获取模块利用正则表达式对程序指令行进行解析,获取各个变量的生命周期;所述统计模块用于根据程序的各变量及其寄存器定义、各个变量的生命周期统计各个寄存器中各变量的生命周期。
9.如权利要求6所述的避免寄存器冲突的装置,其特征在于,告警模块通过脚本向用户提示错误来实现告警。
10.如权利要求6-9任一项所述的避免寄存器冲突的装置,其特征在于,还包括文本输出模块;当所述寄存器中各变量的生命周期没有重叠时,检测模块将告知文本输出模块,文本输出模块用于输出所述程序在寄存器中各变量的生命周期到文本文件中。
CN201310719460.5A 2013-12-23 2013-12-23 一种避免寄存器冲突的方法及装置 Pending CN104731555A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310719460.5A CN104731555A (zh) 2013-12-23 2013-12-23 一种避免寄存器冲突的方法及装置
PCT/CN2014/080553 WO2015096425A1 (zh) 2013-12-23 2014-06-23 一种避免寄存器冲突的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310719460.5A CN104731555A (zh) 2013-12-23 2013-12-23 一种避免寄存器冲突的方法及装置

Publications (1)

Publication Number Publication Date
CN104731555A true CN104731555A (zh) 2015-06-24

Family

ID=53455485

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310719460.5A Pending CN104731555A (zh) 2013-12-23 2013-12-23 一种避免寄存器冲突的方法及装置

Country Status (2)

Country Link
CN (1) CN104731555A (zh)
WO (1) WO2015096425A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434743B1 (en) * 1999-04-23 2002-08-13 Sun Microsystems, Inc. Method and apparatus for allocating stack slots
CN101151843A (zh) * 2005-06-22 2008-03-26 中兴通讯股份有限公司 一种文本数据挖掘方法
CN101539867A (zh) * 2009-04-23 2009-09-23 上海交通大学 动态二进制翻译系统中可重定向的寄存器分配方法
CN102033773A (zh) * 2010-11-12 2011-04-27 西安电子科技大学 基于反图描述的嵌入式系统寄存器分配方法
US20110209127A1 (en) * 2010-02-24 2011-08-25 Tomasz Janczak Register Allocation With SIMD Architecture Using Write Masks
CN102360280A (zh) * 2011-10-28 2012-02-22 浙江大学 一种针对混合长度指令集的寄存器分配方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101694627B (zh) * 2009-10-23 2013-09-11 天津大学 基于可配置处理器的编译器系统
US8806460B2 (en) * 2012-01-26 2014-08-12 Qualcomm Incorporated Method and apparatus for avoiding register interference

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434743B1 (en) * 1999-04-23 2002-08-13 Sun Microsystems, Inc. Method and apparatus for allocating stack slots
CN101151843A (zh) * 2005-06-22 2008-03-26 中兴通讯股份有限公司 一种文本数据挖掘方法
CN101539867A (zh) * 2009-04-23 2009-09-23 上海交通大学 动态二进制翻译系统中可重定向的寄存器分配方法
US20110209127A1 (en) * 2010-02-24 2011-08-25 Tomasz Janczak Register Allocation With SIMD Architecture Using Write Masks
CN102033773A (zh) * 2010-11-12 2011-04-27 西安电子科技大学 基于反图描述的嵌入式系统寄存器分配方法
CN102360280A (zh) * 2011-10-28 2012-02-22 浙江大学 一种针对混合长度指令集的寄存器分配方法

Also Published As

Publication number Publication date
WO2015096425A1 (zh) 2015-07-02

Similar Documents

Publication Publication Date Title
CN107273280B (zh) 一种日志处理方法、装置、电子设备和存储介质
US9176848B2 (en) Program debugger and program debugging
CN104484273A (zh) 应用程序的测试方法、设备及系统
RU2008116177A (ru) Способы одновременного выполнения нескольких задач в медиаплеерах
CN104750585A (zh) 终端检测的方法及装置
CN102855214B (zh) 实现数据一致性的方法和一种多核系统
CN104572781A (zh) 一种交易日志产生方法和装置
CN101706799A (zh) 一种实现自动化测试的方法和装置
CN101482596B (zh) 多因素工业系统的故障快速识别方法
CN102591787B (zh) Java卡的数据处理方法及装置
CN104268229A (zh) 一种基于多进程浏览器的资源获得方法及装置
CN104424240A (zh) 多表关联方法、主服务节点、计算节点及系统
CN111181769B (zh) 网络拓扑图绘制方法、系统、装置及计算机可读存储介质
CN105512130A (zh) 数据源融合的方法和装置
CN102880471A (zh) 基于命令行的命令执行方法及命令行操作系统
CN102880473A (zh) 基于quartz框架的任务执行方法及装置
CN107766230A (zh) 一种基于配置文件进行测试的方法与设备
CN108804081A (zh) 一种Fragment中控件识别方法及系统
CN110704226B (zh) 数据校验方法、装置及存储介质
CN103176897B (zh) 一种软件回归测试的方法及系统
CN109144853B (zh) 一种软件定义无线电SoC芯片调试系统
CN104731555A (zh) 一种避免寄存器冲突的方法及装置
CN103425558B (zh) 一种基于测试配置表实现板卡io口测试的方法
CN101295239A (zh) Java卡虚拟机的指令执行方法
US8566797B2 (en) Heuristic backtracer

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20150624