CN112948000A - 栈空间统计方法、装置及介质 - Google Patents

栈空间统计方法、装置及介质 Download PDF

Info

Publication number
CN112948000A
CN112948000A CN202110284125.1A CN202110284125A CN112948000A CN 112948000 A CN112948000 A CN 112948000A CN 202110284125 A CN202110284125 A CN 202110284125A CN 112948000 A CN112948000 A CN 112948000A
Authority
CN
China
Prior art keywords
stack
stack space
register value
dynamic variable
top dynamic
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.)
Granted
Application number
CN202110284125.1A
Other languages
English (en)
Other versions
CN112948000B (zh
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.)
Xinghan Intelligent Technology Co ltd
Original Assignee
Xinghan Intelligent Technology Co ltd
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 Xinghan Intelligent Technology Co ltd filed Critical Xinghan Intelligent Technology Co ltd
Priority to CN202110284125.1A priority Critical patent/CN112948000B/zh
Publication of CN112948000A publication Critical patent/CN112948000A/zh
Application granted granted Critical
Publication of CN112948000B publication Critical patent/CN112948000B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/37Compiler construction; Parser generation
    • 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/30098Register arrangements

Landscapes

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

Abstract

本发明涉及栈空间统计方法、装置及介质的技术方案,包括:初始化栈顶动态变量;运行软件程序的任一项功能,获取处理器的SP寄存器值;SP指针对比,包括将SP寄存器值分别与栈空间边界及所述栈顶动态变量进行对比,根据对比结果分别进行栈空间使用情况提示及更新所述栈顶动态变量;编译所述软件程序,获取对应的PUSH指令,并在所述PUSH指令中添加用于执行所述SP指针对比的指令,重复执行此步骤直至得到所述软件程序功能运行时所需的最大栈空间。本发明的有益效果为:实现了计算机软件程序在运行时所需的最大栈空间的统计,实现方式简单高效,且可以防止超出最大边界。

Description

