v8_embedding_test 《c++游戏服务器嵌入v8 js引擎胎教级教程》配套代码 !!! 注意:本示例库较老旧,正式生产使用,应到puerts官网取最新库代码: https://github.com/Tencent/puerts 测试环境:Ubuntu v8下载 下载puerts编译好的配套v8库 解压到v8_embedding_test目录 helloworld项目编译运行 cd helloworld mkdir build cd build cmake .. make ./helloworld puertstest项目编译运行 cd puertstest mkdir build cd build cmake .. make ./helloworld nodeaddon项目运行 cd nodeaddon npm install . node hello.js nodejstest项目运行 先编译libnode.so git clone [email protected]:nodejs/node.git cd node ./configure --shared make -j4 拷贝nodejstest到node目录,拷贝puertstest/puerts目录到node/nodejstest目录 cd nodejstest mkdir build cd build cmake .. make ./embedtest pesapitest 由于动态库加载仅实现了window版本(见([PesapiAddonLoad.cpp]pesapitest/pesapiv8impl/src/PesapiAddonLoad.cpp)),所以只能在window下运行 编译 cd pesapitest\pesv8app make_win64.bat cd pesapitest\pesaddon make_win64.bat 运行 cd pesapitest\pesv8app build64_v8\Release\helloworld.exe 输出 wrap by hand begin Inc1024 wrap by hand end Inc2048 说明 pesapitest\pesaddon是一个pesapi的扩展(动态库),理论上可以在任意实现了pesapi的环境运行,可以仅依赖于纯c的头文件pesapi.h以根据该头文件生成的pesapi_adpt.c文件。如果需要用c++模板绑定,则依赖puerts相关头文件。 pesv8app是个可执行程序,其嵌入了v8,并基于v8实现了pesapi(见[PesapiV8Impl.cpp]pesapitest/pesapiv8impl/src/PesapiV8Impl.cpp)) pesv8app通过pesapi_load_addon加载了dll,然后就可以通过loadCppType加载注册的类
chexiongsheng/v8_embedding_test
v8_embedding_test
《c++游戏服务器嵌入v8 js引擎胎教级教程》配套代码
!!! 注意:本示例库较老旧,正式生产使用,应到puerts官网取最新库代码: https://github.com/Tencent/puerts
测试环境:Ubuntu
v8下载
下载puerts编译好的配套v8库
解压到v8_embedding_test目录
helloworld项目编译运行
puertstest项目编译运行
nodeaddon项目运行
nodejstest项目运行
先编译libnode.so
拷贝nodejstest到node目录,拷贝puertstest/puerts目录到node/nodejstest目录
pesapitest
由于动态库加载仅实现了window版本(见([PesapiAddonLoad.cpp]pesapitest/pesapiv8impl/src/PesapiAddonLoad.cpp)),所以只能在window下运行
编译
运行
输出
说明
pesapitest\pesaddon是一个pesapi的扩展(动态库),理论上可以在任意实现了pesapi的环境运行,可以仅依赖于纯c的头文件pesapi.h以根据该头文件生成的pesapi_adpt.c文件。如果需要用c++模板绑定,则依赖puerts相关头文件。
pesv8app是个可执行程序,其嵌入了v8,并基于v8实现了pesapi(见[PesapiV8Impl.cpp]pesapitest/pesapiv8impl/src/PesapiV8Impl.cpp))
pesv8app通过pesapi_load_addon加载了dll,然后就可以通过loadCppType加载注册的类