google v8 实战 -- 构建v8

arm64-v8a原生库移植操作指南(含完整示例) 深入解析arm64-v8a架构下原生库的移植过程,涵盖常见问题与完整示例,帮助开发者高效完成arm64-v8a平台适配,提升应用兼容性与性能表现。 阅读详情

title: google v8 实战 -- 构建v8

首先用废话热热身,再来马上很快就讲怎么样构建v8。

事情源起于不久前用Gmail(http://mail.google.com)读《ACM Queue》,里面有
篇文章说google又抛出个叫
o3d(http://code.google.com/intl/zh-CN/apis/o3d/)的东东,支持在浏览器内
实现3D硬件加速,而且还可以用Javascript开发,o3d将引领Web 3D的新风潮。

作为3D兼js爱好者,区区当然要一探究竟啦。花半天把o3d源代码拉下来后,发现
google对o3d的野心不小。刚发布就有了3个主流浏览器的插件、而且配备丰富的
实例和工具库。

但是为什么又是v8呢?仅仅因为o3d也使用了v8,nonono,google的关联推荐从来
都是强大的(这不正是http的本质么?)。哪怕你只看看o3d,你已经同时访问了
code.google.com的服务,同时知道google有简单易用的Sketcup 3D建模软件,并
且o3d中还使用到了和google chrome一样的v8引擎。

Oh God! google已经把技术堡垒都建好了,作为开发人员,我们还是别偷懒,
先……

构建v8


v8的项目主页是http://code.google.com/p/v8/。在其Sources页面下有下载源代
码的方法,本文讲述用源代码构建,如果读者只对binary release感兴趣,请略
过。

如果大家和区区一样,已经安装了svn(http://subversion.tigris.org/),那么
只要在命令行输入:
svn checkout http://v8.googlecode.com/svn/trunk/ v8
即可将v8代码树下载。

或者用TortoiseSVN(http://tortoisesvn.tigris.org/)下载也可以。


打开v8

双击下载的e:/work/v8/tools/visual_studio/v8.sln文件(e:/work是区区的工作
目录,下同),vs2008会提示转换,狂点'finish'/'next'/'ok'就好了。
提下来按F7键,就可以完成构建了。简单吧。

难在前提:
1.最好是安装vs2008,加sp1。(怎么装?这问题,在国内,不好回答,要不你就装express版吧)
2.区区用的是Vista 64位版本,xp应该也没问题
3.要安装有python(http://python.org/)2.5以上版本,或者是ActivePython(http://www.activestate.com/activepython/)

实战一个hello程序

总不能构建完就睡觉了对吧?就直接在v8.sln解决方案中,添加一个
WTL(http://wtl.sourceforge.net/)工程,起名叫v8_hello。(这个随便都行)
在向导后面的部分选择创建模式对话框应用程序即可

WTL的主要代码在MainDlg.h中,直接贴上:




注意这三句包含
#include <v8.h>
#include <comutil.h>
#include "jrutils.h"
其中的conutil.h和jrutils.h完全是为了执行
mslog(_bstr_t(*ascii));而加入,不是必要的。

v8_hello的主要功能在void Try_V8()函数中,这些代码来自v8的Getting
Started文档
(http://code.google.com/intl/zh-CN/apis/v8/get_started.html)中的第二个
例子,注意由于我们拿的是最新代码,第一个例是是编译不过的(没有context和
scope)。



要编译过这个工程,v8_hello必须加入include和lib目录和.lib链接库,对于区
区的机器环境,来说,要在v8_hello的工程属性中设置下面几项:
Configuration Properties_C/C++_General_Additional Include Directories: e:/work/v8/include/
Configuration Properties_Linker_General_Additional Library Directories: e:/work/v8/tools/visual_studio/Debug/lib/
Configuration Properties_Linker_Input_Additional Dependencies:v8.lib Ws2_32.lib Winmm.lib comsuppwd.lib

一切正常的话,按F5运行吧~

 

至此,我们就v8 say hi了。。

windows环境下google v8引擎的编译 写在前面:如果你电脑还没有装VS的话,我强烈建议你在装VS的时候就选择装在默认路径C盘,不要选择其他盘,而且接下来的depot_tools的路径和拉取的V8源码的路径最好都选择在C盘,具体原因在最后说明!! 弄这个玩意儿前后整整花了3天时间,中途每一个问题都折腾的你想吐,我发誓以后再TM不折腾这玩意儿了2.再写之前,需要把这些前期工作弄好,不然中途出现啥莫名其妙的问题导致编译不上,我可不负责1:首... 阅读详情

相关推荐

Unity集成Google AdMob v8全屏广告:从初始化到回调的实战指南

移动应用广告变现是游戏和应用商业化的重要途径,其核心原理是通过集成广告SDK,在应用内展示广告并基于用户互动产生收益。Google AdMob作为行业主流的广告聚合平台,其技术价值在于提供了稳定、高效的广告填充与收益优化方案。在游戏开发、工具类应用等场景中,全屏广告(如插屏和激励视频)是实现流量变现的关键形式。本文聚焦于Unity引擎中Google Mobile Ads SDK v8的集成实践,针对SDK初始化、全屏广告加载与展示等核心环节,深入解析了**激励视频回调**的安全处理机制与**iOS SDK版

weixin_34110970的博客 339

google-v8编译

说明:v8 third_party 和depot_tools svn root目录:      https://src.chromium.org/svn/trunk/tools/ 如果在编译过程中有什么问题,也可以给我消息,我会尽快回复,如发现错误,也请指正。欢迎共同学习!QQ312919010​   注意:生成VS工程时,需要使用python2.7。但编译时,third_party下一定...

Jchn lau 1971

Google Chrome 开发者版完整技术解析与实战应用

2018 年 Spectre 漏洞曝光后,Chrome 紧急推出了—— 不同站点绝不共用同一个渲染进程。什么是“站点”?scheme + eTLD+1,例如:和→ 同站和→ 不同站(协议不同)启用后,跨源 iframe 会被移到独立进程(OOPIF),通过 Proxy Element 维持视觉一致性。代价当然也有:指标启用前启用后变化平均进程数~3~7↑130%内存占用500MB700MB。

weixin_29940495的博客 708

Google V8编程详解(一)V8的编译安装(Ubuntu)

V8的编译比较简单,需要同时安装git和svn. 下载V8源码: git clone git://github.com/v8/v8.git v8 && cd v8切换到最新版本: git pull --rebase origin master 安装依赖: make dependencies 编译: make native mode=debug library=

Legend(谭海燕)的专栏 1万+

Google V8 Windows 库文件集成指南

V8是Google开发的开源高性能JavaScript和WebAssembly引擎,广泛用于Chrome浏览器和Node.js。它能够将JavaScript代码编译成原生机器码来执行,从而提高运行效率。动态链接库(Dynamic Link Library,简称DLL)是一种在Windows操作系统中实现共享函数库的方式。它提供了一种方法,以便多个程序可以调用相同的代码,而无需在每个程序中复制这些代码。V8引擎的DLL文件包含了执行JavaScript代码所需的函数和数据。

weixin_32456485的博客 845

VS2019谷歌V8引擎8.2版本,编译好的Release版DLL和LIB,和测试demo

VS2019谷歌V8引擎8.2版本,编译好的Release版DLL和LIB,和测试demo 下载即可使用。 window版本 已经包含include,文件齐全。

MonteSheet:基于V8引擎的Google Sheets蒙特卡洛模拟性能优化实践

蒙特卡洛模拟是一种基于随机抽样的数值计算方法,通过大量重复实验来估计复杂系统的概率分布。其核心原理是利用随机数生成器模拟不确定性因素,通过统计输出结果来评估风险概率。在工程实践中,蒙特卡洛模拟的技术价值在于能够处理传统分析方法难以解决的复杂概率问题,广泛应用于财务风险评估、供应链优化和工程可靠性分析等场景。然而在Google Sheets等表格工具中进行大规模模拟时,往往会遇到性能瓶颈问题。MonteSheet工具通过集成V8引擎的即时编译特性,结合Svelte框架的响应式界面,成功将10万次模拟的运行时间

weixin_30644369的博客 363

VS2015谷歌V8引擎6.3版本,编译好的Release版DLL和LIB,和测试demo

VS2015谷歌V8引擎6.3版本,编译好的Release版DLL和LIB,和测试demo 下载即可使用。 window版本 已经包含include,文件齐全。

v8代码构建

V8 是 Google 的开源高性能 JavaScript 和 WebAssembly 引擎,用 C++ 编写。它用于 Chrome 和 Node.js 等。它实现了 ECMAScript 和 WebAssembly,并在 Windows 7 或更高版本、macOS 10.12+ 以及使用 x64、IA-32、ARM 或 MIPS 处理器的 Linux 系统上运行。V8 可以独立运行,也可以嵌入到任何 C++ 应用程序中。

b1049112625的博客 1703

VS2019谷歌V8引擎8.4版本,编译好的Release版DLL和LIB,和测试demo

VS2019谷歌V8引擎8.4版本64位版本,编译好的Release版DLL和LIB,和测试demo 下载即可使用。 window版本 已经包含include,文件齐全。

GoogleV8最新Lib库

最新的V8lib,Debug和Release版本。编译过程,详见博客。

最新Google V8 引擎编译

Google V8 引擎使用 V8 引擎是 Google 的一个开源项目,是一个高效的 JavaScript 引擎,它可以作为一个独立的库被嵌入到已有的 C++ 应用之中,为软件的灵活性,扩展性提供可能。使用 V8 的另外一个好处是,你不需要重新学习一本脚本语言,JavaScript 已经广泛的被开发人员,尤其是前端开发人员所使用。 最新版本的下载地址:http://c

志汉天涯~!~Day Day Up~ 1万+

RandLA-Net复现SemanticKITTI和S3DIS数据集

RandLA-Net复现KITTI和室内数据集

weixin_48845174的博客 4110

google v8引擎 x64静态库

google v8引擎 x64静态库 【下载地址】googlev8引擎x64静态库 该项目提供了Google V8引擎的x64静态库资源文件,专为Windows 10平台设计,并使用Visual Studio 2019进行编译。静态库版本为V8 8.0.397,包含调试版本(MDd)和发布版本(MD),适用于需要在Win...

gitblog_06737的博客 387

Python高效转换病理图像:从mrxs到SVS的完整实践指南

本文提供了使用Python将数字病理切片从mrxs格式高效转换为SVS格式的完整实践指南。针对mrxs格式兼容性差的问题,文章详细解析了基于openslide和tifffile库的核心转换流程,并重点分享了应对大内存消耗的优化方案与流式处理技巧,确保转换后的SVS文件保留多分辨率金字塔结构,兼容主流病理分析工具。

weixin_29051811的博客 547

把STM32MP135当单片机玩:实战SD卡脱机运行LED程序(基于MP135DK开发板)

本文详细介绍了如何在STM32MP135开发板上实现SD卡脱机运行LED程序,通过裸机开发方式(Bare Metal)利用HAL库完成GPIO控制,并解析了SD卡启动流程。内容涵盖工程创建、代码编写、SD卡烧录及常见问题排查,为开发者提供了一种高性能单片机开发方案。

weixin_33734785的博客 242

Lap 安装指南:本地优先照片管理器三步装好,5 分钟完成

Lap 是一款开源、本地优先的照片管理工具:照片不出你的硬盘、不绑定云账号,AI 搜索和地图视图都在本机运行。跟着这篇 Lap 安装教程走完,你就能把相册在本地跑起来,用本地 AI 搜索翻照片。 ## 先确认这几项 | 项目 | 要求 | | :-- | :-- | | 系统 | macOS(Apple Silicon / Intel)、Windows 10/11、Linux(Debian 系

gitblog_01099的博客 545

PCB印刷电路缺陷检测实战:从数据集准备到模型训练全流程解析

本文详细解析了PCB缺陷检测从数据集准备到模型训练的全流程。重点介绍了PKU-Market-PCB数据集的特点与下载方法,并提供了数据格式转换、模型选择(如YOLOv8)与训练配置的实战代码。针对PCB小目标检测的难点,文章给出了数据分析和模型优化的具体策略,帮助读者构建高效的缺陷检测系统。

weixin_29065791的博客 546

Google V8编译

一、编译环境 最初是用centos7 镜像docker下,进行,最终总是有一个文件编译失败,并且未报明显的错误。 后转用VMware + ubuntu-16.04.3-desktop-amd64 二、可以直接使用的lib库 如果不想去感受繁琐的编译过程, 可以尝试直接使用,附件中,我编译好的lib库 请查看附件:Googelv8(include+libs).zip 三、编译步骤 1、安装depot_tools 参考:https://commondatastorage.googleapis.com

shenshanhongye的专栏 750

i2c转串口驱动移植

i2c转串口驱动移植欢迎使用Markdown编辑器新的改变思路与使用方式合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用M

mars_Vessalius的博客 2276

ESP32S3接入讯飞在线语音识别教程及配套源代码

本文介绍了如何使用ESP32-S3开发板实现讯飞在线语音识别功能。首先,需要准备硬件设备,包括ESP32-S3开发板、麦克风模块、MicroSD卡模块和扬声器模块。接着,安装Arduino IDE并配置ESP32-S3开发环境,注册讯飞开放平台账号并获取API凭证。然后,通过I2S接口连接麦克风模块,并编写代码实现语音录制、Base64编码、API请求和识别结果处理。代码包括初始化WiFi、麦克风、系统时间,以及录制语音、发送请求、解析响应等功能。最后,通过按键触发录音,并将识别结果输出到串口。

2401_88800025的博客 746

google v8 实战 -- 神秘的v8.vcproj

title: google v8 实战 -- 神秘的v8.vcproj 根据前文的说明,大家应该都可以把v8.lib编译出来了。 本文想再说说编译这个环节。因为区区在另外一台同样安装了VS2008和python2.5的机器上,编译失败,而且败在v8.vcproj中的natives.cc上。打开这个文件时要小心,连IDE都会警告说“这个文件包含巨长的文本行,可以会很慢”。

Joyer的日志 7238

Epicor ERP 界面新增客制化字段操作方法

我发现国内对于epicor这个erp软件的教程非常少,所以录制一些我实际遇到的需求,整理了实现过程,提供给大家参考。

cqxianggang的专栏 411

Android Google Play Billing(v8+)完整实战

Android Google Play Billing(v8+)完整实战

weixin_51522235的博客 930

全志T527-TP9930-Camera

TP9930 驱动模块主要实现将 4 路的 AHD/TVI/CVBS Camera 的数据转换为 BT656/BT1120 数据,从而实现在 T527 端来对数据进行处理和送显。

Linux驱动开发工程师,熟悉Linux/Android底层驱动、TP、显示、IIC、网络等通用外设调试适配,Linux上层应用开发。常用平台瑞芯微、全志、恩智浦等。 3233

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Chrome V8引擎介绍

随着Web相关技术的发展,JavaScript所要承担的工作也越来越多,早就超越了“表单验证”的范畴,这就更需要快速的解析和执行JavaScript脚本。V8引擎就是为解决这一问题而生,在node中也是采用该引擎来解析JavaScript。V8是如何使得JavaScript性能有大幅提升的呢?通过对一些书籍和文章的学习,梳理了V8的相关内容,本文将带你认识 V8。 1.渲染引擎及网页渲染   浏览器自从上世纪80年代后期90年代初期诞生以来,已经得到了长足的发展,其功能也越来越丰富,包括...

顺其自然~专栏 5013

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

上一篇: 用ATL使用自动化操控MS word读取文本内容
下一篇: google v8 实战 -- 神秘的v8.vcproj
JoyerHuang_悦
博客等级 码龄23年 101粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值