[發(fā)明專利]用于函數(shù)調(diào)用的方法和裝置有效
| 申請?zhí)枺?/td> | 201210500365.1 | 申請日: | 2012-11-29 |
| 公開(公告)號: | CN103853532B | 公開(公告)日: | 2017-09-29 |
| 發(fā)明(設計)人: | 官孝峰;郭久福;蔣健;朱鴻偉 | 申請(專利權)人: | 國際商業(yè)機器公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 北京市中咨律師事務所11247 | 代理人: | 周良玉,于靜 |
| 地址: | 美國*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 函數(shù) 調(diào)用 方法 裝置 | ||
1.一種用于函數(shù)調(diào)用的方法,包括:
在程序編譯過程中準備多個備選代碼模塊,并將其插入在已編譯程序中,所述多個備選代碼模塊用于執(zhí)行所述函數(shù)調(diào)用,并且分別符合多個調(diào)用約定;
響應于檢測到程序中的函數(shù)調(diào)用,獲取所述多個備選代碼模塊;
獲取被調(diào)用函數(shù)所采用的特定調(diào)用約定;
依據(jù)所獲取到的所述特定調(diào)用約定,從所述多個備選代碼模塊中選擇符合所述特定調(diào)用約定的代碼模塊來執(zhí)行所述函數(shù)調(diào)用,
其中獲取所述特定調(diào)用約定包括:查詢所述程序運行時中所述被調(diào)用函數(shù)的加載信息以確定特定調(diào)用約定。
2.根據(jù)權利要求1的方法,其中獲取多個備選代碼模塊包括,響應于被調(diào)用函數(shù)為外部函數(shù)庫中的函數(shù),獲取所述多個備選代碼模塊。
3.根據(jù)權利要求1的方法,其中所述多個備選代碼模塊中的至少一個包括:前序部分,用于完成函數(shù)調(diào)用之前的準備工作;主體部分,用于執(zhí)行函數(shù)調(diào)用;結尾部分,用于進行函數(shù)調(diào)用之后的清理工作。
4.根據(jù)權利要求1的方法,其中查詢所述程序運行時中所述被調(diào)用函數(shù)的加載信息以確定特定調(diào)用約定包括:
向所述程序運行時發(fā)出查詢請求,其中包含被調(diào)用函數(shù)的標識信息;
響應于查詢請求,獲取被調(diào)用函數(shù)的修飾名;
基于所述修飾名,確定與被調(diào)用函數(shù)對應的特定調(diào)用約定。
5.根據(jù)權利要求4的方法,其中獲取被調(diào)用函數(shù)的修飾名包括:
基于所述被調(diào)用函數(shù)的標識信息進行名稱解改編,獲得原始函數(shù)名;
基于所述原始函數(shù)名獲取被調(diào)用函數(shù)在函數(shù)庫中的修飾名。
6.根據(jù)權利要求1的方法,其中獲取所述特定調(diào)用約定還包括,記錄所確定的特定調(diào)用約定,以便再次調(diào)用該被調(diào)用函數(shù)時直接獲取上述特定調(diào)用約定。
7.根據(jù)權利要求6的方法,其中記錄所確定的特定調(diào)用約定包括,記錄所述特定調(diào)用約定對應的索引,并將第一地址修改為第二地址,所述第一地址指向用于查詢所述加載信息的代碼,所述第二地址指向所述多個代碼模塊中與上述特定調(diào)用約定的索引對應的代碼模塊。
8.一種用于函數(shù)調(diào)用的裝置,包括:
代碼模塊插入單元,配置為,在程序編譯過程中準備多個備選代碼模塊,并將其插入在已編譯程序中,所述多個備選代碼模塊用于執(zhí)行所述函數(shù)調(diào)用,并且分別符合多個調(diào)用約定;
代碼模塊獲取單元,配置為,響應于檢測到程序中的函數(shù)調(diào)用,獲取所述多個備選代碼模塊;
調(diào)用約定獲取單元,配置為獲取被調(diào)用函數(shù)所采用的特定調(diào)用約定;
代碼模塊選擇單元,配置為,依據(jù)所獲取到的所述特定調(diào)用約定,從所述多個備選代碼模塊中選擇符合所述特定調(diào)用約定的代碼模塊來執(zhí)行所述函數(shù)調(diào)用,
其中所述調(diào)用約定獲取單元包括調(diào)用約定確定子單元,配置為通過查詢所述程序運行時中所述被調(diào)用函數(shù)的加載信息以確定特定調(diào)用約定。
9.根據(jù)權利要求8的裝置,其中所述代碼模塊獲取單元配置為,響應于被調(diào)用函數(shù)為外部函數(shù)庫中的函數(shù),獲取所述多個備選代碼模塊。
10.根據(jù)權利要求8的裝置,其中所述多個備選代碼模塊中的至少一個包括:前序部分,用于完成函數(shù)調(diào)用之前的準備工作;主體部分,用于執(zhí)行函數(shù)調(diào)用;結尾部分,用于進行函數(shù)調(diào)用之后的清理工作。
11.根據(jù)權利要求8的裝置,其中所述調(diào)用約定確定子單元配置為:
向所述程序運行時發(fā)出查詢請求,其中包含被調(diào)用函數(shù)的標識信息;
響應于查詢請求,獲取被調(diào)用函數(shù)的修飾名;
基于所述修飾名,確定與被調(diào)用函數(shù)對應的特定調(diào)用約定。
12.根據(jù)權利要求11的裝置,其中所述調(diào)用約定確定子單元配置為:
基于所述被調(diào)用函數(shù)的標識信息進行名稱解改編,獲得原始函數(shù)名;
基于所述原始函數(shù)名獲取被調(diào)用函數(shù)在函數(shù)庫中的修飾名。
13.根據(jù)權利要求10的裝置,其中所述調(diào)用約定獲取單元還包括記錄子單元,配置為記錄所確定的特定調(diào)用約定,以便再次調(diào)用該被調(diào)用函數(shù)時直接獲取上述特定調(diào)用約定。
14.根據(jù)權利要求13的裝置,其中所述記錄子單元配置為,記錄所述特定調(diào)用約定對應的索引,并將第一地址修改為第二地址,所述第一地址指向用于查詢所述加載信息的代碼,所述第二地址指向所述多個代碼模塊中與上述特定調(diào)用約定的索引對應的代碼模塊裝置。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國際商業(yè)機器公司,未經(jīng)國際商業(yè)機器公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210500365.1/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





