google_v8学习笔记:NO1 环境搭建以及代码获取
来源:互联网 发布:上海网络机柜 编辑:程序博客网 时间:2024/04/29 03:02
一直对javascript引擎感兴趣,也看了javascriptcore和spidermonkey,对比而言还是感觉Google_V8更适合入门。我主要的编程环境是在ubuntu下。下面从代码的获取开始学起.在Ubuntu环境下我们一般获取代码的途径有二种:
①获取源代码
1.通过git来下载 :
git clone git://github.com/v8/v8.git v8如果提示没有git命令,可以通过以下命令来下载
sudo apt-get install git
下一步检查是否是最新版本
cd v8 git pull -rebase origin master
2.通过svn来下载
首先我们先确定下系统中是否有svn命令,如果没有的话我们可以通过
sudo apt-get install subversion来下载
使用以下命令来获取v8的最新代码
svn checkout http://v8.googlecode.com/svn/trunk/ v8
3.如果我们想看历史版本的v8代码,我们可以通过以下网址来获取
https://code.google.com/p/v8/source/browse
②安装第三方依赖库
进入v8文件夹后输入以下命令
make builddeps这个是下载编译过程中所需要的第三方库
或者
make dependencies这个事下载所有的第三方库,推荐用第一个命令
③编译V8代码
一般我们用的是gyp来编译,代码在第三方库中,在GCC编译器中,编译命令如下
编译32位或者64位的代码或者调试模式下或者发布模式下,我们可以使用以下命令来完成,
make 需要编译的位数 (ia32, x64, arm, arm64) .调试或者发布(debug,release)。
比如我们想编译64位下的调试版本的话,命令如下
make x64.debug
在用make编译的时候,我们也可以选择别的参数,比如
如果我们不知道自己的机器是32位还是64位,我们可以选择native来编译,此时可以通过mode=(debug,release)来选择模式。如 make native mode=debug
-j 是选择并行任务个数, 比如 make x64.debug -j8
OUTDIR=foo 表示生成的文件路径,默认是./out/..,如果我们加了这个参数后,生成的文件将存在foo/下
library=shared (component=shared_library)这两个参数的意思是一样的表示生成动态链接库比如我们在调用V8 要使用到的libv8.so库,需要生成这个文件的话要加这个参数。
snapshot=off 表示 禁止编译快照,这样会使得V8的处理速度会减慢,一般建议带上ON
因此我们在编译V8的时候可以使用以下命令:
make native mode =release component_shared_librarysnapshot=on
(如果需要并行编译可以加速-j8)
生成后默认情况下 我们可以在out/native/lib.target下找到生成的共享库文件libv8.so
这里只是简单的说明下编译V8 的过程,其实V8项目的wiki说的更加详细,可以在https://code.google.com/p/v8/wiki/BuildingWithGYP中学习。
FIGHTING sixi
- google_v8学习笔记:NO1 环境搭建以及代码获取
- google_v8学习笔记:NO2 第一个代码Hello_word
- android学习笔记之环境搭建以及源码获取和编译
- SDL2学习笔记1-环境搭建以及Hello SDL
- Mybatis学习笔记一:环境搭建以及简单使用
- [学习笔记]Java SE环境搭建及代码规范
- php 源码 环境搭建以及源码获取
- struts学习笔记-----环境搭建
- android学习笔记--环境搭建
- python 学习笔记 -- 环境搭建
- NDK环境搭建学习笔记
- LAMP环境搭建--学习笔记
- Android学习笔记--环境搭建
- Python学习笔记-环境搭建
- NaCl学习笔记: 环境搭建
- grunt搭建环境学习笔记
- React 环境搭建(学习笔记)
- Spring学习笔记 搭建环境
- 软工视频--软件管理
- struts2学习
- Error code -20 when initializing native AudioRecord object.
- 英雄会上的一些题
- 微软的PHP连接SQL Server数据库 (Microsoft Drivers for PHP for SQL Server )
- google_v8学习笔记:NO1 环境搭建以及代码获取
- 我的编程学习日志(11)--数组反序的方法
- 【华为OJ】统计字符个数
- 解决Ubuntu不显示菜单栏、侧边栏问题
- 让Qt应用程序只运行一个实例
- ubuntu 12.04安装与配置
- linux下安装Firefox
- 《滁州西涧》 韦应物
- Windows核心编程笔记——字符和字符串处理