国精品产品一区,深夜福利视频一区二区,日韩av自拍,国产一区二区高清

您的位置: 首頁  >  軟件下載  >  編程開發  >  innative
95.56%
4.44%

innative v0.1.10

  • 軟件介紹
  • 相關下載

innative可以幫助用戶編輯WebAssembly,您可以在軟件上獲取構建WebAssembly模塊需要的大部分功能,構建完畢就可以將其添加到其他開發軟件使用,結合SDK功能就可以嵌入到新的項目使用,讓用戶可以快速完成新項目編程,軟件提供了一個符合標準的WebAssembly環境,還允許進行廣泛的自定義,并且包括一些非標準的內置功能,從而使本機WebAssembly模塊的工作更加輕松,您可以通過靜態嵌入、靜態共享嵌入、動態共享嵌入的方式部署innative,也可以通過命令行的方式運行軟件!

innative軟件功能

inNative是跨平臺的WebAssembly實現,可以嵌入到您的程序中,也可以作為的運行時安裝。它將WebAssembly模塊編譯成C二進制文件,可以將其鏈接為靜態或動態庫,并可以通過簡單的C接口進行訪問。

盡管inNative符合標準,但它為您提供了一些選項,可以調整要實施的標準的哪些部分,從而允許您指定如何對所生成的WebAssembly二進制文件進行沙盒化(或不進行沙盒化)。這使inNative可以安全地在主機程序中執行沙盒WebAssembly,或者像本機程序一樣編譯調用內核函數的模塊。

輔助功能

該inNative默認環境提供了幾個輔助功能旨在使調試本地WebAssembly容易。所有這些函數都被視為具有默認調用約定的原始C函數,并且應像其他任何C函數一樣導入。編譯器本身還提供了一些內在函數,從WebAssembly的角度來看它們就像輔助函數。其中一些功能并不安全,如果啟用了白名單,則必須像其他C函數一樣將所有白名單列入白名單。

本地cref擴展

inNative實現cref代表C指針的自定義值類型。在大多數情況下,它的行為anyref與“引用類型建議”中的行為類似,充當傳遞給C存儲器的不透明指針。anyref但是,與不同,您可以傳遞i32或傳遞i給cref類型。該類型具有二進制編碼,可以在任何標準的webassembly模塊中實現,但是由于沒有編譯器可以生成該值,因此該類型主要用于.wat文件中。

innative軟件特色

inNative隨附執行3個測試階段的測試工具:

內部測試,旨在測試本機特定結構和非標準Webassembly擴展

基準測試,針對一個函數的多個Webassembly編譯版本測試C ++版本的能

標準的Web程序集測試,這是inNative實施.wast的當前規范中指定的所有核心文件。

命令行

inNative命令行使您可以訪問已安裝的運行時的功能,從而可以通過多種方式來編譯,反編譯或運行Webassembly模塊。命令行接受格式為的WebAssembly文件列表.wasm,.wat或.wast根據提供的命令行選項將它們鏈接在一起。它還具有通過某些標志或命令行開關訪問的其他功能

innative使用說明

靜態嵌入

對于要加載WebAssembly模塊的大多數應用程序,建議使用靜態嵌入inNative方法。盡管依賴于平臺,但所有平臺都必須:

1、下載或安裝SDK。

2、鏈接到inNative靜態庫

3、將include/innative頭文件添加到項目

4、包含inNative Deflt Envinment靜態庫

靜態庫不能包含其他靜態庫,因此您需要將其包含innative.lib在正在構建的根可執行文件或DLL中。因為您是靜態嵌入庫,所以您可以訪問外部API中列出的所有靜態函數。

Windows

靜態庫:innative.lib和innative-d.lib

默認環境:innative-env.lib和innative-env-d.lib

將靜態庫添加到項目的其他依賴項(對于Visual Studio)或構建系統的等效項。將默認環境庫放在/bin/文件夾中,并確保將其隨應用程序一起分發。

創建自定義環境

nNative嵌入環境實際上只是標準C庫,它們將C函數公開給正在使用其進行編譯的WebAssembly模塊。但是,inNative還支持通過基于名稱處理規則導出專門命名的函數來創建公開與WebAssembly兼容的函數的C庫。

導出C函數

