[發明專利]函數調用方法、裝置、電子設備及可讀存儲介質有效
| 申請號: | 202310972004.5 | 申請日: | 2023-08-03 |
| 公開(公告)號: | CN116680015B | 公開(公告)日: | 2023-09-26 |
| 發明(設計)人: | 毛云娟;高景陽 | 申請(專利權)人: | 北京中電華大電子設計有限責任公司 |
| 主分類號: | G06F9/448 | 分類號: | G06F9/448;G06F8/41 |
| 代理公司: | 北京博思佳知識產權代理有限公司 11415 | 代理人: | 陳蕾 |
| 地址: | 100102 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 函數 調用 方法 裝置 電子設備 可讀 存儲 介質 | ||
1.一種函數調用方法,所述方法應用于電子設備,所述方法包括:
獲取與目標應用程序的程序代碼對應的WebAssembly字節碼;所述WebAssembly字節碼的自定義段包含所述目標應用程序的程序代碼中至少一個函數的函數標識;
加載與目標應用程序的程序代碼對應的WebAssembly字節碼,基于所述WebAssembly字節碼的自定義段包含的至少一個函數的函數標識,從所述WebAssembly字節碼的函數段解析并存儲所述至少一個函數的函數地址;
響應于針對所述目標應用程序的業務處理請求,獲取與所述業務處理請求對應的至少一個函數的函數地址,并基于所述函數地址調用所述函數,以完成所述業務處理。
2.根據權利要求1所述的方法,所述方法還包括:
獲取目標應用程序的程序代碼;
確定所述程序代碼中至少一個函數的函數標識,將所述程序代碼編譯為WebAssembly字節碼,并在編譯過程中將所述至少一個函數的函數標識添加至WebAssembly字節碼的自定義段。
3.根據權利要求2所述的方法,將所述至少一個函數的函數標識添加至WebAssembly字節碼的自定義段,包括:
將所述至少一個函數的函數標識按順序添加至WebAssembly字節碼的自定義段;所述函數標識的順序與所述WebAssembly字節碼的函數段中至少一個函數的函數索引的順序相同。
4.根據權利要求3所述的方法,所述基于所述WebAssembly字節碼中包含的至少一個函數的函數標識,解析并存儲所述至少一個函數的函數地址,包括:
按照所述WebAssembly字節碼的自定義段包含的至少一個函數的函數標識,確定與所述函數標識對應的函數索引;
基于所述函數索引,從WebAssembly字節碼的函數段確定與所述函數索引對應的函數地址,并存儲所述函數地址。
5.根據權利要求4所述的方法,所述電子設備包括用于存儲所述函數地址的函數注冊表;
基于所述函數索引,從WebAssembly字節碼的函數段確定與所述函數索引對應的函數地址,并存儲所述函數地址,包括:
基于所述函數索引,從WebAssembly字節碼的函數段確定與所述函數索引對應的函數地址,并將所述函數地址存儲至所述函數注冊表。
6.根據權利要求5所述的方法,所述將所述函數地址存儲至所述函數注冊表,包括:
將所述函數地址按順序存儲至所述函數注冊表;所述函數地址的順序與所述WebAssembly字節碼的自定義段中函數標識的順序相同。
7.根據權利要求1所述的方法,所述業務處理請求包括應用注冊請求、應用選擇請求、應用棄選請求、應用指令分發請求、應用多選請求、應用間共享請求、應用去注冊請求。
8.根據權利要求1所述的方法,所述函數包括通過不同參數進行區分不同的業務處理請求的相同函數標識的至少一個函數;或,
所述函數包括與不同業務處理請求對應的不同函數標識的至少一個函數。
9.根據權利要求8所述的方法,響應于針對所述目標應用程序的業務處理請求,獲取與所述業務處理請求對應的至少一個函數的函數地址,并基于所述函數地址調用所述函數,以完成所述業務處理,包括:
當所述函數的函數標識相同時,響應于針對所述目標應用程序的業務處理請求,基于所述業務處理請求的請求參數,確定與所述請求參數對應的函數,并基于所述函數的函數地址調用所述函數;
當所述函數的函數標識不同時,響應于針對所述應用的業務處理請求,確定與所述業務處理請求中包含的函數標識對應的函數,并基于所述函數的函數地址調用所述函數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京中電華大電子設計有限責任公司,未經北京中電華大電子設計有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310972004.5/1.html,轉載請聲明來源鉆瓜專利網。





