
lua
h799710
这个作者很懒,什么都没留下…
展开
-
lua语言的左对齐函数(手写)
lua的制表符还是不够强大,当某一行特别大的时候,后面就全乱套了。这语言又不像python一样有这丰富的库可以调用。没办法,手写一个吧。原创 2022-07-19 19:36:22 · 402 阅读 · 0 评论 -
c++ 与lua交互报错:error object is not a string
显而易见:就是说你lua_tostring()获得的对象不是字符串;搜索源码可知这句报错出现在 lua.c 的 report() 函数中,函数原型如下:static int report (lua_State *L, int status) { if (status && !lua_isnil(L, -1)) { const char *msg = lua_tostring(L, -1); if (msg == NULL) msg = "(error object原创 2022-01-13 13:19:43 · 402 阅读 · 0 评论 -
lua 调用c++ dll 报错:multiple Lua VMs detected
网上说的原因是:重复加载lib 或者dll文件,导致虚拟机多开。但是经过我的多次测试,和网上答案的搜索。始终不得其解。。最后想到了一个很简单的方法,换版本!!!只要是lua5.4.x的版本就不会报错。吐槽:至于为啥报错了,目测和版本支持的函数有关,当然也不排除项目配置有问题【但是经过多次测试确实没发现问题】。夜已深,先到这了,没必要太折腾,能用就行,等后面用多了也就知道啥问题了。...原创 2022-01-12 03:04:47 · 561 阅读 · 0 评论 -
lua 中 os.time() 返回 nil 的情况
原因:os.time() = 0 是,所代表的时间是 1970年1月1日8点0分0秒;。如果 os.time(table2)中的table2 代表的值小于 起始点,那么会返回 nil案例:local createTime = 0local createRole0am = os.date("*t", createTime)createRole0am.hour = 0createRole0am.min = 0createRole0am.sec = 0createRole0am = os.tim原创 2022-01-11 16:41:52 · 665 阅读 · 0 评论 -
vs 2022 生成c++ dll, lua调用
前提:需要下载lua源代码,并且获取 lua.lib文件有些lua的源代码已经编译过了,附带lib文件,可直接用;如果没有,可以看这篇文章:静态库编译一、dll 项目创建及项目属性设置查看我的另一篇文章,创建及属性设置都一样。vs2022编译c 动态库,以及调用二、c++ dll 代码这里生成一个可以获取随机数的dll#include<Windows.h>#include "lua.hpp"#include<iostream>#include<time.原创 2022-01-11 11:53:33 · 2797 阅读 · 1 评论 -
lua 调用c++ dll, 提示:%1 不是有效的 Win32 应用程序。
lua 调用c++ dll, 提示:lua: error loading module ‘cppdll2’ from file ‘.\cppdll2.dll’:%1 不是有效的 Win32 应用程序。出现原因:1.lua版本错误比如你用生成dll用的lua源文件和lib 是 lua5.4的版本,但是调用lua用的是lua5.1,那绝对会报错;解决方法:重新生成 lib,dll 和 exe,用对应版本的exe执行lua代码。2.命名错误红框 1 和 3名字一定要相同!!!红框2 的 lua原创 2022-01-10 19:33:53 · 3801 阅读 · 1 评论 -
笔记:vs2022 c++调用lua
一、编译lua静态库可以看我的另一篇文章:笔记: vs2022 编译静态库二、编译c++文件(一)、创建项目创建一个控制台项目(c/c++)(二)、设置项目属性:1。创建 test.cpp 源文件2。配置属性->C/C++>预编译头->取消预编译3。配置属性->C/C+±>常规->包含附加目录 : 设置include目录【./h文件目录。别导入,没用。。】4。配置属性->C/C++>高级-> 编译为 c++代码5。配置属性->C原创 2022-01-08 01:23:38 · 1339 阅读 · 0 评论 -
c++ 调用lua getglobal() 返回值一直=0
1.先检查加载lua脚本是否成功2.再检查调用的全局变量是否在 lua脚本上。3.最后看是不是,没有运行文件:(只加载没运行)lua_State *L = luaL_newstate();// 只加载lua原创 2022-01-07 19:39:07 · 2743 阅读 · 0 评论 -
转载:Lua和C的交互说明(函数)
https://www.cnblogs.com/lancidie/archive/2011/06/02/2068774.html转载 2021-02-14 18:39:56 · 103 阅读 · 0 评论 -
c/c++ 和 lua 负数求余的区别
通用公式:这三种语言中,求余的公式都是如下:int y = a - floor(a / b) * b // 该式 等价 int y = a % b;区别:这三种语言的 floor 函数是不一样的,正数的时候看不出来,但是负数会导致 结果有差异。c/c++ 中,floor() 函数是 向0取整的:#include <stdio.h>#include <math.h>int main(){ int a = floor(7 / -3); printf("a=%原创 2021-01-21 15:32:37 · 328 阅读 · 0 评论