栈空间统计方法、装置及介质
技术领域
本发明涉及计算机领域,具体涉及了一种栈空间统计方法、装置及介质。
背景技术
栈(stack)在计算机系统中是一种重要的数据存储结构,其特点是先入后出。在内存中,栈结构占据一片连续的空间,且空间的大小随着保存的数据多少而动态变化。存储数据时,通过push操作,将需要保存的数据从其一端压入,此时栈长度增加。读取数据时,通过pop操作从相同的一端弹出,此时栈长度减少。在这里push和pop所操作的位置称为栈顶(stack top)。为了标记这个动态变化的栈顶,需要有一个指针,称为stack pointer(SP)。固定的一端为栈底(stack base)。
在很多处理器中,栈经常被用于传递函数调用的参数以及缓存处理器的寄存器内容。寄存器是处理器内部进行运算时临时保存数据的逻辑单元。每次调用一个函数时,通常会有push操作。每次调用结束时会有pop操作。随着函数调用层次的增加,栈内所存储的数据会逐渐增多。随着函数调用返回而导致的调用层次减少,栈内数据相应减少。根据栈空间的增长方向不同,有两种栈类型:递增栈,为低地址向高地址增长;递减栈,为高地址向低地址增长。
一个软件中函数调用的层次千差万别,再加上递归调用以及函数指针的使用,导致很难分析出所需要的最大栈空间。
现有的方法一般是根据经验尽量分配足够大小的栈,然后反复测试观察软件是否正常,这种方法的问题是并不足够准确,实际上有些情况下栈溢出不一定能够从功能上明显表现出来,单纯的通过功能测试来防止栈溢出有一定的隐患。另外一个方法是先将内存全部填充为一个特定内容,然后运行软件程序,因为栈空间的增长会修改内存的内容,只要观察最终内存的变化也可以得知栈大小的情况,这种方法需要观察内存的内容,在实际操作上并不是很方便。并且其前提是首先要有足够大的空间,在一些内存非常有限的单片机上不容易实施。
发明内容
本发明的目的在于至少解决现有技术中存在的技术问题之一,提供了栈空间统计方法、装置及介质,实现了计算机软件程序在运行时所需的最大栈空间的统计,实现方式简单高效,且可以防止超出最大边界。
本发明的技术方案包括一种栈空间统计方法,其特征在于,包括:初始化栈顶动态变量;运行软件程序的任一项功能,获取处理器的SP寄存器值;SP指针对比,包括将SP寄存器值分别与栈空间边界及所述栈顶动态变量进行对比,根据对比结果分别进行栈空间使用情况提示及更新所述栈顶动态变量;编译所述软件程序,获取对应的PUSH指令,并在所述PUSH指令中添加用于执行所述SP指针对比的指令,重复执行此步骤直至得到所述软件程序功能运行时所需的最大栈空间。
根据所述的栈空间统计方法,其中初始化栈顶动态变量包括:创建一初始化指令,所述初始化指令用于在每次执行所述SP指针对比时初始化所述栈顶动态变量。
根据所述的栈空间统计方法,其中所述SP指针包括:获取处理器的SP寄存器值及所述栈顶动态变量;对于递减栈,比较SP寄存器值和栈空间边界,若SP寄存器值小于栈空间边界,则提示栈空间不足并终止运行;比较SP寄存器值和所述栈顶动态变量,若SP寄存器值小于所述栈顶动态变量,则更新所述栈顶动态变量为SP寄存器值,否则退出;
以及,对于递增栈,比较SP寄存器值和栈空间边界,若SP寄存器值大于栈空间边界,则提示栈空间不足并终止运行;比较SP寄存器值和所述栈顶动态变量,若SP寄存器值大于所述栈顶动态变量,则更新所述栈顶动态变量为SP寄存器值,否则退出。
根据所述的栈空间统计方法,其中栈空间边界可自定义设置。
根据所述的栈空间统计方法,其中SP指针对比还包括:将所述SP指针对比以汇编指令格式进行输出,输出的汇编指令格式用于编译器的编译处理,所述汇编指令格式根据编译器进行对应设置。
根据所述的栈空间统计方法,其中编译所述软件程序还包括:通过查询所述汇编指令格式中的PUSH指令,并在PUSH指令后添加用于执行所述SP指针对比的汇编指令,修改后的所述汇编指令根据处理器进行对应设置。
根据所述的栈空间统计方法,其中该方法还包括:将修改后的所述汇编指令以文件形式输出。
根据所述的栈空间统计方法,其中栈空间使用情况提示通过命令或显示界面进行提示。
本发明的技术方案还包括一种栈空间统计装置,该装置包括存储装置、处理装置以及存储在所述存储装置中并可在所述处理装置上运行的计算机程序,其特征在于,所述处理装置执行所述计算机程序时实现任一所述的方法步骤。
本发明的技术方案还包括一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理装置执行时实现任一所述的方法步骤。
本发明的有益效果为:实现了计算机软件程序在运行时所需的最大栈空间的统计,实现方式简单高效,且可以防止超出最大边界。
附图说明
下面结合附图和实施例对本发明进一步地说明;
图1所示为根据本发明实施方式的流程图。
图2所示为根据本发明实施方式的栈空间统计示意图。
图3所示为根据本发明实施方式的SP指针对比流程图。
图4所示为根据本发明实施方式的装置示意图。
具体实施方式
本部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。
在本发明的描述中,对方法步骤的连续标号是为了方便审查和理解,结合本发明的整体技术方案以及各个步骤之间的逻辑关系,调整步骤之间的实施顺序并不会影响本发明技术方案所达到的技术效果。
本发明的描述中,除非另有明确的限定,设置等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
图1所示为根据本发明实施方式的总体流程图。该流程包括:初始化栈顶动态变量;运行软件程序的任一项功能,获取处理器的SP寄存器值;SP指针对比,包括将SP寄存器值分别与栈空间边界及栈顶动态变量进行对比,根据对比结果分别进行栈空间使用情况提示及更新栈顶动态变量;编译软件程序,获取对应的PUSH指令,并在PUSH指令中添加用于执行SP指针对比的指令,重复执行此步骤直至得到软件程序功能运行时所需的最大栈空间。
图2所示为根据本发明实施方式的栈空间统计示意图,本发明的实施方式基于处理器的SP指针表明了当前栈空间的使用情况以及栈空间的增加是由于PUSH指令所导致。对于图2,本发明的实施方式如下,以递减栈为例:
定义‘SPLimit’为软件运行时所能使用的栈空间边界。
软件程序中保存一个栈顶动态变量‘DynSP’。
软件程序中增加功能模块‘ReadDynSP’,功能为输出DynSP的值,可以是一个命令,或者是一个显示界面。
软件程序中增加功能模块‘ResetDynSP’,功能为设置DynSP为0。
软件程序中增加功能模块‘RecordSp’,‘RecordSp’操作步骤参考图3的SP指针对比流程,其包括:
S310,获取处理器的SP寄存器值,SP寄存器值即为SP指针的值;
S320,比较SP和SPLimit。若SP<SPLimit,则提示栈空间不足并终止运行;
S330,如果空间足够,则继续运行;
S340,比较SP和DynSP。若SP<DynSP,则更新DynSP为SP,否则退出。
编译目标软件,以汇编指令格式输出。例如在ARMCC编译器中为编译选项‘--asm’。
在上述汇编指令格式的内容中搜索PUSH指令,每次碰到PUSH指令则在该指令之后增加一个汇编指令‘执行RecordSp功能’。例如在ARM处理器中具体指令是‘BL RecordSp’。
将上述修改之后的汇编指令编译为最终的可执行文件。
本发明的技术方案还包括对目标软件进行测试,步骤为:
(1)运行‘ResetDynSP’将DynSP置为0;
(2)运行软件的某一项业务功能‘FUNCTION’;
(3)运行‘ReadDynSP’得到DynSP,‘StackBase-DynSP’可以表示上述‘FUNCTION’功能运行时所需的最大栈空间。
对于递增栈,按照上述的流程,比较SP寄存器值和栈空间边界,若SP寄存器值大于栈空间边界,则提示栈空间不足并终止运行;比较SP寄存器值和栈顶动态变量,若SP寄存器值大于栈顶动态变量,则更新栈顶动态变量为SP寄存器值,否则退出。
图4所示为根据本发明实施方式的装置示意图。该装置包括存储装置100及处理装置200,其中处理装置200存储有计算机程序,计算机程序用于执行:初始化栈顶动态变量;运行软件程序的任一项功能,获取处理器的SP寄存器值;SP指针对比,包括将SP寄存器值分别与栈空间边界及所述栈顶动态变量进行对比,根据对比结果分别进行栈空间使用情况提示及更新所述栈顶动态变量;编译所述软件程序,获取对应的PUSH指令,并在所述PUSH指令中添加用于执行所述SP指针对比的指令,重复执行此步骤直至得到所述软件程序功能运行时所需的最大栈空间。其中,存储装置100用于存储数据。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

