google V8 process.cc示例 解析

google V8引擎的示例代码process.cc,核心类是JsHttpRequestProcessor。

 

    Initialize()函数完成以下功能:

    - 设置全局javascript日志函数log的C++实现(155行)

    - InstallMaps中将C++  map<string, string>的options(602行)和output(616行)作为js全局变量options(236行)和output(239行)

    - 编译和运行js脚本(175行)

    - 获取js Process函数的句柄(192行)。

 

    Process()函数具体处理请求:

    - 将C++的request对象转化为js对象(254行)

    - 调用js的Process函数(263行)。

 

    其他函数功能如下:

    - Wrap函数将C++对象转化为js对象,UnWrap从js对象中获取C++对象。

    - MapGet和MapSet用于拦截器(Interceptors)方式设置js ObjectTemplate。

    - GetPath等用于访问器(Accessors)方式设置js ObejctTemplate。

    - MakeXXXTemplate创建js ObjectTemplate,注意只需创建一次可反复实例化。

 

    其他的都是测试Stub,不再记录。

 

转载自http://blog.csdn.net/zlei12/archive/2009/04/03/4041640.aspx

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值