本文主要是介绍VS2012调用V8的Scoped_Lock问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近用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
这篇关于VS2012调用V8的Scoped_Lock问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!