-
公开(公告)号:CN111736839A
公开(公告)日:2020-10-02
申请号:CN201910229059.0
申请日:2019-03-25
Applicant: 华为技术有限公司
IPC: G06F8/41
Abstract: 一种编译链接方法及装置,在该方法中,在对第一模块进行编译时,首先生成与该第一模块对应的符号定义表和符号引用表,然后,在编译完成后,加载该第一模块。在该第一模块完成加载后,对该符号定义表和该符号引用表中的符号进行解析,获取该符号定义表以及该符号引用表中的每个符号的运行地址。由于在编译时创建符号定义表和符号引用表,由于这两个表中的符号是在加载完成后进行解析的,从而系统在启动过程中不需要对该符号定义表和符号引用表中的符号进行解析,可以减少系统在启动过程中需要解析的符号的数量,从而可以减少系统启动时的加载时长,可以提高系统的开机速度。
-
公开(公告)号:CN111638925A
公开(公告)日:2020-09-08
申请号:CN201910156548.8
申请日:2019-03-01
Applicant: 华为技术有限公司
IPC: G06F9/448
Abstract: 本申请实施例公开一种接口方法表生成方法、函数指针查询方法及装置,该接口方法表生成方法中,基于目标Java类可实现的接口函数的数量,生成目标Java类的哈希表,再基于目标Java类的哈希算法和各个接口函数的函数签名,确定接口函数的哈希值,确定第一接口函数的函数指针在哈希表中的索引,将第一接口函数的函数指针存储至索引指示的位置,第一接口函数为与其他接口函数不存在哈希冲突的接口函数,以及将第二接口函数的函数签名和函数指针存储至冲突消除表,第二接口函数为与其他接口函数存在哈希冲突的接口函数。该方案在生成哈希表时,通过目标Java类可实现的各个接口函数的数量与预设系数的乘积确定哈希表的大小,避免哈希表出现过大或过小的问题。
-
公开(公告)号:CN114610417A
公开(公告)日:2022-06-10
申请号:CN202011337494.4
申请日:2020-11-25
Applicant: 华为技术有限公司
Abstract: 本申请涉及一种接口调用方法、装置及存储介质,所述接口调用方法,包括:响应于应用程序中接口函数的调用,根据调用所述接口函数的目标对象所属的类型及第一缓存信息,确定所述接口函数的存储地址;从所述存储地址读取所述接口函数,并执行所述接口函数,其中,所述第一缓存信息是在所述应用程序被加载到内存时,根据所述应用程序在内存中的存储地址及预设的第二缓存信息确定的。本申请的实施例可以对第一缓存信息进行预填,从而提高接口函数第一次被调用时的缓存命中率,减少运行时动态查找接口函数的次数,进而提高应用程序的执行效率及运行性能。
-
公开(公告)号:CN114610417B
公开(公告)日:2025-04-29
申请号:CN202011337494.4
申请日:2020-11-25
Applicant: 华为技术有限公司
Abstract: 本申请涉及一种接口调用方法、装置及存储介质,所述接口调用方法,包括:响应于应用程序中接口函数的调用,根据调用所述接口函数的目标对象所属的类型及第一缓存信息,确定所述接口函数的存储地址;从所述存储地址读取所述接口函数,并执行所述接口函数,其中,所述第一缓存信息是在所述应用程序被加载到内存时,根据所述应用程序在内存中的存储地址及预设的第二缓存信息确定的。本申请的实施例可以对第一缓存信息进行预填,从而提高接口函数第一次被调用时的缓存命中率,减少运行时动态查找接口函数的次数,进而提高应用程序的执行效率及运行性能。
-
公开(公告)号:CN111736839B
公开(公告)日:2025-04-08
申请号:CN201910229059.0
申请日:2019-03-25
Applicant: 华为技术有限公司
IPC: G06F8/41
Abstract: 一种编译链接方法及装置,在该方法中,在对第一模块进行编译时,首先生成与该第一模块对应的符号定义表和符号引用表,然后,在编译完成后,加载该第一模块。在该第一模块完成加载后,对该符号定义表和该符号引用表中的符号进行解析,获取该符号定义表以及该符号引用表中的每个符号的运行地址。由于在编译时创建符号定义表和符号引用表,由于这两个表中的符号是在加载完成后进行解析的,从而系统在启动过程中不需要对该符号定义表和符号引用表中的符号进行解析,可以减少系统在启动过程中需要解析的符号的数量,从而可以减少系统启动时的加载时长,可以提高系统的开机速度。
-
公开(公告)号:CN113590138A
公开(公告)日:2021-11-02
申请号:CN202010366846.2
申请日:2020-04-30
Applicant: 华为技术有限公司
Abstract: 本申请提供一种可执行文件处理方法和设备,其中,该方法包括:获取与可执行文件对应的重定位表格,其中,重定位表格用于指示至少一个待修正偏移量的指令;根据重定位表格,确定待修正偏移量的指令在可执行文件中的位置,并确定待修正偏移量的指令所对应的实例成员;修正实例成员的偏移量。用于编译实例成员的指令进行修正了,减小了代码的开销,也减少了应用程序占用的内存空间和存储空间。
-
-
-
-
-