編譯一個靜態(或共享)庫,該庫將要公開的C函數導出到WebAssembly模塊。如果您使用的是C ++,請確保使用extern “C”來防止任何C ++名稱修改。,只需在引用庫的同時編譯WebAssembly模塊即可。

Windows示例

./innative-cmd.exe your_module.wasm -l your_library.lib

因為Windows會.lib為DLL生成文件,所以您應該為DLL或靜態庫執行此作。

Linux示例

./innative-cmd your_module.wasm -l your_library.a

或者

./innative-cmd your_module.wasm -L your_shared_library

Linux有一個特殊的-L選項,告訴它鏈接到應該使用的共享庫。請記住,在上面的示例中,實際文件名為libyour_shared_library.so,這是鏈接程序將在當前路徑中查找的名稱。有時,鏈接程序可能對庫路徑有些挑剔,在這種情況下,您可能想指定整個絕對路徑。

如果已按照上述說明進行作,則現在可以使用基本的C導入方法來導入C函數:

(import “ ” “ your_function ”(func $ yourfunc(result i32)))

使用標準的C調用約定通常是一個好主意,但是對于C函數,您還可以使用其他調用約定

導出WebAssembly函數

也可以創建一個公開WebAssembly函數的庫,但前提是它們必須遵循嚴格的規則集?!懊Q修飾”文章詳細介紹了名稱修飾如何將模塊+函數名稱對轉換為單個C符號:[module]_WA_[function]??梢韵喾吹剡M行這種處理,以從C函數聲明中獲取WebAssembly模塊+函數名稱對。

再一次,extern “C”如果您使用的是C ++ ,請確保添加。如果使用此功能編譯庫并將其添加到inNative命令行中,則可以將其導入到WebAssembly模塊中,如下所示:

(import “ your_module ” “ your_function ”(func $ functest(param i f f32 i32)(result i)))

但是,有一些限制:函數必須具有默認的C調用約定!如果它使用任何其他調用約定,則該行為是不確定的且不安全的。此外,只能使用5種類型:

當然,您也可以替換uint32_t為int32_t,并uint_t為int_t沒有問題。您也可以將任意指針類型替換為void*。但是,void*必須映到i位體系結構,i3232位體系結構,或者cref要使用inNative的cref擴展名。在將C函數簽名與WebAssembly等效項進行匹配時,請格外小心,因為簽名不匹配會沙箱或使程序完全崩潰。

請記住,WebAssembly函數勝過C函數-如果導出偽裝為WebAssembly導入的C函數,但是存在另一個具有相同名稱和函數定義的WebAssembly模塊,則WebAssembly版本將獲勝。在將C函數導出為WebAssembly導入時,請確保為假模塊選擇唯一的名稱。

猜你喜歡

