google v8 实战 -- 构建v8

来源:互联网 发布:a星算法八皇后问题 编辑:程序博客网 时间:2024/04/29 18:56

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了。。

原创粉丝点击