最近在学习LUA,看到云风大大很多年前的一个lua调用windowsAPI的代码,于是想拿来运行一下,等运行了再仔细看代码,然而这一调就是几个小时。
开始的尝试
一开始想着直接复制粘贴就完事了,后来发现DLL竟然导出失败,提示未找到的XXX文件,原来是没有配置对项目,不仅仅要区分DEBIG/RELEASE,还要设置对应的平台(x86=32bit,x64=64bit)
导出dll后让LUA require(“windows”)发现lua报错(我用的是VSCode里面的插件LUA)
报错内容:“error loading module”
然后仔细查找了require的命名规则,以及lua的c连接器的package.cpath,以及函数的命名规则 luaopen_XXX,发现都没有问题,这个时候我觉得可能是vscode的插件的解释器的版本和我自己编译时使用的LIB静态库版本不同 ,所以我就用同一个LUA静态库来执行(用c来调用脚本然后脚本调用我写的dll)这样的话环境肯定是一致的
ps:(lua