電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>scriptX腳本引擎抽象層

scriptX腳本引擎抽象層

2022-06-17 | zip | 0.50 MB | 次下載 | 2積分

資料介紹

授權(quán)協(xié)議 Apache-2.0
開發(fā)語言 C/C++
軟件類型 開源軟件

軟件簡介

ScriptX 是一個腳本引擎抽象層,對下封裝多種腳本引擎,對上暴露統(tǒng)一的 API,使得上層調(diào)用者可以完全隔離底層的引擎實現(xiàn)。

ScriptX 不僅隔離了幾種 JavaScript 引擎,甚至可以隔離不同腳本語言,使得上層在無需改變代碼的前提下無縫切換腳本引擎腳本語言。

poYBAGKn_W6APdPjAAOBbrs0U58890.png

特性:

支持多種引擎,多腳本語言

ScriptX設(shè)計之初就目標為支持多種腳本語言,并在JavaScript上實現(xiàn)了V8和JavaScriptCore的引擎封裝。后續(xù)為了驗證ScriptX的多語言設(shè)計,實現(xiàn)了完整的Lua綁定。目前針對WebAssembly的支持也已經(jīng)完成。

現(xiàn)代的?C++ API

API設(shè)計上符合現(xiàn)代 C++ 風(fēng)格,如:

  1. 三種引用類型Local/Global/Weak,使用copy, move語義實現(xiàn)自動的內(nèi)存管理(自動引用計數(shù))

  2. 使用variadic template 支持非常方便的 Function::call 語法

  3. 使用Template Meta-Programing 實現(xiàn)直接綁定C++函數(shù)

現(xiàn)代語言特性,引用空指針安全(nullibility safety 請參考kotlin的概念)。

注:ScriptX要求C++17(或1z)以上的編譯器支持,并需要打開異常特性,(可以關(guān)閉RTTI特性)。

高性能

高性能是ScriptX設(shè)計上的重要指標。在實現(xiàn)過程中也充分體現(xiàn)了 Zero-Overhead 的C++思想。并在增加功能特性的時候通過相關(guān)的性能測試。

pYYBAGKn_XCATFKfAALljqm-k9c474.png

測試指標:單次JS到C++函數(shù)調(diào)用耗時,微秒

測試環(huán)境:iMac i9-9900k 32G RAM@macOS 10.15

性能測試表示,在Release模式下,ScriptX可以達到幾乎和原生綁定相同的性能。(由于ScriptX使用大量模板,請勿在Debug版進行性能測試)?

支持異常處理

ScriptX通過一系列的技術(shù)手段實現(xiàn)了腳本的異常和C++異常相互打通的能力。在調(diào)用引擎API時無需判斷返回值,可以使用異常統(tǒng)一處理,避免crash。

易用的API

易用的API => 開心的工程師=> 高效 => 高質(zhì)量

ScriptX 設(shè)計的時候充分考慮到API的易用性,包括操作友好簡單,不易出錯,錯誤信息明顯,便于定位問題等。

簡單高效的綁定API

當app作為宿主使用腳本引擎時,通常都是需要注入大量native 綁定的函數(shù)/類來為腳本邏輯提供能力。ScriptX 設(shè)計的ClassDeifine相關(guān)綁定API簡單易用,并且可以支持直接綁定C++函數(shù),極大的提升工作效率。

可以與原生引擎API互操作

ScriptX在提供引擎封裝的同時,也提供了一套工具方法實現(xiàn)原生類型和ScriptX類型的相互轉(zhuǎn)換。

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1使用單片機實現(xiàn)七人表決器的程序和仿真資料免費下載
  2. 2.96 MB   |  44次下載  |  免費
  3. 2聯(lián)想E46L DAOLL6筆記本電腦圖紙
  4. 1.10 MB   |  2次下載  |  5 積分
  5. 3MATLAB繪圖合集
  6. 27.12 MB   |  2次下載  |  5 積分
  7. 4PR735,使用UCC28060的600W交錯式PFC轉(zhuǎn)換器
  8. 540.03KB   |  1次下載  |  免費
  9. 5UCC38C42 30W同步降壓轉(zhuǎn)換器參考設(shè)計
  10. 428.07KB   |  1次下載  |  免費
  11. 6DV2004S1/ES1/HS1快速充電開發(fā)系統(tǒng)
  12. 2.08MB   |  1次下載  |  免費
  13. 7模態(tài)分解合集matlab代碼
  14. 3.03 MB   |  1次下載  |  2 積分
  15. 8美的電磁爐維修手冊大全
  16. 1.56 MB   |  1次下載  |  5 積分

本月

  1. 1使用單片機實現(xiàn)七人表決器的程序和仿真資料免費下載
  2. 2.96 MB   |  44次下載  |  免費
  3. 2UC3842/3/4/5電源管理芯片中文手冊
  4. 1.75 MB   |  15次下載  |  免費
  5. 3DMT0660數(shù)字萬用表產(chǎn)品說明書
  6. 0.70 MB   |  13次下載  |  免費
  7. 4TPS54202H降壓轉(zhuǎn)換器評估模塊用戶指南
  8. 1.02MB   |  8次下載  |  免費
  9. 5STM32F101x8/STM32F101xB手冊
  10. 1.69 MB   |  8次下載  |  1 積分
  11. 6HY12P65/HY12P66數(shù)字萬用表芯片規(guī)格書
  12. 0.69 MB   |  6次下載  |  免費
  13. 7華瑞昇CR216芯片數(shù)字萬用表規(guī)格書附原理圖及校正流程方法
  14. 0.74 MB   |  6次下載  |  3 積分
  15. 8華瑞昇CR215芯片數(shù)字萬用表原理圖
  16. 0.21 MB   |  5次下載  |  3 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935119次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
  4. 1.48MB  |  420061次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233084次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191367次下載  |  10 積分
  9. 5十天學(xué)會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183335次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73807次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65987次下載  |  10 積分