在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
原创作品,请注明出处转载CSDN:http://blog.csdn.net/relar/article/details/38084689 开发游戏server往往有“热更新”的需求,就是在不停止服务程序的情况下。对服务程序进行升级。 这里採用lua脚本桥接C++的模式。程序主框架用C++,程序的业务逻辑也是C++(详细的是C++写的DLL),这两者之间用LUA脚本语言进行桥接。当程序执行时,仅仅要改变LUA脚本,即能够选择使用不同的DLL。以实现业务逻辑的升级更新。 上演示代码,代码分为三部分,第一部分是主程序: //本例演示了lua调用DLL #include "stdafx.h" #include <stdio.h> #include <string.h> #include <malloc.h> #include <conio.h> #include "include\lua.hpp" int _tmain(int argc, _TCHAR* argv[]) { int global_var1 = 0; printf("这个程序演示Lua调用C++的Dll:\n"); lua_State *pLuaState = luaL_newstate(); //也能够用lua_open(); luaL_openlibs(pLuaState); if (luaL_dofile(pLuaState, "main2.lua"))// 载入脚本文件 { printf("dofile error.\n"); } _getch(); if (luaL_dofile(pLuaState, "main2.lua"))// 第二次载入脚本文件 { printf("dofile error.\n"); } _getch(); lua_close(pLuaState); return 0; } 第二部分是DLL。我的project名称是Func1,编译出来的自然是Func1.dll
|
请发表评论