[發明專利]一種用于加載動態鏈接庫的代碼自動生成方法及裝置有效
| 申請號: | 201410567835.5 | 申請日: | 2014-10-22 |
| 公開(公告)號: | CN104317589B | 公開(公告)日: | 2017-08-25 |
| 發明(設計)人: | 邱田華;宋斌;劉毅;吳波;方鵬;鄭艷梅;譚旭 | 申請(專利權)人: | 中國電子科技集團公司第四十一研究所 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 北京天奇智新知識產權代理有限公司11340 | 代理人: | 陳永寧 |
| 地址: | 266555 山東省*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用于 加載 動態 鏈接 代碼 自動 生成 方法 裝置 | ||
1.一種用于加載動態鏈接庫的代碼自動生成裝置,其特征在于,包括函數原型和常量定義抽取模塊、抽取規則編輯模塊、代碼模板和參數轉換規則編輯模塊、目標代碼生成模塊;所述抽取規則編輯模塊,用于為抽取模塊定義抽取規則;所述函數原型和常量定義抽取模塊,用于根據定義好的抽取規則從頭文件中抽取出函數原型和常量定義列表;所述代碼模板和參數轉換規則編輯模塊,用于編輯代碼模板和參數轉換規則;所述目標代碼生成模塊,根據目標代碼語言和加載方式,選擇對應的代碼模板和參數轉換規則,將函數原型和常量定義轉換為目標編程語言代碼。
2.如權利要求1所述的用于加載動態鏈接庫的代碼自動生成裝置,其特征在于,所述抽取規則編輯模塊具體執行以下步驟:
步驟1111:新建或者打開已有規則;
步驟1112:根據頭文件中函數原型和變量定義格式來編輯抽取規則;
步驟1113:找出幾條典型的函數原型,檢驗該規則是否能解析出函數名稱、變量名和變量類型信息,如果是則進入步驟1114,否則執行步驟1112;
步驟1114:保存為新的規則。
3.如權利要求1所述的用于加載動態鏈接庫的代碼自動生成裝置,其特征在于,所述函數原型和常量定義抽取模塊具體執行以下步驟:
步驟1121:函數原型和常量定義抽取模塊裝載頭文件;
步驟1122:選擇對應的抽取規則;
步驟1123:逐行解析頭文件;
步驟1124:抽取出函數原型、常量,加到函數原型、常量列表中,生成常量列表和函數列表對象;
步驟1125:判斷是否為最后一行,如是則執行步驟1126,如否則執行步驟1123;
步驟1126:保存為函數原型及常量列表文件。
4.如權利要求1所述的用于加載動態鏈接庫的代碼自動生成裝置,其特征在于,所述代碼模板和參數轉換規則編輯模塊具體執行以下步驟:
步驟1131:新建規則或者打開已有規則:
步驟1132:根據目標代碼手動編輯代碼模板;
步驟1133:判斷檢索規則是否完整,如是則執行步驟1134,如否則執行步驟1132;
步驟1134:保存為新的規則后結束;參數轉換規則是源參數到目標參數的轉換;檢查函數列表中變量類型是否都在參數轉換規則中,如果未包含在轉換規則中,則自動添加到規則后面,并由用戶自己添加目標參數類型。
5.如權利要求1所述的用于加載動態鏈接庫的代碼自動生成裝置,其特征在于,所述目標代碼生成模塊具體執行以下步驟:
步驟1141:加載準備好的函數原型、常量列表;
步驟1142:選擇目標語言、加載方式,得到轉換規則和代碼模塊;
步驟1143:選擇需要生成的函數項、常量項集合;
步驟1144:轉換為目標語言下的函數、常量列表;
步驟1145:依次執行,得到模板文件對象位置;
步驟1146:把函數和常量列表添加到模板位置;
步驟1147:判斷函數項是否為集合中的最后一項,如是則執行步驟1148,如否則執行步驟1145;
步驟1148:保存目標語言代碼并結束。
6.一種用于加載動態鏈接庫的代碼自動生成方法,其特征在于,包括以下步驟:
步驟1:先運行抽取規則編輯模塊編輯抽取規則,運行函數原型和常量定義抽取模塊來抽取函數原型和常量定義;
步驟2:檢驗生成的函數原型和常量定義是否抽取完畢,如是,則進入步驟3,如否則進入步驟5;
步驟3:運行目標代碼模板生成模塊;
步驟4:檢驗目標代碼生成模塊的目標代碼是否滿足需要,是則結束,否則進入步驟6;
步驟5:運行抽取規則編輯模塊修改規則后執行步驟1;
步驟6:運行代碼模板和參數轉換規則編輯模塊來編輯代碼模板和參數轉換規則后,進入步驟3。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國電子科技集團公司第四十一研究所,未經中國電子科技集團公司第四十一研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410567835.5/1.html,轉載請聲明來源鉆瓜專利網。





