[發(fā)明專利]一種在JavaScript語言中自動生成位域?qū)ο蟮姆椒?/span>在審
| 申請?zhí)枺?/td> | 202110906597.6 | 申請日: | 2021-08-09 |
| 公開(公告)號: | CN113590136A | 公開(公告)日: | 2021-11-02 |
| 發(fā)明(設計)人: | 鄭朗 | 申請(專利權(quán))人: | 鄭朗 |
| 主分類號: | G06F8/51 | 分類號: | G06F8/51;G06F9/50 |
| 代理公司: | 成都虹盛匯泉專利代理有限公司 51268 | 代理人: | 周永宏 |
| 地址: | 610000 四川*** | 國省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 javascript 語言 自動 生成 對象 方法 | ||
本發(fā)明公開了一種在JavaScript語言中自動生成位域?qū)ο蟮姆椒ǎㄒ韵虏襟E:S1、定義位域單項結(jié)構(gòu)類;S2、定義位域結(jié)構(gòu)類:進入位域結(jié)構(gòu)類構(gòu)造函數(shù),運用生成位域類對象算法自動生成完整的位域類對象;S3、定義位域類:繼承位域結(jié)構(gòu)類,指定位域單項名和位域單項位寬,傳入位域映射表BitMaps擴展實現(xiàn)定義一個位域類。本發(fā)明只需要指定位域單項名(屬性名)和位域單項位寬,即可得到JavaScript位域?qū)ο?。在JavaScript中使用位域?qū)ο竽艽蟠笤黾涌缙脚_軟件的接口通用性,減少接口適配工作量,減少程序占用內(nèi)存大小,提高軟件運算速度。
技術(shù)領(lǐng)域
本發(fā)明公開了一種在JavaScript語言中自動生成位域?qū)ο蟮姆椒ā?/p>
背景技術(shù)
隨著跨平臺軟件的快速發(fā)展,C/C++中間件程序借助WebAssembly技術(shù)可以快速移植到瀏覽器中運行。在C/C++中間件程序中使用位結(jié)構(gòu)體(struct)和聯(lián)合體(union)可以很方便的構(gòu)建位域?qū)ο笞鳛閰?shù),具有不改變原有接口即可實現(xiàn)擴展數(shù)值參數(shù)的特點,為程序帶來了更大的靈活性和可擴展性。但是JavaScript語言中并沒有定義結(jié)構(gòu)體位域和聯(lián)合體數(shù)據(jù)對象,那么在Web端JavaScript語言調(diào)用C/C++中間件接口時,如果能夠?qū)崿F(xiàn)類似于C/C++中位域?qū)ο蟮墓δ軐⒋蟠笤黾涌缙脚_軟件的接口通用性,減少接口適配工作量,大大提高Web程序使用C/C++中間件進行軟件開發(fā)的工作效率。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種只需要指定位域單項名(屬性名)和位域單項位寬,運行本發(fā)明提供的算法即可得到JavaScript位域?qū)ο螅艽蟠笤黾涌缙脚_軟件的接口通用性,減少接口適配工作量的一種在JavaScript語言中自動生成位域?qū)ο蟮姆椒ā?/p>
本發(fā)明的目的是通過以下技術(shù)方案來實現(xiàn)的:一種在JavaScript語言中自動生成位域?qū)ο蟮姆椒?,包括以下步驟:
S1、定義位域單項結(jié)構(gòu)類;
S2、定義位域結(jié)構(gòu)類:進入位域結(jié)構(gòu)類構(gòu)造函數(shù),運用生成位域類對象算法自動生成完整的位域類對象;
S3、定義位域類:繼承位域結(jié)構(gòu)類,指定位域單項名和位域單項位寬,傳入位域映射表BitMaps擴展實現(xiàn)定義一個位域類。
進一步地,所述步驟S1中的位域單項結(jié)構(gòu)類包括以下成員:
成員name用于指定位域單項名,同時作為位域類對象的屬性名;
成員fieldWidth用于指定位域單項占用的bit位數(shù),即位域單項位寬;
成員valueMask為位域單項值掩碼,用于校正位域單項賦值位寬,防止賦值溢出;
成員mask為位域單項標識掩碼,用于標識該位域單項在位域類完整值all中占用bit位區(qū)域;
成員shift為位域單項相對于位域類完整值all中0bit位的位域單項位偏移值。
進一步地,所述步驟S2具體實現(xiàn)方法為:
S21、初始化位域類完整值all為0;
S22、初始化臨時變量:初始化累計位偏移值offset值為0、位域?qū)ο笞畲笪粚掗L度maxBitLen值為32、位域?qū)ο笞畲笳螖?shù)值maxValue值為0xffffffff;
S23、遍歷位域映射表BitMaps,如果有未處理的位域單項則進入S24,否則結(jié)束遍歷,生成位域類對象,算法結(jié)束;
S24、將累計位偏移值offset賦值給當前位域單項位偏移值shift;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于鄭朗,未經(jīng)鄭朗許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110906597.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種強磁組合件及其制作方法
- 下一篇:一種促進有機物酸化水解的裝置





