编译V8引擎

由于项目项目中最近用到v8引擎,项目由sparkmonkey切换到v8后,性能有了较大的提升,不过美中不足的是,启动时间较长,查看v8相关的文档,可以使用snapshot快照技术加快启动速度,因此觉得自己编译v8,加速启动。

在编译过程中遇到各种问题,首先说编译环境,项目需求是在android中使用v8快照,一般生成android平台的v8链接库有三种形式,在windows环境编译,在windows环境下使用cgwin编译,在linux环境下编译。

  • 使用window环境编译

    v8最新版本会强制绑定到vs2017,就算指定仅编译android平台也不能拿避免,没有装vs2017,目前项目使用vs2015,升级设计比较多的人,故舍弃此方案。(可能有其他参数避免这种绑定,不了解暂时没有深究)

  • 使用window环境下cgwin编译

    在cgwin环境下前期正常,但在相关脚本的调用中,遇到一个路径中斜杠”\”和反斜杠”/”的报错,由于关联脚本是从远程库自动下载,无法本地修改,如果要一一修改,需要将脚本加入到本地索引中,因此也没有使用这种方案。

  • 使用linux环境编译

    使用linux环境编译目前遇到问题最少,基本都是自动脚本执行完成,linux中还缺少部分系统库,手动添加一下就好。

开始编译v8,分为三个部分,第一个准备环境,linux使用虚拟机wmware,装centos最新稳定版本,注意硬盘要分配30G以上,因为要下载ndk以及一大堆第三方代码,建议留足编译空间。

  • 前期准备

    装完centos后,先需要安装gcc gcc-c++

    yum install -y gcc
    yum install -y gcc-c++

    安装depot_tools,主要用来下载脚本,有两个工具 fetch,gclient

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

    修改系统环境变量,将depot_tools加入到系统命令当中

    vim /etc/profile
    ...
    export PATH=/*(目录)/depot_tools:$PATH

    编译可以使用fetch v8来默认编译,这条命令相当于先建立一个默认的.gclient配置描述文件,然后再指向gclient sync下载相关依赖项目,我们可以采用自己建立.gclient文件定制下载选项

    gclient config https://github.com/v8/v8.gi
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
V8引擎是一款由Google开发的高性能JavaScript引擎,主要用于执行JavaScript代码。而VS2022是微软推出的最新版本的集成开发环境(IDE),用于开发各种类型的应用程序。 关于V8引擎的配置,以下是一些常见的配置步骤: 1. 下载V8源代码:你可以从V8的官方GitHub仓库中下载最新的源代码。 2. 安装依赖项:根据操作系统的不同,你需要安装一些必要的依赖项,如Python、C++编译器等。 3. 配置构建:进入V8源代码目录,执行相应的命令来配置构建过程。具体的命令可能因操作系统而异,你可以参考V8官方文档中的指南。 4. 构建V8引擎:执行构建命令来编译V8引擎的源代码。这个过程可能需要一些时间,取决于你的计算机性能和网络速度。 5. 配置项目:在你的项目中,将V8引擎的头文件和库文件路径配置到你的构建系统中,以便在代码中使用V8引擎。 关于VS2022的配置,以下是一些常见的步骤: 1. 下载和安装:从微软官方网站下载VS2022,并按照安装向导进行安装。 2. 选择工作负载:在安装过程中,你可以选择不同的工作负载,以适应你的开发需求。例如,选择C++开发工作负载可以包含C++编译器和相关工具。 3. 配置项目:在VS2022中创建或打开你的项目,并根据项目类型进行相应的配置。例如,对于C++项目,你可以设置编译器选项、包含目录、库文件路径等。 4. 调试和运行:使用VS2022的调试功能可以方便地调试你的代码。你可以设置断点、观察变量值等。同时,VS2022也提供了运行和构建项目的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值