最近用C++调用JS,用到了谷歌的V8引擎;
但是使用方面可能有问题,不能在一个方法里初始化V8引擎和加载JS函数,另一个方法里直接调用JS函数;
是类似C11的Scoped_lock的功能引起的,即在大括号里加了Scoped_lock的变量,出了大括号会被销毁;
但是不加不行,不加V8的初始化会报错,加了,就必须把初始化和函数调用写到一个方法里,初始化实在太慢了,大约要3秒才能初始化成功;
而我需要1秒调用几十次JS函数,所以,必须把把 V8的初始化加载JS源码 与 调用JS函数 分成2个方法;
搞成一个工具类,类的构造方法功能:V8的初始化和加载JS源码;
普通方法callJsFun()功能:调用JS函数的方法;
代码如下图:
开发工具:VS2012;
lib下载地址:链接:http://pan.baidu.com/s/1mg7dTkW 密码:qesa
我调用V8的案例下载地址:链接:链接:http://pan.baidu.com/s/1o6DLyp8 密码:r5bb