幫助中心 | 我的帳號 | 關於我們

WebAssembly標準入門

  • 作者:柴樹杉//丁爾男
  • 出版社:人民郵電
  • ISBN:9787115500595
  • 出版日期:2019/01/01
  • 裝幀:平裝
  • 頁數:194
人民幣:RMB 49 元      售價:
放入購物車
加入收藏夾

內容大鋼
    WebAssembly是一種新興的網頁虛擬機標準,它的設計目標包括高可移植性、高安全性、高效率(包括載入效率和運行效率)、盡可能小的程序體積。柴樹杉,丁爾男著的《WebAssembly標準入門》詳盡介紹了WebAssembly程序在JavaScript環境下的使用方法、WebAssembly彙編語言和二進位格式,給出了大量簡單易懂的示例,同時以C/C++和Go語言開發環境為例,介紹了如何使用其他高級語言開發WebAssembly模塊。
    本書適合從事高性能Web前端開發、跨語言Web應用開發的技術人員學習參考,也可以作為WebAssembly標準參考手冊隨時查閱。

作者介紹
柴樹杉//丁爾男

目錄
第0章  WebAssembly誕生背景
  0.1  JavaScript簡史
  0.2  asm.js的嘗試
  0.3  WebAssembly的救贖
第1章  JavaScript語言基礎
  1.1  console對象
  1.2  函數和閉包
  1.3  Promise對象
  1.4  二進位數組
第2章  WebAssembly快速入門
  2.1  準備工作
    2.1.1  WebAssembly兼容性
    2.1.2  WebAssembly文本格式與wabt工具集
  2.2  首個常式
  2.3  WebAssembly概覽
    2.3.1  WebAssembly中的關鍵概念
    2.3.2  WebAssembly程序生命周期
    2.3.3  WebAssembly虛擬機體系結構
  2.4  你好,WebAssembly
    2.4.1  WebAssembly部分
    2.4.2  JavaScript部分
  2.5  WebAssembly調試及代碼編輯環境
第3章  JavaScript中的WebAssembly對象
  3.1  WebAssembly對象簡介
  3.2  全局方法
    3.2.1  WebAssembly.compile()
    3.2.2  WebAssembly.instantiate()
    3.2.3  WebAssembly.validate()
    3.2.4  WebAssembly.compileStreaming()
    3.2.5  WebAssembly.instantiateStreaming()
  3.3  WebAssembly.Module對象
    3.3.1  WebAssembly.Module()
    3.3.2  WebAssembly.Module.exports()
    3.3.3  WebAssembly.Module.imports()
    3.3.4  WebAssembly.Module.customSections()
    3.3.5  緩存Module
  3.4  WebAssembly.Instance對象
    3.4.1  WebAssembly.Instance()
    3.4.2  WebAssembly.Instance.prototype.exports
    3.4.3  創建WebAssembly.Instance的簡潔方法
  3.5  WebAssembly.Memory對象
    3.5.1  WebAssembly.Memory()
    3.5.2  WebAssembly.Memory.prototype.buffer
    3.5.3  WebAssembly.Memory.prototype.grow()
  3.6  WebAssembly.Table對象
    3.6.1  WebAssembly.Table()
    3.6.2  WebAssembly.Table.prototype.get()
    3.6.3  WebAssembly.Table.prototype.length
    3.6.4  在WebAssembly內部使用表格
    3.6.5  多個實例通過共享表格及內存協同工作

    3.6.6  WebAssembly.Table.prototype.set()
    3.6.7  WebAssembly.Table.prototype.grow()
  3.7  小結及錯誤類型
第4章  WebAssembly彙編語言
  4.1  S-表達式
  4.2  數據類型
  4.3  函數定義
    4.3.1  函數簽名
    4.3.2  局部變數表
    4.3.3  函數體
    4.3.4  函數別名
  4.4  變數
    4.4.1  參數與局部變數
    4.4.2  變數別名
    4.4.3  全局變數
  4.5  棧式虛擬機
    4.5.1  棧
    4.5.2  WebAssembly棧式虛擬機
    4.5.3  棧式調用
  4.6  函數調用
    4.6.1  直接調用
    4.6.2  間接調用
    4.6.3  遞歸
  4.7  內存讀寫
    4.7.1  內存初始化
    4.7.2  讀取內存
    4.7.3  寫入內存
    4.7.4  獲取內存容量及內存擴容
  4.8  控制流
    4.8.1  nop和unreachable
    4.8.2  block指令塊
    4.8.3  if指令塊
    4.8.4  loop指令塊
    4.8.5  指令塊的label索引及嵌套
    4.8.6  br
    4.8.7  br_if
    4.8.8  return
    4.8.9  br_table
  4.9  導入和導出
    4.9.1  導出對象
    4.9.2  導入對象
  4.10  start()函數及指令摺疊
    4.10.1  start()函數
    4.10.2  指令摺疊
第5章  WebAssembly二進位格式
  5.1  LEB128編碼
    5.1.1  LEB128編碼原理
    5.1.2  無符號數的LEB128編碼
    5.1.3  有符號數的LEB128編碼
  5.2  頭部和段數據

    5.2.1  頭部
    5.2.2  段類型列表
    5.2.3  段數據結構
  5.3  內存段和數據段
    5.3.1  內存段
    5.3.2  數據段
  5.4  表格段和元素段
    5.4.1  表格段
    5.4.2  元素段
  5.5  開始段和函數索引
    5.5.1  開始段
    5.5.2  函數索引
  5.6  全局段
    5.6.1  全局變數索引
    5.6.2  全局段編碼方式
  5.7  函數段、代碼段和類型段
    5.7.1  函數段、代碼段和類型段之間的關係
    5.7.2  更簡單的例子
    5.7.3  函數段
    5.7.4  類型段
    5.7.5  代碼段
  5.8  導入段和導出段
    5.8.1  例子
    5.8.2  類型段
    5.8.3  導入段
    5.8.4  導出段
  5.9  自定義段
    5.9.1  自定義段結構
    5.9.2  模塊的名字
    5.9.3  全局變數的名字
    5.9.4  函數的名字
    5.9.5  局部變數的名字
  5.10  補充說明
第6章  Emscripten和WebAssembly
  6.1  安裝環境
    6.1.1  emsdk命令安裝
    6.1.2  Docker環境安裝
    6.1.3  驗證emcc命令
  6.2  你好,Emscripten!
    6.2.1  生成wasm文件
    6.2.2  瀏覽器環境
    6.2.3  自動生成HTML測試文件
  6.3  C/C++內聯JavaScript代碼
    6.3.1  EM_ASM宏
    6.3.2  EM_ASM_宏
    6.3.3  EM_ASM_*宏
    6.3.4  函數參數
    6.3.5  注意問題
  6.4  C/C++調用JavaScript函數
    6.4.1  C語言版本的eval()函數

    6.4.2  打造帶參數的eval()函數
    6.4.3  打造可變參數的eval()函數
    6.4.4  eval()函數返回字元串
  6.5  JavaScript調用C導出函數
    6.5.1  調用導出函數
    6.5.2  輔助函數ccall()和cwrap()
  6.6  運行時和消息循環
    6.6.1  Emscripten運行時
    6.6.2  消息循環
  6.7  補充說明
第7章  Go語言和WebAssembly
  7.1  你好,Go語言
  7.2  瀏覽器中的Go語言
  7.3  使用JavaScript函數
  7.4  回調Go函數
  7.5  syscall/js包
  7.6  WebAssembly模塊的導入函數
  7.7  WebAssembly虛擬機
  7.8  補充說明
附錄  指令參考

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032