Claims (10)

1.一种栈空间统计方法,其特征在于,包括:
初始化栈顶动态变量;
运行软件程序的任一项功能,获取处理器的SP寄存器值;
SP指针对比,包括将SP寄存器值分别与栈空间边界及所述栈顶动态变量进行对比,根据对比结果分别进行栈空间使用情况提示及更新所述栈顶动态变量;
编译所述软件程序,获取对应的PUSH指令,并在所述PUSH指令中添加用于执行所述SP指针对比的指令,重复执行此步骤直至得到所述软件程序功能运行时所需的最大栈空间。
2.根据权利要求1所述的栈空间统计方法,其特征在于,所述初始化栈顶动态变量包括:创建一初始化指令,所述初始化指令用于在每次执行所述SP指针对比时初始化所述栈顶动态变量。
3.根据权利要求1所述的栈空间统计方法,其特征在于,所述SP指针对比包括:
获取处理器的SP寄存器值及所述栈顶动态变量;
对于递减栈,
比较SP寄存器值和栈空间边界,若SP寄存器值小于栈空间边界,则提示栈空间不足并终止运行;
比较SP寄存器值和所述栈顶动态变量,若SP寄存器值小于所述栈顶动态变量,则更新所述栈顶动态变量为SP寄存器值,否则退出;
以及,对于递增栈,
比较SP寄存器值和栈空间边界,若SP寄存器值大于栈空间边界,则提示栈空间不足并终止运行;
比较SP寄存器值和所述栈顶动态变量,若SP寄存器值大于所述栈顶动态变量,则更新所述栈顶动态变量为SP寄存器值,否则退出。
4.根据权利要求3所述的栈空间统计方法,其特征在于,所述栈空间边界可自定义设置。
5.根据权利要求1所述的栈空间统计方法,其特征在于,所述SP指针对比还包括:
将所述SP指针对比以汇编指令格式进行输出,输出的汇编指令格式用于编译器的编译处理,所述汇编指令格式根据编译器进行对应设置。
6.根据权利要求5所述的栈空间统计方法,其特征在于,所述编译所述软件程序还包括:
通过查询所述汇编指令格式中的PUSH指令,并在PUSH指令后添加用于执行所述SP指针对比的汇编指令,修改后的所述汇编指令根据处理器进行对应设置。
7.根据权利要求6所述的栈空间统计方法,其特征在于,该方法还包括:将修改后的所述汇编指令以文件形式输出。
8.根据权利要求1所述的栈空间统计方法,其特征在于,所述栈空间使用情况提示通过命令或显示界面进行提示。
9.一种栈空间统计装置,该装置包括存储装置、处理装置以及存储在所述存储装置中并可在所述处理装置上运行的计算机程序,其特征在于,所述处理装置执行所述计算机程序时实现权利要求1-8任一所述的方法步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理装置执行时实现如权利要求1-8任一所述的方法步骤。
CN202110284125.1A 2021-03-17 2021-03-17 栈空间统计方法、装置及介质 Active CN112948000B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110284125.1A CN112948000B (zh) 2021-03-17 2021-03-17 栈空间统计方法、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110284125.1A CN112948000B (zh) 2021-03-17 2021-03-17 栈空间统计方法、装置及介质

