草庐IT

lua_open

全部标签

c++ - 如何将Lua变量直接映射到C++变量?

我正在使用C++开发一个游戏引擎,使用Lua来定义NPC。我可以这样定义一个原型(prototype)NPC:orc={name="GenericOrc",health=100}functionorc:onIdle()print("Orcidles...")end然后使用entitySpawn(orc)生成一个“Orc”实例。这是一个C++函数,它从给定的表中读取健康和名称等值,用给定的值在C++中创建一个实体对象,此外还为特定的NPC创建一个Lua表。现在,我想直接连接Lua中的orc.health变量和C++中对应的Entity对象的mHealth成员变量,所以我可以在Lua中分配

c++ - Lua & C++ API 获取执行信息

在Lua中,我有一个名为utils.debug()的函数,我想做的是在我的Lua代码中使用它,如下所示:functionFoo:doSomethingif(/*something*/)thenprint("Success!")elseutils.debug()endendfunctionFoo:doSomethingElseif(/*somethingelse*/)thenprint("Awesome!")elseutils.debug()endend我想在我的整个Lua代码中使用它来帮助我进行调试。因此,我希望我的C++代码知道utils.debug()在Lua代码中的何处被调用。我

c++ - 调试嵌入式 Lua 5.2.2 代码

如何调试嵌入在我的C++应用程序中的Lua5.2.2代码?我已经看过这个question并且其中提供的所有IDE都处理5.1及更低版本,当我尝试将它们与5.2.2一起使用时,它们会崩溃。 最佳答案 您应该能够使用ZeroBraneStudio调试您的应用程序通过关注instructionsforLua5.2debugging.请注意,您需要针对Lua5.2编译luasocket。(您看到的崩溃可能是因为您的应用程序加载了针对Lua5.1编译的luasocket,而后者又加载了Lua5.1DLL或无法找到所需的符号。)如果您不想编译l

c++ - Lua 绑定(bind)到 C++ 和垃圾回收

好的,这是我遇到的问题。我有一个渲染引擎的Lua绑定(bind),它有一个内部渲染管理器,它自己跟踪渲染场景的指针并管理它们。问题是,当我从Lua使用它时,如果我不保留对添加到C++渲染管理器的每个对象的Lua引用,它就会开始垃圾收集指针,当然会导致崩溃。我不是特别想保存对我创建的每一件东西的每一个引用。有没有办法强制Lua不对某些东西进行垃圾回收?有没有其他方法可以解决这个问题?我正在使用SWIG生成Lua绑定(bind)。 最佳答案 防止Lua对对象进行垃圾回收的一个简单方法是将该对象放入一个表中(称之为uncollection

open3d 定制可视化o3d.visualization.Visualizer

目录1.简单可视化2.改变视场角3.旋转视场4.法向量渲染5.键盘控制1.简单可视化importosimportopen3daso3dimportnumpyasnpimportmatplotlib.pyplotaspltpyexample_path=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))test_data_path=os.path.join(os.path.dirname(pyexample_path),'test_data')defcustom_draw_geometry(pcd):"""没有任何骚操作,单纯显示

c++ - Visual Studio 错误 : LNK1104: cannot open file 'kernel32.lib' - only in WP8 projects/Win32 builds

我最近遇到了这个问题(几天前一切正常):VisualStudio2012开始拒绝构建原生WP8项目。今天,我从模板“WindowsPhoneDirect3D应用程序(仅限native)”创建了新解决方案,以检查WP是否正确支持我新创建的DLL。我尝试编译这个项目,首先没有任何更改或额外的引用-VS生成的纯代码。但是,它因给定错误而失败。我很清楚这是什么意思,可能的原因是什么,但是我不明白,在这种情况下它是从哪里来的。奇怪的事情:这只发生在“Win32”配置中,ARM编译正常:1>------Buildstarted:Project:PhoneDirect3DApp,Configurat

Open3D官方文档学习笔记

Open3D官方文档学习笔记第一部分——点云1可视化点云2体素降采样3顶点法线评估4访问顶点法线补充:Numpy在Open3D中的应用5裁剪点云补充1:获取点云坐标补充2:[交互式可视化](http://www.open3d.org/docs/release/tutorial/visualization/interactive_visualization.html)补充3:[自定义可视化](http://www.open3d.org/docs/release/tutorial/visualization/customized_visualization.html#customized-visu

c++ - 微软 Visual Studio : How to keep the console open without manually reading input?

我正在使用MicrosoftVisualStudio2010Express编写一些C++,我想知道是否有一种方法可以在IDE的某处显示命令输出而不是外部控制台窗口,或者至少让该窗口保持打开状态。从STDIN读取内容适用于控制台应用程序,但这是一个单元测试用例,我不想修改生成的主函数。还有别的办法吗? 最佳答案 Ctrl+F5用于快速测试。组合键使控制台保持打开状态,直到您将其关闭。 关于c++-微软VisualStudio:Howtokeeptheconsoleopenwithoutma

C++加密和解密Lua文件

我有一个用C++编写的程序(一个小游戏),它从Lua文件(它们基本上是程序的模块)获取配置。例如,程序从Lua文件中获取其名称、版本、允许和不允许执行的操作以及播放器可以执行的操作。问题是当我开始将这个小游戏分发给几个人时,他们可以配置我不想发生的Lua文件,所以我想过加密它们然后在程序启动时解密它们但我无法理解如何以何种方式真正做到这一点。总而言之,这是否像我想象的那样是一项相当简单的任务?我的看法是这样的:用某个程序以某种加密方式对lua文件进行加密。将C++代码写入程序,首先解密Lua文件,然后开始读取它们。这个概念正确吗?加密本身可以尽可能弱,只要它有效。

c++ - lua_open 使用 luaJIT 返回 null

使用最近的luaJITlua_open返回null。常规lua库不会发生这种情况。lua_State*L=lua_open();std::cout输出:0x0如何让luaJIT工作?中南合作:#include#include//linkedlibrary:libluajit-5.1.aintmain(intargc,constchar*argv[]){lua_State*L=luaL_newstate();//lua_open();std::cout附加信息:使用make和makeinstall从源代码构建在OSX10.9上(尝试了2.0.2和git)。使用编译器:$cc--versi