資料介紹
軟件簡(jiǎn)介
ScriptX 是一個(gè)腳本引擎抽象層,對(duì)下封裝多種腳本引擎,對(duì)上暴露統(tǒng)一的 API,使得上層調(diào)用者可以完全隔離底層的引擎實(shí)現(xiàn)。
ScriptX 不僅隔離了幾種 JavaScript 引擎,甚至可以隔離不同腳本語言,使得上層在無需改變代碼的前提下無縫切換腳本引擎和腳本語言。
特性:
支持多種引擎,多腳本語言
ScriptX設(shè)計(jì)之初就目標(biāo)為支持多種腳本語言,并在JavaScript上實(shí)現(xiàn)了V8和JavaScriptCore的引擎封裝。后續(xù)為了驗(yàn)證ScriptX的多語言設(shè)計(jì),實(shí)現(xiàn)了完整的Lua綁定。目前針對(duì)WebAssembly的支持也已經(jīng)完成。
現(xiàn)代的?C++ API
API設(shè)計(jì)上符合現(xiàn)代 C++ 風(fēng)格,如:
-
三種引用類型Local/Global/Weak,使用copy, move語義實(shí)現(xiàn)自動(dòng)的內(nèi)存管理(自動(dòng)引用計(jì)數(shù))
-
使用Template Meta-Programing 實(shí)現(xiàn)直接綁定C++函數(shù)
現(xiàn)代語言特性,引用空指針安全(nullibility safety 請(qǐng)參考kotlin的概念)。
注:ScriptX要求C++17(或1z)以上的編譯器支持,并需要打開異常特性,(可以關(guān)閉RTTI特性)。
高性能
高性能是ScriptX設(shè)計(jì)上的重要指標(biāo)。在實(shí)現(xiàn)過程中也充分體現(xiàn)了 Zero-Overhead 的C++思想。并在增加功能特性的時(shí)候通過相關(guān)的性能測(cè)試。
測(cè)試指標(biāo):?jiǎn)未蜫S到C++函數(shù)調(diào)用耗時(shí),微秒
測(cè)試環(huán)境:iMac i9-9900k 32G RAM@macOS 10.15
性能測(cè)試表示,在Release模式下,ScriptX可以達(dá)到幾乎和原生綁定相同的性能。(由于ScriptX使用大量模板,請(qǐng)勿在Debug版進(jìn)行性能測(cè)試)?
支持異常處理
ScriptX通過一系列的技術(shù)手段實(shí)現(xiàn)了腳本的異常和C++異常相互打通的能力。在調(diào)用引擎API時(shí)無需判斷返回值,可以使用異常統(tǒng)一處理,避免crash。
易用的API
易用的API => 開心的工程師=> 高效 => 高質(zhì)量
ScriptX 設(shè)計(jì)的時(shí)候充分考慮到API的易用性,包括操作友好簡(jiǎn)單,不易出錯(cuò),錯(cuò)誤信息明顯,便于定位問題等。
簡(jiǎn)單高效的綁定API
當(dāng)app作為宿主使用腳本引擎時(shí),通常都是需要注入大量native 綁定的函數(shù)/類來為腳本邏輯提供能力。ScriptX 設(shè)計(jì)的ClassDeifine相關(guān)綁定API簡(jiǎn)單易用,并且可以支持直接綁定C++函數(shù),極大的提升工作效率。
可以與原生引擎API互操作
ScriptX在提供引擎封裝的同時(shí),也提供了一套工具方法實(shí)現(xiàn)原生類型和ScriptX類型的相互轉(zhuǎn)換。
- 電機(jī)控制硬件抽象層(HAL)用戶指南
- 環(huán)境傳感器:用于Android的硬件抽象層
- UM1785_STM32F0xx硬件抽象層和底層驅(qū)動(dòng)描述
- UM2659_STM32L5的硬件抽象層和底層驅(qū)動(dòng)描述
- STM32 硬件抽象層(Hardware Abstraction la
- 芯片設(shè)計(jì)抽象層及其設(shè)計(jì)風(fēng)格
- win7字體轉(zhuǎn)換腳本工具下載 15次下載
- 嵌入式和物聯(lián)網(wǎng)的shell腳本學(xué)習(xí)指南之shell腳本入門免費(fèi)下載 20次下載
- Keil_SDK軟件精簡(jiǎn)腳本安裝 2次下載
- 電機(jī)控制硬件抽象層(HAL) 3次下載
- 嵌入式操作系統(tǒng)的通用硬件抽象層設(shè)計(jì)方案 3次下載
- 基于嵌入式軟件開發(fā)環(huán)境中操作系統(tǒng)抽象層的設(shè)計(jì) 3次下載
- 嵌入式軟件開發(fā)環(huán)境中操作系統(tǒng)抽象層的設(shè)計(jì) 30次下載
- 基于平臺(tái)抽象層的進(jìn)程虛擬機(jī)設(shè)計(jì)與實(shí)現(xiàn)
- 嵌入式系統(tǒng)中設(shè)備抽象層的設(shè)計(jì)
- LabVIEW抽象消息使用教程(上) 218次閱讀
- 一文詳解Java表達(dá)式引擎選型 1969次閱讀
- shell實(shí)例三(編寫批量修改擴(kuò)展名腳本) 720次閱讀
- 編寫一個(gè)點(diǎn)名器腳本 607次閱讀
- keil自動(dòng)化編譯腳本 1976次閱讀
- 分享249個(gè)拿來即用的shell腳本 1202次閱讀
- 如何防止腳本重復(fù)運(yùn)行 1454次閱讀
- 安卓應(yīng)用層抓包通殺腳本的用法 1555次閱讀
- 如何升級(jí)Vivado工程腳本 1869次閱讀
- 109個(gè)實(shí)用shell腳本分享 2662次閱讀
- shell腳本最簡(jiǎn)明的教程 4865次閱讀
- 基于區(qū)塊鏈的游戲基礎(chǔ)技術(shù)平臺(tái)GES游戲引擎公鏈 3470次閱讀
- 測(cè)量神經(jīng)網(wǎng)絡(luò)的抽象推理能力 5202次閱讀
- Linux Bash腳本進(jìn)階教程學(xué)習(xí) 3845次閱讀
- 如何做才能學(xué)好Shell腳本的經(jīng)驗(yàn)總結(jié) 6260次閱讀
下載排行
本周
- 1人形機(jī)器人電機(jī)驅(qū)動(dòng)和傳感報(bào)告
- 4.27 MB | 9次下載 | 免費(fèi)
- 2Altium Designer元件庫(kù)
- 17.11 MB | 6次下載 | 免費(fèi)
- 324V2A開關(guān)電源PCB資料分享
- 0.23 MB | 4次下載 | 1 積分
- 4GD100PIX120C6SNA規(guī)格書
- 0.98 MB | 3次下載 | 免費(fèi)
- 5Multisim模擬電路仿真教程
- 1.93 MB | 1次下載 | 3 積分
- 6BK7258英文規(guī)格書
- 1.67 MB | 1次下載 | 免費(fèi)
- 7RA4L1硬件手冊(cè)
- 21.89 MB | 1次下載 | 免費(fèi)
- 8RA4L1_SENSOR-V1原理圖
- 754.36 KB | 1次下載 | 免費(fèi)
本月
- 1晶體三極管的電流放大作用詳細(xì)說明
- 0.77 MB | 32次下載 | 2 積分
- 2雙極型三極管放大電路的三種基本組態(tài)的學(xué)習(xí)課件免費(fèi)下載
- 4.03 MB | 25次下載 | 1 積分
- 3AIWA HS-J303 MKⅡ維修手冊(cè)
- 22.47 MB | 24次下載 | 10 積分
- 4九陽(yáng)豆?jié){機(jī)高清原理圖
- 2.47 MB | 23次下載 | 1 積分
- 5多級(jí)放大電路的學(xué)習(xí)課件免費(fèi)下載
- 1.81 MB | 21次下載 | 2 積分
- 6AIWA HS-J202/HS-J202M/HS-J800維修手冊(cè)
- 13.60 MB | 16次下載 | 10 積分
- 7東芝彩色電視機(jī)29SF6C維修說明書
- 4.86 MB | 9次下載 | 1 積分
- 8人形機(jī)器人電機(jī)驅(qū)動(dòng)和傳感報(bào)告
- 4.27 MB | 9次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191382次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183338次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81586次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評(píng)論