目标
上一篇写处理函数参数,漏掉了 callback 函数做为参数的情况,这里给个简单的示例。
用 C++ 写一个简单 RunFunc()
v8 函数传给 js 环境,使以下代码可运行:
1 | // app.js |
代码 & 说明
1 | // callback.cc |
编译
v8 编译相关请查看 Javascript Engine V8 Embedding - 编译
1 | g++ -I. -Iinclude calback.cc -lv8_monolith -Lout.gn/x64.release.sample/obj/ -pthread -std=c++0x -o inode |
执行
1 | ./inode app.js # output: `hello world` |
说明
代码已经比较清晰了,跟上一篇函数传参处理的内容是一致的,还配有简单的注释说明。
下篇,我们将探索如何封装 C++ 类,然后就可以无障碍的编写 Node.js C++ Addon 或 阅读 Node.js 源码了。
相关链接
- Getting started with embedding V8: https://v8.dev/docs/embed#advanced-guide
- Node.js C++ Addons: https://nodejs.org/dist/latest-v10.x/docs/api/addons.html