Publications (2)

Publication Number Publication Date
CN112948000A true CN112948000A (zh) 2021-06-11
CN112948000B CN112948000B (zh) 2023-03-03

Family

ID=76228725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110284125.1A Active CN112948000B (zh) 2021-03-17 2021-03-17 栈空间统计方法、装置及介质

Country Status (1)

Country Link
CN (1) CN112948000B (zh)

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3810117A (en) * 1972-10-20 1974-05-07 Ibm Stack mechanism for a data processor
US5222220A (en) * 1989-11-16 1993-06-22 Mehta Hemang S Microprocessor stack built-in guards
JPH07334376A (ja) * 1994-06-14 1995-12-22 Mitsubishi Electric Corp マイクロプロセッサ及びマルチタスク管理方法
JP2000284966A (ja) * 1999-03-08 2000-10-13 Texas Instr Inc <Ti> スタック・ポインタ管理
CN1334512A (zh) * 2000-07-18 2002-02-06 多思资讯(集团)有限公司 堆栈式寄存器堆及其控制方法
CN1567558A (zh) * 2003-07-09 2005-01-19 上海华虹集成电路有限责任公司 堆栈测试方法
US20070136565A1 (en) * 2005-12-09 2007-06-14 Emil Lambrache Stack underflow debug with sticky base
US20080052468A1 (en) * 2005-12-12 2008-02-28 Sytex, Inc. Methods, systems and computer readable medium for detecting memory overflow conditions
CN101158891A (zh) * 2007-11-19 2008-04-09 中国科学院计算技术研究所 在非cisc处理器上进行浮点栈溢出检查的装置和方法
CN101833476A (zh) * 2010-05-28 2010-09-15 西安交通大学 基于cmp的推测多线程机制下的独立栈函数调用方法
CN103870244A (zh) * 2014-02-21 2014-06-18 北京神舟航天软件技术有限公司 一种sparc平台任务栈溢出检测算法
CN104679645A (zh) * 2013-11-28 2015-06-03 中国航空工业集团公司航空动力控制系统研究所 一种栈空间余量实时检测方法
US20150205612A1 (en) * 2014-01-17 2015-07-23 Imagination Technologies Limited Stack Saved Variable Pointer Value Prediction
CN105556466A (zh) * 2013-10-30 2016-05-04 国际商业机器公司 代码堆栈管理
CN106547606A (zh) * 2016-10-25 2017-03-29 交控科技股份有限公司 堆栈自检方法及装置
CN108268770A (zh) * 2018-02-05 2018-07-10 烽火通信科技股份有限公司 一种栈溢出检测系统及方法
CN109947476A (zh) * 2019-02-25 2019-06-28 星汉智能科技股份有限公司 一种运行时栈空间的统计方法及系统
WO2019237865A1 (zh) * 2018-06-12 2019-12-19 杨力祥 一种数据保护方法及计算装置
CN111241537A (zh) * 2019-12-23 2020-06-05 北京元心科技有限公司 任务栈溢出检测方法及系统

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3810117A (en) * 1972-10-20 1974-05-07 Ibm Stack mechanism for a data processor
US5222220A (en) * 1989-11-16 1993-06-22 Mehta Hemang S Microprocessor stack built-in guards
JPH07334376A (ja) * 1994-06-14 1995-12-22 Mitsubishi Electric Corp マイクロプロセッサ及びマルチタスク管理方法
JP2000284966A (ja) * 1999-03-08 2000-10-13 Texas Instr Inc <Ti> スタック・ポインタ管理
CN1334512A (zh) * 2000-07-18 2002-02-06 多思资讯(集团)有限公司 堆栈式寄存器堆及其控制方法
CN1567558A (zh) * 2003-07-09 2005-01-19 上海华虹集成电路有限责任公司 堆栈测试方法
US20070136565A1 (en) * 2005-12-09 2007-06-14 Emil Lambrache Stack underflow debug with sticky base
US20080052468A1 (en) * 2005-12-12 2008-02-28 Sytex, Inc. Methods, systems and computer readable medium for detecting memory overflow conditions
CN101158891A (zh) * 2007-11-19 2008-04-09 中国科学院计算技术研究所 在非cisc处理器上进行浮点栈溢出检查的装置和方法
CN101833476A (zh) * 2010-05-28 2010-09-15 西安交通大学 基于cmp的推测多线程机制下的独立栈函数调用方法
CN105556466A (zh) * 2013-10-30 2016-05-04 国际商业机器公司 代码堆栈管理
CN104679645A (zh) * 2013-11-28 2015-06-03 中国航空工业集团公司航空动力控制系统研究所 一种栈空间余量实时检测方法
US20150205612A1 (en) * 2014-01-17 2015-07-23 Imagination Technologies Limited Stack Saved Variable Pointer Value Prediction
CN103870244A (zh) * 2014-02-21 2014-06-18 北京神舟航天软件技术有限公司 一种sparc平台任务栈溢出检测算法
CN106547606A (zh) * 2016-10-25 2017-03-29 交控科技股份有限公司 堆栈自检方法及装置
CN108268770A (zh) * 2018-02-05 2018-07-10 烽火通信科技股份有限公司 一种栈溢出检测系统及方法
WO2019237865A1 (zh) * 2018-06-12 2019-12-19 杨力祥 一种数据保护方法及计算装置
CN110598406A (zh) * 2018-06-12 2019-12-20 杨力祥 一种数据保护方法及计算装置
CN109947476A (zh) * 2019-02-25 2019-06-28 星汉智能科技股份有限公司 一种运行时栈空间的统计方法及系统
CN111241537A (zh) * 2019-12-23 2020-06-05 北京元心科技有限公司 任务栈溢出检测方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JIAN CAI 等: "Efficient pointer management of stack data for software managed multicores", 《 2016 IEEE 27TH INTERNATIONAL CONFERENCE ON APPLICATION-SPECIFIC SYSTEMS, ARCHITECTURES AND PROCESSORS (ASAP)》 *
张光建 等: "基于树结构的μC_OS-Ⅱ任务栈空间计算方法及应用", 《计算机应用》 *
郇丹丹等: "快速地址计算的自适应栈高速缓存", 《计算机研究与发展》 *
韦远科等: "面向片上多核处理器的推测多线程机制下的独立栈模型", 《西安交通大学学报》 *

Also Published As

Publication number Publication date
CN112948000B (zh) 2023-03-03

Similar Documents

Publication Publication Date Title
US5933635A (en) Method and apparatus for dynamically deoptimizing compiled activations
US5634046A (en) General purpose use of a stack pointer register
US10664252B2 (en) Inserting implicit sequence points into computer program code to support debug operations
US7765527B2 (en) Per thread buffering for storing profiling data
US7406684B2 (en) Compiler, dynamic compiler, and replay compiler
US20090217095A1 (en) Means and method for debugging
EP0997816A2 (en) Method and apparatus for selecting ways to compile at runtime
US11016695B2 (en) Methods and apparatus to perform memory copy operations
US7594046B2 (en) Data processing in which concurrently executed processes communicate via a FIFO buffer
WO2019165706A1 (zh) 表达式处理方法、装置、设备及计算机可读存储介质
EP2341441B1 (en) Methods and apparatus to perform adaptive pre-fetch operations in managed runtime environments
EP2565786A1 (en) Information processing device and task switching method
US20040044995A1 (en) Just in time compilation of Java software methods
CN112948000B (zh) 栈空间统计方法、装置及介质
US8589899B2 (en) Optimization system, optimization method, and compiler program
CN114691481A (zh) 异常定位方法、装置及可读存储介质
CN110688320B (zh) 全局变量的检测方法、装置及终端设备
US8443352B2 (en) Processing strings based on whether the strings are short strings or long strings
EP0417916B1 (en) Procedure state descriptor system for digital data processors
CN115705294B (zh) 用于获取函数调用信息的方法、装置、电子设备和介质
CN113051004B (zh) 一种依赖函数的处理方法、装置、设备及存储介质
US6886159B2 (en) Computer system, virtual machine, runtime representation of object, storage media and program transmission apparatus
CN112346869B (zh) 自适应的面向大图的统一内存管理方法及系统
CN111651124A (zh) Ssd映射表多核分区并行重建方法、装置、设备及介质
CN109200581B (zh) 通过python代码控制游戏角色的方法、电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant