草庐IT

lua_open

全部标签

c++ - 如何将 C++ 函数公开给 lua 脚本?

我刚刚成功创建了一个lua项目。(到目前为止运行lua脚本的简单代码。)但是我现在如何使一个c++函数和一个c++变量可用于lua脚本?举个例子:intAdd(intx,inty){returnx+y;}和floatmyFloatValue=6.0我是c++的新手,所以我真的希望它不会太复杂。这是我到目前为止得到的代码:#include"stdafx.h"extern"C"{#include"lua.h"#include"lualib.h"#include"lauxlib.h"}usingnamespaceSystem;intmain(array^args){lua_State*lua

c++ - ifstream::open 在 Visual Studio Debug模式下不工作

我已经遍历了SO上的ifstream问题,但我仍然无法阅读简单的文本文件。我正在使用VisualStudio2008。这是我的代码://CPPFileIO.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#include#include#include#includeusingnamespacestd;int_tmain(intargc,_TCHAR*argv[]){ifstreaminfile;infile.open("input.txt",ifstream::in);if(infile.is_

c++ - 在不执行脚本的情况下调用 Lua 函数

我正在将Lua嵌入到C/C++应用程序中。有没有办法在不先执行整个脚本的情况下从C/C++调用Lua函数?我试过这样做://callluascriptfromC/C++programluaL_loadfile(L,"hello.lua");//callluafunctionfromC/C++programlua_getglobal(L,"bar");lua_call(L,0,0);但它给了我这个:PANIC:unprotectederrorincalltoLuaAPI(attempttocallanilvalue)我只能在执行此操作时调用bar()://callluascriptfro

c++ - fatal error LNK1104 : cannot open file 'libboost_regex-vc90-mt-gd-1_42.lib'

我正在尝试在我的程序中使用boost正则表达式问题是我得到这个错误......我所做的唯一安装步骤是添加:“C:\ProgramFiles\boost\boost_1_42”进入附加包含目录...我正在使用VS2008...尝试实现这个:#include#include#includeusingnamespacestd;intmain(){std::strings,sre;boost::regexre;boost::cmatchmatches;while(true){cout>sre;if(sre=="quit"){break;}cout>s;try{//Assignmentandco

详细解决-error while loading shared libraries: libpcap.so.0.8: cannot open shared object file: No such

文章目录前言总结前言今天在Centos系统运行我的xray,发现报了这个错./xray:errorwhileloadingsharedlibraries:libpcap.so.0.8:cannotopensharedobjectfile:Nosuchfileordirectory也有一些小坑,特地记录一下,方便自己日后查看。提示:以下是本篇文章正文内容,下面方法成功解决首先正常给了执行权限,chmod777或者755都行。然后运行发现报错了。先直接yum安装libpcap-devel:yuminstalllibpcap-devel然后locate命令去查看,定位出/usr/lib64目录下的三

c++ - Open-CV - 加载不正确

我正在使用Ubuntu14.04并尝试编译此代码,但无论如何我都会遇到这些错误,我相信这与包含OpenCV库有关,但我不确定。谁能帮帮我?错误:main.cc:66:37:error:‘CV_RETR_EXTERNAL’wasnotdeclaredinthisscopemain.cc:66:55:error:‘CV_CHAIN_APPROX_NONE’wasnotdeclaredinthisscopemain.cc:81:28:error:‘CV_BGR2GRAY’wasnotdeclaredinthisscope代码(抱歉格式问题,我就是没弄对):#include#include#i

c++ - 在 C 中存储对 lua 函数的引用

我有一个用C++实现的基本事件处理程序。我的应用程序中也有一个嵌入式Lua解释器,我需要它与事件管理器进行交互。最终目标是能够拥有一个事件处理程序,该事件处理程序将在触发事件时同时执行C++和Lua函数。我的问题是我想不出一种简单的方法来在我的C++代码中存储对lua函数的引用。我知道如何从c执行Lua函数(使用lua_getglobal和lua_pcall),但我更愿意存储对函数本身的引用,以便我可以传递一个Lua直接作用于registerListener注意假设所有Lua监听器的userdata都为NULL是可以接受的。这是我的代码:事件管理器.h#include#include#

c++ - cpp :-1: error: C1041: cannot open program database; untitled-build-desktop-debug\vc120. pdb'

此问题的所有可用答案都是VisualStudio的解决方案。我在QT中面临这个问题。我运行了一个示例示例,但弹出此错误。有人可以帮忙吗。错误:C1041:无法打开程序数据库“c:\users\newfolder\untitled-build-desktop-debug\vc120.pdb”;如果多个CL.EXE写入同一个.PDB文件,请使用/FS 最佳答案 右击项目->属性->c/c++->输出文件:在程序数据库文件名中:包括项目名称和路径。(.../../../../release/ProjectName/)这种方法对我有用。

c++ - Visual Studio 2013 中的 Lua C API 堆栈可视化器/查看器

我想知道在调试使用VisualStudio2013中的LuaCAPI的C++应用程序时是否有某种方式可以跟踪Lua堆栈。我尝试了谷歌搜索,但除了一些堆栈转储函数外什么也没找到。这对我来说可能是一个选项,但类似于为调试C++代码(例如本地、内存和监window口)提供的工具的GUI可视化器/查看器会好得多。 最佳答案 编写自己的可视化工具相对容易。我借助以下链接和更多谷歌搜索为自定义类型实现了一个:http://code.msdn.microsoft.com/windowsdesktop/Writing-graphical-debug

c++ - shared_ptr 需要完整的类型;不能与 lua_State 一起使用*

我正在为Lua编写C++/OOP包装器。我的代码是:classLuaState{boost::shared_ptrL;LuaState():L(luaL_newstate(),LuaState::CustomDeleter){}}问题是lua_State是不完整的类型,而shared_ptr构造函数需要完整的类型。我需要安全的指针共享。(有趣的是,boost文档说大多数函数不需要完整类型,但构造函数需要,所以没有办法使用它。http://www.boost.org/doc/libs/1_42_0/libs/smart_ptr/smart_ptr.htm)我能解决这个问题吗?谢谢。