草庐IT

lua_number

全部标签

windows - Windows的lua "stub"dll的用途是什么

我正在考虑将Lua合并到一个C++项目中,并且对来自Luabinaries的分发版中存在的两个二进制文件(lua51.dll和lua5.1.dll)感到有点困惑。.根据文档...InWindowsyourlibraryorapplicationmustbelinkedwithastublibrary.AstublibraryisalibrarywithonlythefunctiondeclarationsthatwillbindyourDLLwiththeLuaDLL.为什么?在与第三方DLL链接之前,我从来不需要stubDLL? 最佳答案

c++ - Windows 游戏 : UTF-8, UTF-16、DirectX 和 Lua

我正在为学习目的开发一个Windows游戏(我正在学习DirectX)。我希望它有UTF支持。Readingthisquestion我了解到windows使用的是wchar_t,也就是UTF-16。我希望我的游戏支持Lua脚本,并且Luadoesn'treallylikeUnicodemuch..它只是将字符串视为“字节流”;这对于UTF-8来说已经足够好了,但是UTF-16几乎不可能使用。长话短说:windows需要UTF-16,lua需要UTF-8。所以我想,让我们只使用带有普通char*和string的UTF-8!.length()会被搞砸,但谁在乎呢?但是它不起作用:const

c++ - 跨进程 COM 编码(marshal)拆收器 : reduce number of copies for large arrays

作为简化的案例:我需要通过现有的COM接口(interface)将VARIANT传输到另一个进程。我目前使用MIDL生成的编码器。实际传输是针对许多值的,是时间关键过程的一部分,并且可能涉及大字符串或safearray(几MB),因此复制的数量似乎是相关的。由于接收方需要“保留”函数调用之外的数据,因此编码(marshal)拆收器至少需要制作一份拷贝。然而,我能想到的所有签名都包括两份:SetValue([in]VARIANT)GetValue([out]VARIANT*)//calledbyreceiver在这两种情况下,根据我的理解,编码器制作了一个跨进程拷贝,但确实被编码器销毁了

windows - 重新打开关闭的文件 : Lua

我有一个名为backup.lua的文件,程序应该经常写入该文件以备份其状态,以防出现故障。问题是程序在第一轮完全没问题地写入backup.lua文件,但在其他任何时候它都拒绝写入该文件。我尝试在该程序仍处于打开状态时删除该文件,但Windows告诉我该文件正被“CrysisWarsDedicatedServer.exe”(即该程序)使用。我已经告诉宿主Lua函数关闭backup.lua文件,为什么它关闭后不让我随意修改呢?我在互联网上找不到任何东西(谷歌实际上试图纠正我的搜索)并且该项目的二级程序员也不知道。所以我想知道你们中是否有人知道我们在这里做错了什么?宿主函数代码:functi

c - lua5.2在windows中调用c dll

我的C代码如下:skype分析器.h#include"lua.h"#include"lualib.h"#include"lauxlib.h"#include"stdio.h"#include"stdlib.h"//dllexportfuncint_declspec(dllexport)luaopen_skypeAnalyzer(lua_State*L);skype分析器.c#include"skypeAnalyzer.h"#include#includeintrun(lua_State*L){printf("------->>>Hi!%s\n",lua_tostring(L,1));r

c - Lua 在加载 dll 扩展时崩溃

我正在尝试在Windows上创建一个Luadll扩展。我正在使用Lua5.3。我的编译器来自MinGW,是gcc4.9.3。我的dll扩展的C代码是这样的:#include#includestaticintdub(lua_State*L){constdoublea=lua_tonumber(L,1);lua_pushnumber(L,a*2);return1;}__declspec(dllexport)int__cdeclluaopen_mylib(lua_State*L){printf("One\n");lua_pushcfunction(L,dub);printf("Two\n")

windows - 为什么 LUA_PATH 包含一个爆炸 (!) 在 Windows 上损坏?

我有一个文件main.lua:require("hello")还有一个文件hello.lua在目录foobar!baz(包含!):module(...,package.seeall)print("hellofromhello.lua")当我(在Windows上)将环境变量LUA_PATH设置为目录时:setLUA_PATH="C:\Programme\Lua\5.1\foobar!baz\?.lua"我得到一个奇怪的错误:C:\Programme\Lua\5.1>luamain.lualua:main.lua:4:module'hello'notfound:nofieldpackage

c# - 如何在 C# 5.0 应用程序中嵌入 lua(或其他脚本语言)

首先,我想提前为我的英语申请。我的问题具体是关于在C#应用程序中我需要具备什么才能解释提供给所述应用程序的Lua脚本。Lua脚本必须能够访问用C#编写的类。在搜索堆栈溢出的答案后,我认为处理这个主题的问题已经过时(我认为在动态语言运行时成为.NETFramework的一部分之前就有人问过这些问题,我认为现在事情变得更简单了我们有DLR)。基本上,我想做的就是这个TypeThatExecutesLua.MethodToLoadLuaScript(script.lua);TypeThatExecutesLua.Execute();现在,假设我们不关心script.lua返回什么。但是在某些

c# - 防止 Lua 死循环

我使用lua接口(interface)在我的C#程序中获得lua支持,如果用户提交这样的代码,工作线程将卡住whiletruedoend我有一种方法可以检测无限循环是否正在运行,但我需要一种从工作线程退出DoString方法的好方法。有什么想法吗?编辑:@kikito,是的,我正在检测类似的东西。我遇到的问题是我找不到一种干净的方法来终止DoString方法,看起来Lua接口(interface)主类(Lua)有一些静态依赖性,因为如果我这样做lua.Close();在我的实例中,它会中止DoString方法,但下次我实例化一个lua类时newLua();它会崩溃,说一些关于保护内存的

c# - 如何将使用 ROW_NUMBER() 的查询转换为 linq?

我的表由三列组成(sno、name、age)。我正在使用额外的列(行号)从数据库中检索此表,我使用了以下代码:select*from(selectROW_NUMBER()over(orderbySNoasc)asrowindex,SNo,Name,AgefromtblExample)asexamplewhererowindexbetween((pageindex*10)+1)and((pageindex+1)*10)请注意,pageindex是一个变量,它接受用户传递的一些整数值。我的数据库是SqlServer2008。我想使用Linq编写相同的查询。我该怎么做?