Googlev8学习笔记GoogleJavascript脚本引擎v8学习笔记pansunyou@gmail.com2010.11.14于遵义V0.1目录一、Googlev8整体印象.........................................................................................................21.1Googlev8是什么,能做什么?.........................................................................................21.2Googlev8的获取及编译................................................................................................21.2.1获取源码.................................................................................................................21.2.2编译类库及示例......................................................................................................3二、Googlev8入门.................................................................................................................32.1v8的基本概念................................................................................................................32.2从HelloWorld开始........................................................................................................52.3在C++中访问Javascript的变量及函数.........................................................................52.4在Javascript中访问C++全局函数及变量.....................................................................92.5在C++中“声明”“Javascript类”,供Javascript实例化.........................................152.6封装完整的C++类到Javascript中,供Javascript实例化..........................................16三、Googlev8的开源应用...................................................................................................163.1Node.js..........................................................................................................................163.2v8cgi..............................................................................................................................17四、参考资料........................................................................................................................17五、本文源码........................................................................................................................181/19Googlev8学习笔记一、Googlev8整体印象1.1Googlev8是什么,能做什么?v8是一款Javascript脚本引擎,它开放源代码,由Google丹麦开发,是GoogleChrome的一部分。和其它脚本语言(php,lua,python等)一样,Javascript也可以内嵌于应用程序,和编译性语言(c/c++等)交互。由于v8是用C++写的,所以在C++中使用javascript显得更加的自然。通过在应用程序中引入脚本解析器,将一些业务逻辑交由脚本实现,可以使得系统更加灵活。C/C++的高效,Javascript的灵巧多变,使得我们的应用程序可以兼顾性能和效率。说得再具体直白一点,就是我们可以通过编写javascript脚本来操作C++提供的类,可以编写javascript函数供C++调用。像下面这样写javascript一定非常爽吧?varsocket=newSocket(Socket.PF_INET,Socket.SOCK_STREAM,Socket.IPPROTO_TCP);socket.setOption(Socket.SO_REUSEADDR,true);varconn=socket.connect("www.cppblog.com",80);if(conn){varhttpHeader="GET/pansunyouHTTP/1.1\r\nHost:www.cppblog.com\r\n\r\n";socket.send(httpHeader);varresponseText=socket.receive(12000);printf("responseText="+responseText+"\n\n");}socket.close();至于其性能,好吧,算我迷信,Google出品一定差不到哪里去。再是我也未完全明白它的原理,就不抄网上的文字了,可以本文的参考资料看到相关的介绍文档。1.2Googlev8的获取及编译1.2.1获取源码Googlev8以源码的形式提供...