美文网首页V8
Mac上如何编译V8

Mac上如何编译V8

作者: AndroidWorld | 来源:发表于2020-04-14 21:50 被阅读0次

V8是由google公司开发的一款高性能、开源的javascript引擎,项目里需要使用V8来执行js,因此想要学习了解下V8的实现原理。打算先把源码下载到本地并编译运行起来。

工欲善其事,必先利其器

V8源码下载

V8官方文档有比较详细的说明,参考https://v8.dev/docs/source-code

安装Git

安装git,如果已经安装请跳过

安装depot_tools

参考https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up

下载depot_tools

mkdir ~/v8

cd ~/v8

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

配置环境变量

export PATH=/path/to/depot_tools:$PATH

更新depot_tools

命令行执行gclient命令

源码下载

fetch v8

cd v8

等待下载完成,时间长短取决于你的网速。

V8源码编译

分支选择

建议选一个稳定分支,参考https://omahaproxy.appspot.com/,笔者选的分支是branch-heads/8.0

cd ~/v8/v8

git checkout -b v_8_0_426_30 origin/branch-heads/8.0

gclient sync #确保最新分支对应的依赖都被下载到本地

编译

参考https://v8.dev/docs/build-gn

tools/dev/gm.py x64.debug

编译完成后会生成out/x64.debug文件夹,如下图

运行d8并尝试执行js代码

相关文章

  • Mac上如何编译Android可用的V8

    上篇文章我们尝试在Mac上成功编译了V8,不过编译生成的d8只能运行在Mac主机上运行,具体请参考「Mac上如何编...

  • Mac上如何编译V8

    V8是由google公司开发的一款高性能、开源的javascript引擎,项目里需要使用V8来执行js,因此想要学...

  • Mac搭建OpenHarmonyOS(开源鸿蒙系统)编译环境

    从编译脚本上看是支持的mac的 mac平台的只能在mac上编译(目前是) Linux上可以交叉编译出win编译命令...

  • go 语言学习

    Golang 在 Mac、Linux、Windows 下如何交叉编译 Mac 下编译 Linux 和 Window...

  • 使用 D8 分析 javascript 如何被 V8 引擎优化的

    在上一篇文章中我们讲了如何使用 GN 编译 V8 源码,文章最后编译完成的可执行文件并不是 V8,而是 D8。这篇...

  • V8引擎如何运行JS

    前言 V8引擎如何编译和优化JS的 什么是V8 官网: https://v8.dev/[https://v8.de...

  • V8中的日志

    V8中的日志 通过前面的文章,我们知道如何编译v8. 下一步即将开始我们修改v8之旅。 在修改之前,我们看下v8中...

  • go如何进行交叉编译

    golang交叉编译 问题 golang如何在一个平台编译另外一个平台可以执行的文件。比如在mac上编译Windo...

  • Andriod项目导入FFMPEG动态库

    上一篇文章介绍了如何在Mac平台下编译FFMPEG,这篇主要介绍如何将编译后的so文件导入Android项目中, ...

  • Google V8编译过程记录

    0x00 前言 由于要使用v8引擎,所以要编译V8。而且我要编译的是V8的安卓版本。更奇怪的是我编译的是Nativ...

网友评论

    本文标题:Mac上如何编译V8

    本文链接:https://www.haomeiwen.com/subject/bouxvhtx.html