• 面向WebAssembly编程:应用开发方法与实践
图书条目标准图
21年品牌 40万+商家 超1.5亿件商品

面向WebAssembly编程:应用开发方法与实践

64.58 8.2折 79 九五品

仅1件

河北廊坊
认证卖家担保交易快速发货售后保障

作者丁尔男、柴树杉 著

出版社机械工业出版社

出版时间2020-12

版次1

装帧平装

货号A13

上书时间2024-11-01

   商品详情   

品相描述:九五品
图书标准信息
  • 作者 丁尔男、柴树杉 著
  • 出版社 机械工业出版社
  • 出版时间 2020-12
  • 版次 1
  • ISBN 9787111669241
  • 定价 79.00元
  • 装帧 平装
  • 开本 16开
  • 纸张 胶版纸
  • 页数 236页
【内容简介】
内容简介 

这是一部讲解如何用高级编程语言开发WebAssembly应用的著作,由国内WebAssembly领域的先驱者和布道者撰写。 

全书一共10章,分为三个部分。 

第壹部分 基础篇(第1~3章) 

首先介绍了WebAssembly的基础和工具链Emscripten的用法,然后详细讲解了使用 C/C++语言和Emscripten开发WebAssembly模块的方法。 

第二部分 方法篇(第4~8章) 

对 Emscripten 运行时、WebAssembly 友好的一般性方法、网络 I/O、并发执行、GUI 及交互等知识点展开了深入的讨论。 

第三部分 前沿篇(第9~10章) 

详细讲解了WASI以及如何使用 Rust 语言开发 WebAssembly模块和 WASI 应用。
【作者简介】
丁尔男 

WebAssembly技术专家,WebAssembly的先驱者和布道者,率先将WebAssembly技术引入实际工程中,合著有《WebAssembly标准入门》。 

长期从事三维地理信息系统软件开发工作,现任武汉航天远景科技股份有限公司应用技术总监,领导开发了3DMatrix系列产品及实景三维应用整体解决方案。 

柴树杉 

WebAssembly技术专家,WebAssembly的先驱者和布道者,目前就职于蚂蚁集团,从事云原生配置编程语言的设计和研发工作,合著有《WebAssembly标准入门》。 

Go语言技术专家,Go语言的贡献者,著有《Go语言高级编程》 。
【目录】
前言 

第一篇 基础篇 

第1章 认识WebAssembly2 

11 WebAssembly的诞生背景2 

12 Web的第4种语言3 

13 本章小结4 

第2章 Emscripten快速入门5 

21 安装Emscripten5 

211 使用emsdk命令行工具安装Emscripten5 

212 在Docker环境中安装Emscripten7 

213 校验安装8 

22 你好,世界!8 

221 生成wasm文件8 

222 运行9 

223 使用Emscripten生成测试页面11 

23 胶水代码初探12 

231 WebAssembly汇编模块载入12 

232 导出函数封装14 

233 异步加载16 

24 编译目标及编译流程17 

241 编译目标的选择17 

242 编译流程18 

25 示例:放大镜特效19 

251 模板程序19 

252 静态的放大镜20 

253 动态的放大镜21 

26 本章小结24 

第3章 C与JavaScript互操作25 

31 JavaScript调用C函数25 

311 定义函数导出宏25 

312 在JavaScript中调用C导出函数27 

32 JavaScript函数注入C环境30 

321 C函数声明30 

322 JavaScript实现C函数30 

323 闭包限制及解决办法32 

324 JavaScript函数注入C环境的优缺点33 

33 单向透明的内存模型33 

331 Modulebuffer34 

332 ModuleHEAPX34 

333 在JavaScript中访问C/C++环境内存35 

34 JavaScript与C/C++交换数据37 

341 参数及返回值37 

342 通过内存交换数据39 

343 在JavaScript中分配内存42 

344 字符串43 

35 EM_ASM系列宏44 

351 EM_ASM44 

352 EM_ASM_/EM_ASM_DOUBLE45 

353 EM_ASM_INT_V/EM_ASM_DOUBLE_V46 

36 emscripten_run_script()系列函数47 

361 emscripten_run_script()47 

362 emscripten_run_script_int()48 

363 emscripten_run_script_string()49 

37 ccall()/cwrap()50 

371 ccall()51 

372 cwrap()53 

373 ccall()/cwrap()的潜在风险53 

38 本章小结56 

第二篇 方法篇 

第4章 Emscripten运行时58 

41 main()函数与生命周期58 

42 消息循环61 

421 emscripten_set_main_loop()61 

422 消息循环的暂停、继续及终止63 

43 文件系统65 

431 Emscripten虚拟文件系统架构66 

432 基于MEMFS的打包文件系统67 

433 NODEFS文件系统71 

434 IDBFS72 

44 内存管理73 

441 内存容量/栈容量73 

442 可变内存74 

443 内存分配器75 

45 Module定制75 

46 示例:人脸检测78 

461 facedetect_cnn()函数78 

462 facedetect_cnn()函数再封装79 

463 读取图像并检测人脸81 

464 基于SDL显示IplImage图像82 

47 本章小结84 

第5章 WebAssembly友好的一般性方法85 

51 消息循环分离85 

511 emscripten_set_main_loop()的不足85 

512 在JavaScript中创建定时循环86 

52 内存对齐88 

521 asmjs88 

522 wasm91 

523 避免及检测未对齐的内存操作92 

53 使用C接口导出C++对象93 

54 C++对象生命周期管理97 

541 引用计数97 

542 AddRef()/Release()使用规则98 

543 导出AddRef()/Release()100 

55 使用C接口注入JavaScript对象103 

551 创建JavaScript对象/ID表103 

552 注入JavaScript对象的生命周期管理104 

56 小心64位整型数107 

561 WebAssembly原生支持int64108 

562 导出函数包含int64108 

563 注入函数包含int64110 

57 文件系统的缺陷111 

58 本章小结112 

第6章 网络I/O113 

61 XMLHttpRequest113 

611 XMLHttpRequest对象使用简介113 

612 XMLHttpRequest对象的C接口封装115 

613 扩展回调处理116 

62 WebSocket119 

621 创建WebSocket测试服务120 

622 在JavaScript中使用WebSocket121 

623 WebSocket对象的C接口封装122 

63 本章小结126 

第7章 并发执行127 

71 JavaScript中的并发模型127 

72 在Worker中使用Emscripten129 

73 pthread线程132 

731 原子操作132 

732 pthread示例134 

733 在浏览器环境运行pthread示例136 

74 本章小结137 

第8章 GUI及交互138 

81 Canvas138 

82 鼠标事件141 

83 键盘事件144 

84 Life游戏145 

841 Life简介146 

842 设计要求146 

843 Life游戏C代码146 

844 Life游戏网页代码150 

845 运行Life151 

85 本章小结152 

第三篇 前沿篇 

第9章 Rust和WebAssembly154 

91 Rust入门154 

911 安装Rust开发环境154 

912 你好,世界155 

913 Cargo管理工程155 

914 本地文档156 

92 你好,WebAssembly157 

921 安装WebAssembly开发环境157 

922 打印“你好,WebAssembly”159 

93 导入和导出函数159 

931 导出main()函数159 

932 导入宿主打印函数161 

933 导出自定义函数162 

94 打印命令行参数163 

941 打印字符串163 

942 准备导入env_print_str()函数164 

943 向Rust传入字符串165 

944 命令行参数封装168 

945 传入命令行参数170 

95 no_std171 

951 输出文件的大小171 

952 通过no_std裁剪标准172 

953 库173 

96 嵌入C代码174
点击展开 点击收起

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP