[發明專利]一種動態庫自動加載方法、系統及應用在審
| 申請號: | 202010124148.1 | 申請日: | 2020-02-27 |
| 公開(公告)號: | CN111506357A | 公開(公告)日: | 2020-08-07 |
| 發明(設計)人: | 張小剛;齊樂;王紹源;邊耐政;陳華 | 申請(專利權)人: | 湖南大學 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445;G06F8/41 |
| 代理公司: | 湖南兆弘專利事務所(普通合伙) 43008 | 代理人: | 周長清;廖元寶 |
| 地址: | 410082 湖*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 動態 自動 加載 方法 系統 應用 | ||
1.一種動態庫自動加載方法,其特征在于,包括步驟:
1)對動態庫的名稱、路徑以及動態庫中函數的屬性進行描述,形成函數描述文件;
2)讀取函數描述文件并進行解析,獲得動態庫內各函數的屬性,建立函數名稱/類型映射表;同時獲得待加載動態庫的名稱和路徑,對動態庫進行預加載。
2.根據權利要求1所述的動態庫自動加載方法,其特征在于,在步驟1)中,所述函數的屬性包括函數名稱、函數類型、函數參數或函數功能中的一種或多種。
3.根據權利要求2所述的動態庫自動加載方法,其特征在于,在步驟1)中,所述函數類型的定義方法如下:
1.1)對函數類型進行簡化,其中函數類型是基于函數的函數與返回值;
1.2)基于簡化的函數類型,對函數類型進行定義:返回值類型_參數1類型|參數2類型|參數3類型|…,其中下劃線前是函數返回值類型,下劃線后面為第1,2,3…參數的類型。
4.根據權利要求3所述的動態庫自動加載方法,其特征在于,在步驟1.1)中,char縮寫為C;short縮寫為S;int縮寫為I;float縮寫為F;double縮寫為D;char*縮寫為[C;short*縮寫為[S;int*縮寫為[I;float*縮寫為[F;double*縮寫為[D;unsigned縮寫為U。
5.根據權利要求1至4中任意一項所述的動態庫自動加載方法,其特征在于,在步驟1)中,所述函數描述文件通過json語法將庫提供商、庫名稱、庫路徑、庫中函數名、函數類型、函數參數以及函數功能進行組織而得到。
6.根據權利要求1至4中任意一項所述的動態庫自動加載方法,其特征在于,在步驟2)之后,還包括步驟3),根據調用函數從函數名稱/類型映射表中獲知函數在預加載的動態庫中的地址、函數類型以及該類型函數的處理函數,在處理函數中完成對本地函數的調用。
7.一種動態庫自動加載系統,其特征在于,包括
文件解析模塊,用于對預先形成的函數描述文件進行解析,獲得動態庫內各函數的屬性,建立函數名稱/類型映射表;
動態庫預加載模塊,用于從函數描述文件中獲得待加載動態庫的名稱和路徑,對動態庫進行預加載。
8.根據權利要求7所述的動態庫自動加載系統,其特征在于,還包括函數解析調用模塊,用于根據調用函數從函數名稱/類型映射表中獲知函數在預加載的動態庫中的地址、函數名稱以及該類型函數的處理函數,在處理函數中完成對本地函數的調用。
9.根據權利要求7所述的動態庫自動加載系統,其特征在于,還包括函數類型庫,用于加載各種預設函數類型指針以及該類函數參數解析方法。
10.一種動態庫自動加載系統的應用,其特征在于,
獲取函數列表信息請求后,讀取函數描述文件并進行解析;
接收需要調用的函數名稱以及對應參數;
從函數名稱/類型映射表中獲知函數在預加載的動態庫中的地址、函數類型以及該類型函數的處理函數,在處理函數中完成對本地函數的調用。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于湖南大學,未經湖南大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010124148.1/1.html,轉載請聲明來源鉆瓜專利網。





