摘要:具有非常高安全性,它在一個沙箱環境中執行,同時遵守瀏覽器的同源策略和權限規則。的關鍵部分概覽表示由瀏覽器編譯為可執行機器代碼的二進制文件。一種引用類型的可變素組例如函數,無法將其作為原始字節存儲在存儲器中。
WebAssembly定義
WebAssembly是一種的語言,可以在現代瀏覽器環境中運行,并提供了功能和性能上的優勢。可以將其它語言,如C/C++等,編譯成Assembly格式的代碼,然后在瀏覽器中運行。
WebAssembly的目標WebAssembly代碼可以獲得非常快的運行速度。
增加可讀性,WebAssembly還有可讀的文本格式,易于編寫,調試和閱讀。
WebAssembly具有非常高安全性,它在一個沙箱環境中執行,同時遵守瀏覽器的同源策略和權限規則。
和其它Web語言有很好的兼容性
WebAssembly工作原理Web平臺有兩不分組成組成:a)執行應用程序的虛擬機,b)Web API,例如(DOM,WebGL等)。為了讓瀏覽器支持Assembly,虛擬機實現了加載兩種語言(javascript,Assembly)的功能,javascript可以同過Web API引入WebAssembly代碼,WebAssembly可以導入和異步執行javascript的模塊。
WebAssembly的關鍵部分概覽module:表示由瀏覽器編譯為可執行機器代碼的WebAssembly二進制文件。 對于一個模塊是無狀態的,因此,像Blob一樣,可以顯式緩存在IndexedDB中,也可以在windows和worker之間共享(通過postMessage())。 A模塊像ES2015模塊一樣聲明導入和導出。
Memory:一個可調整大小的ArrayBuffer,它包含可以被WebAssembly的低級內存訪問指令讀取和寫入的線性字節數組。
Table:一種引用類型的可變素組(例如函數),無法將其作為原始字節存儲在存儲器中。
Instance:module,Memory,Table等得運行實例
一個C++程序轉化為Assembly的例子安裝Emscripten
編寫c++程序,例如:
#includeint main() { printf("hello, world! "); return 0; }
將C++命名,此處命名為hello.c,然后編譯輸出html代碼,編譯命令如下:
emcc hello.c -s WASM=1 -o hello.html
編譯輸出文件如下:
`hello.html
hello.js
hello.js.temp.js`
用瀏覽器打開hello.html,即可查看效果
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/83233.html
摘要:并且于年月日,四個主要的瀏覽器一致同意宣布的版本已經完成,即將推出一個瀏覽器可以搭載的穩定版本。因此本文著重介紹為什么比更快。本文主要表達的是為什么應該是更快的。則不同,它是由幾大主要的瀏覽器廠商共同設計的。 作者:Alon Zakai 編譯:胡子大哈 翻譯原文:http://huziketang.com/blog/posts/detail?postId=58ce80d2a6d8a0...
摘要:前端每周清單專注前端領域內容,以對外文資料的搜集為主,幫助開發者了解一周前端熱點分為新聞熱點開發教程工程實踐深度閱讀開源項目巔峰人生等欄目。利用降低三倍加載速度自推出之后,很多開發者都開始嘗試在小型項目中實踐,不過尚缺大型真實案例比較。 前端每周清單專注前端領域內容,以對外文資料的搜集為主,幫助開發者了解一周前端熱點;分為新聞熱點、開發教程、工程實踐、深度閱讀、開源項目、巔峰人生等欄目...
摘要:本文是圖說系列文章的第四篇。它們表示一種可以在普遍流行機器上高效使用的指令集合。這是因為是一種稱為堆棧機器。盡管是根據堆棧機器來設計的,但是這并不是它在真實物理機器上工作的方式。這些內容稱為段。 本文是圖說 WebAssembly 系列文章的第四篇。如果您還未閱讀之前的文章,建議您從第一篇入手。 WebAssembly 是一種使得除 JavaScript 以外的編程語言也能運行在網頁上...
摘要:工作原理分點介紹官方解讀它可以從各類現有的其他高級語言寫的業務庫編譯而來,比如下文提到的庫,就是一種語言編寫的剛體動力學與碰撞檢測計算的庫。 1、WebAssembly工作原理 分點介紹 官方解讀 它可以從各類現有的其他高級語言寫的業務庫編譯而來,比如下文提到的bullet庫,就是一種C++語言編寫的剛體動力學與碰撞檢測計算的庫。根據調研,還有Haskell、Go、C#的語言的一些We...
閱讀 1768·2021-10-11 10:57
閱讀 2352·2021-10-08 10:14
閱讀 3393·2019-08-29 17:26
閱讀 3340·2019-08-28 17:54
閱讀 3021·2019-08-26 13:38
閱讀 2885·2019-08-26 12:19
閱讀 3608·2019-08-23 18:05
閱讀 1277·2019-08-23 17:04