国精品产品一区,深夜福利视频一区二区,日韩av自拍,国产一区二区高清
久久精品电影| 国产一区二区三区网| 国产传媒av在线| 四虎国产精品免费观看| 成人一二三区| 日韩精品1区| 免费成人网www| 伊人国产精品| 国产精品多人| 亚洲精品福利电影| 自由日本语亚洲人高潮| 中文字幕亚洲精品乱码| 欧美性www| 日韩av有码| 久久久精品网| 蜜桃久久av| 国产精品一线| 欧美不卡高清一区二区三区| 免费看的黄色欧美网站| 欧美日韩18| 欧美精品资源| 日韩欧美中文字幕在线视频| 精品美女在线视频| 九九久久电影| 欧美日韩精品一区二区三区在线观看| 免费观看亚洲天堂| 日韩精品午夜| 日韩1区2区日韩1区2区| 精品精品99| 亚洲一区二区三区高清不卡| 欧美一区成人| 999精品色在线播放| 日韩久久一区| 亚洲手机视频| 欧美日韩一区二区国产| 在线一区视频观看| 日本色综合中文字幕| 中文一区一区三区高中清不卡免费| 不卡在线一区二区| 国产精品传媒麻豆hd| 久久中文亚洲字幕| 91精品国产自产观看在线 | 日韩**一区毛片| 精品国产欧美日韩一区二区三区| 91成人精品| 精品免费视频| 日韩精品欧美大片| 久久久久.com| 国产精品成人自拍| 视频一区在线播放| 欧美sm一区| 国产精品蜜月aⅴ在线| 亚洲激情偷拍| 中文字幕在线视频久| 青草国产精品| 国产精品毛片一区二区三区| 色乱码一区二区三区网站| 五月婷婷亚洲| 日韩深夜视频| 国产极品一区| 日韩一区二区三区四区五区| 精品一区在线| 日本不良网站在线观看| 欧美在线黄色| 亚洲日本国产| 久久亚洲视频| 成人va天堂| 国产一区二区三区免费在线| 日韩av不卡一区二区| 欧美专区一区二区三区| 精品捆绑调教一区二区三区| 精品美女视频| 青青草国产精品亚洲专区无| 免费人成网站在线观看欧美高清| 久久精品高清| 首页国产精品| 精品国产aⅴ| 久久精品国产精品亚洲毛片| 18国产精品| 日韩视频1区| 亚洲精品成人一区| 蜜臀av一区二区三区| 女主播福利一区| 日韩免费福利视频| 亚洲综合电影| 日韩精品水蜜桃| 日韩中文字幕高清在线观看| 国产美女视频一区二区| 日韩不卡在线观看日韩不卡视频| 亚洲精品影视| 日本在线不卡视频| 日韩动漫一区| 国产午夜一区| 欧美精品成人| 老司机免费视频一区二区三区| 国产亚洲人成a在线v网站| 亚洲精品精选| 深夜福利一区| 日韩不卡免费视频| 国产亚洲精品精品国产亚洲综合| 日韩激情一二三区| 欧美在线观看天堂一区二区三区| 日韩在线一二三区| 日韩精品91亚洲二区在线观看| 久久狠狠久久| 精品国产美女a久久9999| 中文字幕成在线观看| 亚洲深夜视频| 久久久久亚洲| 亚洲免费网址| 日韩欧美激情| 欧美精品第一区| 欧美激情国产在线| 在线国产一区二区| 蜜臀a∨国产成人精品| 日韩高清二区| 欧美精品三级在线| 国产精品欧美大片| 高清久久精品| 精精国产xxxx视频在线野外| 亚洲免费观看| 日韩成人在线看| 日韩av自拍| 好吊日精品视频| 亚洲精品一二| 久久国产精品美女| 成人羞羞在线观看网站| 黑丝一区二区三区| 亚洲精品乱码| 精品三级久久久| 欧洲毛片在线视频免费观看| 美女日韩在线中文字幕| 日韩精彩视频在线观看| 麻豆传媒一区二区三区| www.九色在线| 国产毛片一区| 麻豆国产欧美一区二区三区| 捆绑调教日本一区二区三区| 亚洲免费精品| 久久伊人国产| 国产精品丝袜xxxxxxx| 国产精品jk白丝蜜臀av小说| 久久久久国产精品一区二区| 天堂精品久久久久| yellow在线观看网址| 日韩精品一二区| 国产福利片在线观看| 最新亚洲激情| 美女高潮久久久| 久久国产精品毛片| 超级白嫩亚洲国产第一| 亚洲ab电影| 99久久久久国产精品| 久久精品97| 一区在线观看| 国精品产品一区| 亚洲人成高清| 美女少妇全过程你懂的久久| 国产精品对白| 午夜宅男久久久| 蜜桃av.网站在线观看| 日韩av一区二区三区四区| 日韩大片免费观看| 日本电影久久久| 99视频在线精品国自产拍免费观看| 欧美亚洲国产日韩| 日韩专区在线视频| 特黄毛片在线观看| 国产精品一区二区三区www| 日韩专区欧美专区| 色一区二区三区| 国产精品115| 最新国产精品久久久| 欧美一区二区性| 精品少妇一区| 国产亚洲电影| 亚洲aa在线| 美女亚洲一区| 岛国精品一区| 国产亚洲高清在线观看| 亚洲一区二区三区久久久| 99精品在线观看| 国产一区二区三区成人欧美日韩在线观看| 亚州国产精品| 国产偷自视频区视频一区二区| 国产精品久久久久蜜臀| 国产精品中文字幕亚洲欧美 | 久久精品亚洲人成影院| 老司机免费视频一区二区| 日本免费一区二区视频| 久久国产精品99国产| 电影亚洲精品噜噜在线观看| 麻豆精品蜜桃视频网站| 日韩超碰人人爽人人做人人添| 麻豆精品91| 蜜臀va亚洲va欧美va天堂| 欧美精品一线| 香蕉久久99| 999久久久91| 久久中文视频|