V8源码分析之d8 shell 简介(第四篇)
2023-09-11 14:22:07 时间
0x00 前言
常听人说烦恼即菩提,我们凡人遇到烦恼只是深感烦恼,不见菩提。快乐是在心里,不假外求,求即往往不得,转为烦恼。 ------ 梁实秋
0x01 什么是 d8
V8源码编译出来的可执行程序名为d8。d8作为V8引擎在命令行中可以使用的交互shell存在。平常V8的shell是在浏览器中可以看到的。Google官方已经不记得d8这个名字的由来,但是做为"delveloper shell"的缩写,用首字母d和8结合,恰到好处。
0x02 d8接口
console.log函数
解决js脚本执行结果从shell中输出显示
$ cat test.js
console.log('Hello world!');
$ out.gn/x64.optdebug/d8 test.js
Hello world!
read/readline函数
在d8命令行中,接入到js中,可以使js读取文件内容。
d8> const license = read('LICENSE');
d8> license
"This license applies to all parts of V8 that are not externally
maintained libraries. The externally maintained libraries used by V8
are:
… (etc.)"
load函数
在d8命令行中,load一个外部的js文件,并可以随后访问该文件中声明的内容。
$ cat util.js
function greet(name) {
return 'Hello, ' + name;
}
$ d8
d8> load('util.js');
d8> greet('World!');
"Hello, World!"
arguments变量
与d8的命令一起使用的自定义参数可以在shell中使用。只需要把这些参数放在--
后面。
out.gn/x64.optdebug/d8 -- hi
shell中使用参数
d8> arguments[0]
"hi"
0x03 参考文献
相关文章
- SSM框架基于h5的校园兼职招聘系统的设计与实现源码+论文三稿+ppt+查重报告(包远程安装,已降重)
- HDFS追本溯源:HDFS操作的逻辑流程与源码解析
- vuex 源码:深入 vuex 之辅助函数 mapState
- SwiftUI 4 新功能之实时获取点击位置 .onTapGesture { location in} (教程含源码)
- SwiftUI TextField教程之如何绑定字典变量Dictionary(教程含源码)
- SwiftUI 内功教程之如何实现全局效果设置(教程含源码)
- macOS SwiftUI 完整文档类项目之文本编辑器TextEdit DocumentGroup commands(教程含源码)
- Flet教程之 03 FilledButton基础入门(教程含源码)(教程含源码)
- android源码学习-Looper机制
- 十大基础排序算法[java源码+动静双图解析+性能分析]
- leaflet图斑历史时空播放(附源码下载)
- openlayers4 入门开发系列之地图工具栏篇(附源码下载)
- 《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---47
- 《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---45
- 《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---25
- 《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---17
- 《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---12
- 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---24
- 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---14
- 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---05
- 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---04
- 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---01