脚本 lua,lua脚本使用教程
文章目录方法一创建VS dll项目左上臂脚本垃圾箱查看导出函数效果方法一创建VS dll项目#ifndef CPP_DLL_API_H
#定义CPP_DLL_API_H
#ifdef __cplusplus
#define EXTERN_C extern C
#否则
#define EXTERN_C extern C
#endif
#ifndef EXPORT_API
# define EXPORT _ API EXTERN _ C _ _ declspec(dll导出)
#否则
# define EXPORT _ API EXTERN _ C _ _ declspec(dllimport)
#endif
# endif # include CPP _ dll _ lib _ API。 h
外部C{
#包含lua.h
#包含劳克斯利布
#包含标准视频
#包含标准库
#包含标准数据
#包含lualib.h
#包含数学。h
}
#包含Windows.h
EXPORT_API int Add(lua_State *L){
int param _ count=Lua _ gettop(L);
if (param_count!=2) {
Lua _ push nil(L);
lua_pushstring(L, show messagebox:param num error );
return 2;
}
int arg1=luaL_checknumber(L,1);
int arg2=luaL_checknumber(L,2);
lua_pushnumber(L,arg 1 arg 2);
返回1;
}
EXPORT _ API int show messagebox(Lua _ State * L)
{
int param _ count=Lua _ gettop(L);
if (param_count!=2) {
Lua _ push nil(L);
lua_pushstring(L, show messagebox:param num error );
return 2;
}
const char * sTitle=luaL _ checkstring(L,1);
const char * sText=luaL _ checkstring(L,2);
if(sTitle==NULL strlen(sTitle)==0 sText==NULL strlen(sText)==0){
Lua _ push nil(L);
lua_pushstring(L, show messagebox:param error );
return 2;
}
int ret=MessageBoxA(NULL,sTitle,sText,0);
lua_pushnumber(L,ret);
返回1;
}Lua脚本将动态链接库放到lua/clib中
本地pf=包。loadlib( CPP _ dll _ lib。dll , ShowMessageBox )
打印(pf)
pf(你好,再次)垃圾箱查看导出函数dumpbin.exe/出口. dll \ CPP _ dll _ lib . dll
垃圾箱在(不同版本相对不同路径我这里是vs2013的)
c:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ VC \ bin
效果
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。