Google Chrome V8 engine
1.1、V8简介
是什么 ?:a open-source, high-performance JavaScript and WebAssembly engine which can run standalone, or can be embedded into any C++ application.
开发语言:C++
开发公司:Google
官方主页:https://v8.dev
源码仓库:https://github.com/v8/v8
used by:ChromeNode.js
1.2、通过包管理器安装V8
操作系统包管理器安装命令
macOSHomeBrewbrew install v8
aptsudo apt-get install -y libv8 libv8-dev
CentOSyumsudo yum install -y v8 v8-devel
dnfsudo dnf install -y v8-314 v8-314-devel

Arch Linux

ArcoLinux

Manjaro Linux

yayyay -Syyu --noconfirm
yay -S    --noconfirm v8-314
1.3、通过源码安装V8 

step1、安装依赖

安装时CPython2.7
下载时gitcURL | wget
解压时targzipxzbzip2
运行时
  • glibc ( libc.solibm.solibdl.solibpthread.sold-linux-x86-64.so )
  • GCC ( libstdc++.solibgcc_s.so )
  • GLib ( libglib-2.0.so )

step2、使用git命令下载depot_tools

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

step3、将depot_tools目录加入PATH环境变量中

export PATH=$PATH:$(pwd)/depot_tools

step4、使用fetch命令下载V8源码

fetch v8

step5、进入v8目录

cd v8

step6、使用git命令切换到lkgr分支(lkgr = last known good revision

git checkout lkgr

step7、使用gclient命令同步代码

gclient sync

step8、查看当前分支中的内容

step9、使用gn命令配置编译参数

gn gen out/ --args='is_debug=false is_component_build=true v8_enable_i18n_support=false'

step10、使用ninja命令进行编译

ninja -C out/

step11、安装

PREFIX=/usr

sudo mkdir -p $PREFIX/{bin,lib,include}

sudo cp include/*.h $PREFIX/include
sudo cp out/*.so    $PREFIX/lib
sudo cp out/d8      $PREFIX/bin
1.4、d8命令
1.5、V8中包含的头文件
1.6、V8中包含的库文件
  • libv8.{a | so | dylib}
  • libv8_libbase.{a | so | dylib}
  • libv8_libplatform.{a | so | dylib}
  • libchrome_zlib.{a | so | dylib}