Node.js 来一打C++扩展PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:死月著
- 出 版 社:北京:电子工业出版社
- 出版年份:2018
- ISBN:9787121336423
- 页数:456 页
1 Node.js的C++扩展前驱知识储备 1
1.1 Node js的模块机制 2
1.1.1 CommonJS的模块规范 2
1.1.2 Node js的模块 4
1.1.3 小结 9
1.1.4 参考资料 9
1.2 Node js的包机制 9
1.2.1 CommonJS的包规范 9
1.2.2 Node.js/NPM下的包 13
1.2.3 NPM与CNPM 16
1.2.4 小结 19
1.2.5 参考资料 19
1.3 Node.js依赖简介 20
1.3.1 Chrome V8 20
1.3.2 libuv 25
1.3.3 其他依赖 28
1.3.4 小结 30
1.3.5 参考资料 30
1.4 C++扩展开发的准备工作 31
1.4.1 编辑器/IDE 31
1.4.2 node-gyp 36
1.4.3 其他构建工具 54
1.4.4 小结 56
1.4.5 参考资料 56
2 C++模块原理简析 57
2.1 为什么要写C++模块 57
2.1.1 C++比JavaScript解释器高效 57
2.1.2 已有的C++轮子 72
2.1.3 小结 77
2.1.4 参考资料 77
2.2 什么是C++扩展 78
2.2.1 C++模块本质 78
2.2.2 Node js模块加载原理 80
2.2.3 小结 102
2.2.4 参考资料 103
3 Chrome V8基础 104
3.1 Node j s与Chrome V8 104
3.2 基本概念 105
3.2.1 内存机制 105
3.2.2 隔离实例(Isolate) 108
3.2.3 上下文(Context) 109
3.2.4 脚本(Script) 110
3.2.5 小结 110
3.2.6 参考资料 111
3.3 句柄(Handle) 111
3.3.1 本地句柄(Local) 112
3.3.2 持久句柄(Persistent) 115
3.3.3 永生句柄(Eternal) 119
3.3.4 待实本地句柄(Maybe Local) 119
3.3.5 小结 121
3.3.6 参考资料 121
3.4 句柄作用域 121
3.4.1 一般句柄作用域(Handle Scope) 122
3.4.2 可逃句柄作用域(Escapable Handle Scope) 125
3.4.3 小结 129
3.4.4 参考资料 129
3.5 上下文(Context) 129
3.6 模板(Template) 133
3.6.1 函数模板(Function Template) 133
3.6.2 对象模板(Object Template) 138
3.6.3 对象模板的访问器(Accessor)与拦截器(Interceptor) 144
3.6.4 对象模板的内置字段(Internal Field) 175
3.6.5 函数模板的继承(Inherit) 183
3.6.6 小结 188
3.6.7 参考资料 189
3.7 常用数据类型 189
3.7.1 基值(Value) 189
3.7.2 字符串(String) 194
3.7.3 数值类型 196
3.7.4 布尔类型(Boolean) 196
3.7.5 对象(Object) 196
3.7.6 函数(Function) 200
3.7.7 数组(Array) 202
3.7.8 JSON解析器 203
3.7.9 函数回调信息(Function Callback Info) 203
3.7.10 函数返回值(Return Value) 204
3.7.11 隔离实例(Isolate) 204
3.7.12 小结 205
3.7.13 参考资料 206
3.8 异常机制 206
3.8.1 try-catch 206
3.8.2 抛出异常 209
3.8.3 异常生成类(Exception) 211
3.8.4 小结 211
3.8.5 参考资料 211
4 C++扩展实战初探 212
4.1 binding.gyp 212
4.1.1 惊鸿一瞥 213
4.1.2 binding.gyp基础结构 213
4.1.3 GYP文件 214
4.1.4 常用字段 221
4.1.5 小结 228
4.1.6 参考资料 228
4.2 牛刀小试 229
4.2.1 又是Hello World 229
4.2.2 函数参数 232
4.2.3 回调函数 234
4.2.4 函数返回 238
4.2.5 小结 239
4.2.6 参考资料 240
4.3 循序渐进 240
4.3.1 C++与JavaScript类封装 240
4.3.2 实例化C++类封装对象的函数 250
4.3.3 将C++类封装对象传来传去 253
4.3.4 进程退出钩子 255
4.3.5 小结 259
4.3.6 参考资料 259
5 Node.js原生抽象——NAN 260
5.1 Node js原生模块开发方式的变迁 260
5.1.1 以不变应万变 260
5.1.2 时代在召唤 261
5.1.3 小结 267
5.1.4 参考资料 267
5.2 基础开发 267
5.2.1 什么是NAN 267
5.2.2 安装和配置 269
5.2.3 先睹为快——搭上NAN的快车 270
5.2.4 基础帮助函数和宏 276
5.2.5 忽略node_modules 279
5.2.6 小结 279
5.2.7 参考资料 280
5.3 JavaScript函数 280
5.3.1 函数参数类型 280
5.3.2 函数声明 282
5.3.3 函数设置 288
5.3.4 小结 296
5.3.5 参考资料 296
5.4 常用帮助类与函数 296
5.4.1 句柄相关 296
5.4.2 创建数据对象 298
5.4.3 与数据对象“玩耍” 300
5.4.4 封装一个类 314
5.4.5 异常处理 315
5.4.6 小结 315
5.4.7 参考资料 316
5.5 NAN中的异步机制 316
5.5.1 Nan::AsyncQueueWorker 316
5.5.2 Nan::Callback 317
5.5.3 Nan::AsyncWorker 317
5.5.4 Nan::AsyncProgressWorker 323
5.5.5 小结 327
5.5.6 参考资料 327
6 异步之旅——libuv 328
6.1 基础概念 329
6.1.1 事件循环 330
6.1.2 句柄(Handle)与请求(Request) 333
6.1.3 尝尝甜头 335
6.1.4 小结 340
6.1.5 参考资料 340
6.2 libuv的跨线程编程基础 341
6.2.1 libuv的线程 342
6.2.2 同步原语(Synchronization Primitive) 347
6.2.3 工作队列 355
6.2.4 小结 356
6.2.5 参考资料 357
6.3 跨线程通信 357
6.3.1 uv async t句柄 357
6.3.2 Watchdog半成品实战解析 358
6.3.3 Watchdog试运行 367
6.3.4 小结 368
6.3.5 参考资料 369
7 实战——文件监视器 370
7.1 准备工作 370
7.1.1 功能规划 370
7.1.2 文件系统监听库——efsw 373
7.1.3 小结 376
7.1.4 参考资料 376
7.2 核心设计 376
7.2.1 API设计 377
7.2.2 EFSWCore的血肉之躯 377
7.2.3 EFSWCore的灵魂 381
7.2.4 小结 385
7.3 编写JavaScript类 386
7.3.1 类的设计 386
7.3.2 核心逻辑 388
7.3.3 简单容错 391
7.3.4 小结 393
7.4 进一步完善 393
7.4.1 C++代码的完善 393
7.4.2 JavaScript代码的完善 398
7.4.3 小结 400
8 实战——现有包剖析 401
8.1 字符串哈希模块——Bling Hashes 401
8.1.1 文件设定 402
8.1.2 C++源码剖析 403
8.1.3 JavaScript 源码剖析 408
8.1.4 小结 409
8.1.5 参考资料 410
8.2 类Proxy包——Auto Object 410
8.2.1 Proxy 410
8.2.2 Auto Object使用范例 412
8.2.3 代码剖析 415
8.2.4 小结 424
8.2.5 参考资料 424
9 N-API——下一代Node.js C++扩展开发方式 425
9.1 浅尝辄止 426
9.1.1 实现一个Echo函数 426
9.1.2 尝试运行N-API扩展 430
9.1.3 向下兼容 431
9.1.4 N-API Package——C++封装 433
9.1.5 小结 433
9.1.6 参考资料 433
9.2 基本数据类型与错误处理 433
9.2.1 基本数据类型 433
9.2.2 与作用域及生命周期相关的数据类型 435
9.2.3 回调数据类型 438
9.2.4 错误处理 439
9.2.5 模块注册 441
9.2.6 小结 442
9.2.7 参考资料 442
9.3 对象与函数 442
9.3.1 对象 442
9.3.2 函数 448
9.3.3 类的封装 453
9.3.4 小结 455
9.3.5 参考资料 455
- 《权力扩展视角下的中越南海争端研究》赵卫华著;石源华,祁怀高丛书主编 2019
- 《英语词汇的奥秘 熟词扩展记忆法》(中国)蒋争 2019
- 《东亚货币一体化的经济基础扩展性研究》梁隆斌著 2013
- 《中国农民旅游流路径扩展研究》凌常荣著 2013
- 《大学体验英语 扩展教程 3》孔庆炎,李霄翔,贾国栋总主编;伍忠杰主编 2012
- 《随机载荷谱裂纹扩展寿命模型》中国航空学会结构设计及强度专业委员会编著 1989
- 《英语熟词扩展记忆法》蒋争编著 2013
- 《扩展频谱通信系统原理 第2版》(美)DONTORRIERI著;牛英滔,朱勇刚,胡绘斌等译 2014
- 《小学数学教师知识扩展》李佐锋,周淑芬编著 2001
- 《英美影视演讲欣赏 词汇扩展版》刘诺亚,付华军著 2013
- 《玩命杂技》醉月著 1995
- 《徐振民音乐作品作曲技法与文化研究》邱月著 2019
- 《我们终将孤独地长大》石月著 2020
- 《词人纳兰 西风独自凉》朴月著 2019
- 《镜之孤城》(日)辻村深月著 2020
- 《古典诗歌研究汇刊 十六编 第13册 南宋四家诗与宋型文化关系之研究 上》蔡淑月著 2014
- 《国家级特色专业系列教材当代幼儿教师丛书 幼儿园环境设计的整合与创建》吕袁媛,华丽,王玉月著 2018
- 《风过无痕》漠月著 2019
- 《京都一年》林文月著 2013
- 《你好,80后女孩》东月著 2013
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017