CN114296699A - 一种开放式工业实时控制平台 - Google Patents
一种开放式工业实时控制平台 Download PDFInfo
- Publication number
- CN114296699A CN114296699A CN202111664863.5A CN202111664863A CN114296699A CN 114296699 A CN114296699 A CN 114296699A CN 202111664863 A CN202111664863 A CN 202111664863A CN 114296699 A CN114296699 A CN 114296699A
- Authority
- CN
- China
- Prior art keywords
- user program
- platform
- program
- real
- control platform
- 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
Links
- 230000006870 function Effects 0.000 claims abstract description 64
- 238000000034 method Methods 0.000 claims abstract description 26
- 238000011161 development Methods 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims abstract description 16
- 238000012544 monitoring process Methods 0.000 claims abstract description 6
- 230000003993 interaction Effects 0.000 claims description 2
- 238000013507 mapping Methods 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 35
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000002054 transplantation Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Stored Programmes (AREA)
Abstract
本文公开一种开放式工业实时控制平台,包括:组态编辑管理器,配置为向集成开发环境提供平台函数库和平台管理接口供用户程序在组态过程中调用,将编译器编译后的用户程序下装至程序运行引擎;程序运行引擎,配置为为用户程序分配对应的代码区和数据区,将用户程序加载至对应的代码区;为用户程序创建管理线程,通过管理线程监控、调度用户程序的运行;其中,集成开发环境包括代码编辑器和编译器;代码编辑器支持第三方编程语言和第三方函数库;编译器支持第三方编译器。本文提供的开放式工业实时控制平台能够增加用户程序使用第三方编程语言和编译器的灵活性,提高用户程序的开发效率和可移植性。
Description
技术领域
本申请实施例涉及工业控制领域,尤其涉及一种开放式工业实时控制平台。
背景技术
工业实时控制平台是工业控制系统的核心软件。随着用户对控制品质的需求逐渐提高,一些专门的第三方优化算法厂商、大中院校、科研院所(本文后续将他们统称为第三方算法提供商)可能在算法优化、高级控制算法方面比工业实时控制平台开发商有更深的研究,但是第三方算法提供商缺少算法运行的环境和平台。
目前市面上的工业实时控制平台绝大多数都是封闭式的,用户程序的开发只能基于工业实时控制平台提供的组态语言进行开发,以及基于平台提供的编译器进行编译。第三方算法提供商如果利用封闭的工业实时控制平台实现控制算法,可能会面临算法代码外泄、知识产权无法保护的风险。并且,为了对接不同的工业控制平台,第三方算法提供商需要在每一种工业控制平台上重新组态或者编程,导致很多重复的开发工作,并且开发工作量大,不同的软件版本维护的工作量也极大。
发明内容
本申请实施例提供了一种开放式工业实时控制平台,包括:
组态编辑管理器,配置为向集成开发环境IDE提供平台函数库和平台管理接口供用户程序在组态过程中调用,将编译器编译后的用户程序下装至程序运行引擎;
程序运行引擎,配置为为用户程序分配对应的代码区和数据区,将所述用户程序加载至对应的代码区;为所述用户程序创建管理线程,通过所述管理线程监控、调度所述用户程序的运行;
其中,所述集成开发环境包括代码编辑器和编译器;所述代码编辑器支持第三方编程语言和第三方函数库;所述编译器支持第三方编译器。
本申请实施例提供的开放式工业实时控制平台包括组态编辑管理器和程序运行引擎。所述组态编辑管理器通过为集成开发环境提供平台函数库和平台管理接口供用户程序在组态过程中调用,能够对用户程序(包括使用第三方编程语言和编译器开发的用户程序)提供功能上的支持和管理上的支持。在用户程序下装至程序运行引擎后,程序运行引擎为用户程序分配对应的代码区和数据区,将所述用户程序加载至对应的代码区;为所述用户程序创建管理线程,通过所述管理线程监控、调度所述用户程序的运行。上述实施例提供的开放式工业实时控制平台能够减少用户程序在组态过程中对平台的依赖,增加用户程序使用第三方编程语言和编译器的灵活性,提高用户程序的开发效率和可移植性。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图说明
附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请实施例的一种开放式工业实时控制平台的示意图;
图2为本申请实施例的一种平台函数外部地址表与平台函数内部地址表的对应关系示意图;
图3为本申请实施例的一种管理线程与用户程序交互的示意图;
图4为本申请实施例的另一种开放式工业实时控制平台的示意图。
具体实施方式
本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由所附权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由所附权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对所附权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
如图1所示,本申请实施例提供了一种开放式工业实时控制平台,包括:
组态编辑管理器100,配置为向集成开发环境IDE提供平台函数库和平台管理接口供用户程序在组态过程中调用,将编译器编译后的用户程序下装至程序运行引擎;
程序运行引擎200,配置为为用户程序分配对应的代码区和数据区,将所述用户程序加载至对应的代码区;为所述用户程序创建管理线程,通过所述管理线程监控、调度所述用户程序的运行;
其中,所述集成开发环境包括代码编辑器和编译器;所述代码编辑器支持第三方编程语言和第三方函数库;所述编译器支持第三方编译器。
上述实施例提供的开放式工业实时控制平台包括组态编辑管理器和程序运行引擎。所述组态编辑管理器通过为集成开发环境提供平台函数库和平台管理接口供用户程序在组态过程中调用,能够对用户程序(包括使用第三方编程语言和编译器开发的用户程序)提供功能上的支持和管理上的支持。在用户程序下装至程序运行引擎后,程序运行引擎为用户程序分配对应的代码区和数据区,将所述用户程序加载至对应的代码区;为所述用户程序创建管理线程,通过所述管理线程监控、调度所述用户程序的运行。上述实施例提供的开放式工业实时控制平台能够减少用户程序在组态过程中对平台的依赖,增加用户程序使用第三方编程语言和编译器的灵活性,提高用户程序的开发效率和可移植性。
第三方编程语言是指除了开放式工业实时控制平台提供的编程语言以外的其他编程语言。比如,第三方编程语言可以是用户自定义的编程语言或者一些通用的编程语言。第三方函数库是指除了开放式工业实时控制平台提供的函数库以外的其他函数库。比如,第三方函数库可以是用户自定义的函数库或者一些通用的函数库。第三方编译器是指除了开放式工业实时控制平台提供的编译器以外的其他编译器。比如,第三方编译器可以是用户自定义的编译器或者一些通用的编译器。
在一些示例性的实施方式中,所述下装至程序运行引擎的用户程序为二进制可执行代码。
在一些示例性的实施方式中,所述二进制可执行代码为动态链接库。
在一些示例性的实施方式中,所述平台管理接口用于实现程序运行引擎对用户程序的管理。
在一些示例性的实施方式中,所述下装至程序运行引擎的用户程序包括根据平台管理接口实现的用户程序与管理线程之间进行交互的代码。
用户程序的代码中可以继承平台管理接口,并且实现平台管理接口指定的功能。在用户程序运行时,程序运行引擎可以通过平台管理接口去读取用户程序运行时的一些信息(比如程序运行心跳信号(用于判断第三方程序的执行情况)),或者设置/读取一些参数值,或者定义/控制一些消息。为平台的管理程序和第三方算法程序提供通讯基础。
在一些示例性的实施方式中,组态编辑管理器,配置为采用以下方式向集成开发环境IDE提供平台函数库供用户程序在组态过程中调用:为用户程序提供平台函数外部地址表;所述平台函数外部地址表中记录各个平台函数对应的第一入口地址;所述第一入口地址是提供给编译器的函数入口地址。其中,如图2所示,所述平台函数外部地址表与一个或多个版本的平台函数内部地址表具有映射关系;对于任意一个平台函数,所述平台函数针对不同的平台函数库版本具有不同的第二入口地址;所述第二入口地址是提供给程序运行引擎的平台函数入口地址。
程序运行引擎,还配置为在将用户程序加载至对应的代码区时,根据当前平台函数库的版本信息查找所述版本对应的平台函数内部地址表,确定所述用户程序调用的平台函数的第二入口地址,将所述第二入口地址作为所述平台函数真正的入口地址,加载所述第二入口地址对应的代码和数据以重定位所述平台函数。
上述实施例提供的平台函数调用方式与一般的编程开发不太一样。对于一般的编程开发,如果需要调用的函数库版本发生变化时,可以使用新的函数库的头文件和二进制目标文件重新编译打包用户程序即可。但是对于本申请的开放式工业实时控制平台,平台和第三方算法是由不同的开发商提供的,为了使平台函数版本变化之后,组态不必为此重新编译和打包,这就要求平台能够为用户程序提供“永远不变”的平台函数入口地址。上述实施例提供的平台函数调用方式通过在用户程序加载阶段重定位平台函数,能够使得第三方用户程序无需关心平台函数的真正入口地址,从而方便用户程序的维护和移植。
在一些示例性的实施方式中,程序运行引擎为用户程序分配的代码区和数据区位于内存中。
在一些示例性的实施方式中,所述用户程序与管理线程共享内存中同一个数据区。
工业实时控制平台有个比较核心的指标就是实时性,如果某个用户程序无限地使用系统计算资源,就会导致其他的计算资源无法及时地获取所需要的计算资源,从而不能保证系统的实时性。
为了解决用户程序无限争夺计算资源的问题,我们引入了分配计算时间片的机制,对每个用户程序分配相应的时间片,超过时间片后,程序运行引擎就暂停其运算,保存其运行堆栈,等到下一个时间周期来到后,再恢复其运行。
用户程序在源代码编辑时,通过继承和实现平台的管理接口将平台的相关管理功能集成至用户程序的代码中;编译器编译打包二进制可执行代码时,可以将二进制可执行代码打包为动态链接库以便于平台调用和管理。图3示出了一种程序运行引擎对计算资源的管理方法。如图3所示,程序运行引擎加载用户程序时,通过创建管理线程与用户程序通信,所述管理线程通过平台管理接口获取用户程序运行时的相关信息(比如心跳信号),如果检测到这些信息异常或不满足调度运行条件时,就触发相应的管理动作。
在一些示例性的实施方式中,程序运行引擎,配置为采用以下方式通过所述管理线程监控、调度所述用户程序的运行:
管理线程为用户程序分配使用平台计算资源的时间片,在用户程序的当前时间片的时间用尽时,暂停所述用户程序对计算资源的使用,保存所述用户程序的运行堆栈,等到为所述用户程序分配的下一个时间片到来时,重新恢复所述用户程序对计算资源的使用。
在一些示例性的实施方式中,程序运行引擎,配置为采用以下方式通过所述管理线程监控、调度所述用户程序的运行:所述管理线程通过平台管理接口获取用户程序运行时的相关信息,根据获取的相关信息判断用户程序是否运行正常。
在一些示例性的实施方式中,所述用户程序运行时的相关信息包括:用户程序运行时的心跳信号。
在一些示例性的实施方式中,如图4所示,所述开放式工业实时控制平台还包括:实时数据库300;
所述实时数据库,配置为向用户程序提供数据库访问服务。
用户在编写自己的算法程序时,需要读取实时数据库的数据,因此,开放式工业实时控制平台需要提供一种实时数据库访问方法,以便使得用户程序能够透明地、正确地、高效地访问工业控制平台的实时数据库。
用户程序访问平台的实时数据库时,并不知道平台的数据点在实时数据库中的偏移信息,并且这个信息也是动态变化的,每次用户修改组态就可能会发生变化。因此需要为用户程序提供一种数据库访问方式,这种方式可以是数据点命名的访问方式。本申请实施例为用户程序提供一组实时数据库访问(读、写)的接口函数,此函数以数据点命名的方式访问实时数据库,因为数据点命名(点名、项名)信息是不随工程组态的版本变化的,因此可以用数据点命名访问的方法来保证对实时数据库访问的正确性,但是因为数据点命名通常是字符串,字符串索引查找的效率较低,特别是大型项目中,数据点命名的数量往往多达几十、乃至数百万条,用这种方式访问,难于保证实时性,无法做到高效的数据访问。
为了提高数据库访问的效率,本申请实施例提供了一种基于key-index索引表的实时数据库索引定位技术。组态编辑管理器向IDE提供基于数据点命名的数据库访问接口,用户程序直接通过数据点命名方式获取数据。在该接口函数编译时,数据点命名信息(key)被翻译为数据库索引(index)信息。这个索引(index)信息本质是为数据点命名(key)建立的数字形式的索引,在代码执行过程中,通过索引(index)计算实时数据库数据区的偏移指针。通过数据点命名+索引表的数据库访问方式,数据的访问效率非常高,且不受工业控制平台工程规模大小的影响。
在一些示例性的实施方式中,所述实时数据库,配置为采用以下方式向用户程序提供数据库访问服务:向组态编辑管理器提供数据库访问接口和命名索引表;其中,所述数据库访问接口通过数据点命名的方式访问所述实时数据库;所述命名索引表中记录每一个数据点命名对应的实时数据库的数字索引;用户程序通过数据库访问接口访问所述实时数据库;编译器在编译过程中通过查询命名索引表将数据点命名信息翻译为实时数据库的数字索引信息。
在一些示例性的实施方式中,所述数据点命名包括:数据点的点名和项名。其中,点名是数据点的大类名称,项名是所述数据点的小类名称,其中,点名可以具有层级和嵌套关系,项名也可以具有层级和嵌套关系。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (14)
1.一种开放式工业实时控制平台,包括:
组态编辑管理器,配置为向集成开发环境IDE提供平台函数库和平台管理接口供用户程序在组态过程中调用,将编译器编译后的用户程序下装至程序运行引擎;
程序运行引擎,配置为为用户程序分配对应的代码区和数据区,将所述用户程序加载至对应的代码区;为所述用户程序创建管理线程,通过所述管理线程监控、调度所述用户程序的运行;
其中,所述集成开发环境包括代码编辑器和编译器;所述代码编辑器支持第三方编程语言和第三方函数库;所述编译器支持第三方编译器。
2.如权利要求1所述的控制平台,其特征在于:
所述下装至程序运行引擎的用户程序为二进制可执行代码。
3.如权利要求2所述的控制平台,其特征在于:
所述下装至程序运行引擎的用户程序为动态链接库。
4.如权利要求1所述的控制平台,其特征在于:
所述下装至程序运行引擎的用户程序包括根据平台管理接口实现的用户程序与管理线程之间进行交互的代码。
5.如权利要求1所述的控制平台,其特征在于:
组态编辑管理器,配置为采用以下方式向集成开发环境IDE提供平台函数库供用户程序在组态过程中调用:为用户程序提供平台函数外部地址表;所述平台函数外部地址表中记录各个平台函数对应的第一入口地址;所述第一入口地址是提供给编译器的函数入口地址。
6.如权利要求5所述的控制平台,其特征在于:
所述平台函数外部地址表与一个或多个版本的平台函数内部地址表具有映射关系;对于任意一个平台函数,所述平台函数针对不同的平台函数库版本具有不同的第二入口地址;所述第二入口地址是提供给程序运行引擎的平台函数入口地址;
程序运行引擎,还配置为在将用户程序加载至对应的代码区时,根据当前平台函数库的版本信息查找所述版本对应的平台函数内部地址表,确定所述用户程序调用的平台函数的第二入口地址,将所述第二入口地址作为所述平台函数真正的入口地址,加载所述第二入口地址对应的代码和数据以重定位所述平台函数。
7.如权利要求1所述的控制平台,其特征在于:
程序运行引擎为用户程序分配的代码区和数据区位于内存中。
8.如权利要求1所述的控制平台,其特征在于:
所述用户程序与管理线程共享内存中同一个数据区。
9.如权利要求1所述的控制平台,其特征在于:
程序运行引擎,配置为采用以下方式通过所述管理线程监控、调度所述用户程序的运行:
管理线程为用户程序分配使用平台计算资源的时间片,在用户程序的当前时间片的时间用尽时,暂停所述用户程序对计算资源的使用,保存所述用户程序的运行堆栈,等到为所述用户程序分配的下一个时间片到来时,重新恢复所述用户程序对计算资源的使用。
10.如权利要求1所述的控制平台,其特征在于:
程序运行引擎,配置为采用以下方式通过所述管理线程监控、调度所述用户程序的运行:所述管理线程通过平台管理接口获取用户程序运行时的相关信息,根据获取的相关信息判断用户程序是否运行正常。
11.如权利要求10所述的控制平台,其特征在于:
所述用户程序运行时的相关信息包括:用户程序运行时的心跳信号。
12.如权利要求1所述的控制平台,其特征在于:
所述开放式工业实时控制平台还包括:实时数据库;
所述实时数据库,配置为向用户程序提供数据库访问服务。
13.如权利要求12所述的控制平台,其特征在于:
所述实时数据库,配置为采用以下方式向用户程序提供数据库访问服务:向组态编辑管理器提供数据库访问接口和命名索引表;其中,所述数据库访问接口通过数据点命名的方式访问所述实时数据库;所述命名索引表中记录每一个数据点命名对应的实时数据库的数字索引;用户程序通过数据库访问接口访问所述实时数据库;编译器在编译过程中通过查询命名索引表将数据点命名信息翻译为实时数据库的数字索引信息。
14.如权利要求13所述的控制平台,其特征在于:
所述数据点命名包括:数据点的点名和项名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111664863.5A CN114296699A (zh) | 2021-12-31 | 2021-12-31 | 一种开放式工业实时控制平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111664863.5A CN114296699A (zh) | 2021-12-31 | 2021-12-31 | 一种开放式工业实时控制平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114296699A true CN114296699A (zh) | 2022-04-08 |
Family
ID=80974141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111664863.5A Pending CN114296699A (zh) | 2021-12-31 | 2021-12-31 | 一种开放式工业实时控制平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114296699A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114895921A (zh) * | 2022-06-08 | 2022-08-12 | 北京深思数盾科技股份有限公司 | 文件处理方法、装置、电子设备及存储介质 |
-
2021
- 2021-12-31 CN CN202111664863.5A patent/CN114296699A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114895921A (zh) * | 2022-06-08 | 2022-08-12 | 北京深思数盾科技股份有限公司 | 文件处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5897816B2 (ja) | 依存性グラフのパラメータのスコーピング | |
US7406684B2 (en) | Compiler, dynamic compiler, and replay compiler | |
US9104794B2 (en) | Automatic incremental application dependency discovery through code instrumentation | |
JP5518085B2 (ja) | ランタイムにおいて生成したコードのキャッシュへの格納 | |
US10089119B2 (en) | API namespace virtualization | |
JP4896384B2 (ja) | メモリを効率的に管理するための方法およびプログラム | |
US8635595B2 (en) | Method and system for managing non-compliant objects | |
CN110955431B (zh) | 编译环境的处理方法及装置 | |
US10466985B2 (en) | Hybrid deoptimization mechanism for class hierarchy analysis | |
US5960197A (en) | Compiler dispatch function for object-oriented C | |
US9213531B2 (en) | Methods to eliminate extra memory loads while accessing global variables in position independent code | |
US20020174418A1 (en) | Constant return optimization transforming indirect calls to data fetches | |
US20070288682A1 (en) | Computer system and method providing a memory buffer for use with native and platform-independent software code | |
CN116680015B (zh) | 函数调用方法、装置、电子设备及可读存储介质 | |
CN114296699A (zh) | 一种开放式工业实时控制平台 | |
CN116541105A (zh) | 一种基于注解的组件加载方法、系统、终端及存储介质 | |
US10747514B2 (en) | Reduced save and restore instructions for call-clobbered registers | |
CN109032572B (zh) | 一种基于字节码的java程序方法内联的方法 | |
CN110378081A (zh) | 一种加壳动态链接库加载方法及装置 | |
US11435989B2 (en) | Thread-local return structure for asynchronous state machine | |
US8181177B1 (en) | Reducing the number of heap handles in a program | |
Shrestha et al. | JVMCSP-Approaching Billions of Processes on a Single-Core JVM | |
CN115827364A (zh) | 安卓平台中Native内存监控方法 | |
US20210081184A1 (en) | Method and apparatus for enabling autonomous acceleration of dataflow ai applications | |
US10671397B2 (en) | Reduced save and restore instructions for call-clobbered registers |
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 |