标签: lua

什么是嵌入式系统的优秀C内存分配器?

我有一个单线程的嵌入式应用程序,可以分配和释放大量的小块(32-64b).基于缓存的分配器的完美方案.虽然我可以尝试写一个,但这可能是浪费时间,而不是像一些已经在前线的解决方案那样经过测试和调整.

那么我可以用于这种情况的最佳分配器是什么?

注意:我在系统中使用Lua虚拟机(这是80%以上的分配的罪魁祸首),所以我不能轻易地重构我的代码以使用堆栈分配来提高分配性能.

c embedded malloc lua allocation

21
推荐指数
5
解决办法
6110
查看次数

如何将十六进制数字的字符串转换为它在Lua中表示的值

我正在阅读很多十六进制数据行.它们以字符串形式出现,我将它们解析为line_codes,告诉我如何处理其余数据.一行设置地址的最重要字(MSW),另一行设置最低有效字(LSW).

然后我需要将它们连接在一起,这样如果MSW ="00ff"并且LSW ="f10a"地址将是00fff10a.

这一切都很好,但后来我应该检查地址是否在某组值之间:

if address <= "007FFFh" and address >= "000200h" then
    print "I'm in"
end
Run Code Online (Sandbox Code Playgroud)

大家都知道,Lua并不喜欢这个,因为它使用<=和>=使用字符串时会出错.

如果有一种方法我可以将字符串转换为十六进制,这样"FFFF"将变为0xFFFF?

string lua hex

21
推荐指数
1
解决办法
3万
查看次数

在Lua中,处理包含nil的varargs的正确方法是什么?

我正在尝试创建一个调试打印函数,它将文件句柄作为第一个参数.首先,我写一个这样的函数:

function fprint (f, ...)
   for i, v in ipairs{...} do
      f:write(tostring(v))
      f:write("\t")
   end
   f:write("\n")
end
Run Code Online (Sandbox Code Playgroud)

只要我不在nil参数中传递值,此函数就可以工作.但是,如果我用a调用nil它,它不会打印nil值和其余参数.

fprint(io.stderr, 1, 2, nil, 3)
=> prints only 1 and 2
Run Code Online (Sandbox Code Playgroud)

那么,解决这个问题的正确方法是什么?

lua

21
推荐指数
1
解决办法
9354
查看次数

可变数量的函数参数Lua 5.1

在我的Lua脚本中,我正在尝试使用可变数量的参数创建一个函数.据我所知它应该像下面这样工作,但不知怎的,我在TI-NSpire上得到了Lua 5.1的错误(全局arg是零).我究竟做错了什么?谢谢!

function equation:init(...)
    self.equation = arg[1]
    self.answers = {}
    self.pipe = {arg[1]}
    self.selected = 1

    -- Loop arguments to add answers.
    for i = 2, #arg do
        table.insert(self.answers, arg[i])
    end
end

instance = equation({"x^2+8=12", -4, 4})
Run Code Online (Sandbox Code Playgroud)

lua

21
推荐指数
2
解决办法
2万
查看次数

如何使用gdb从核心文件中获取lua堆栈跟踪

我有一个C++应用程序(用于OS X),它将lua称为脚本语言.我正在运行大量这些应用程序(100s),它们可以运行很长时间(几天或几周).

有时会崩溃.当它崩溃时,它留下了一个可爱的核心文件.

我可以在gdb中打开这个核心文件,找到应用程序崩溃的位置.我可以遍历调用堆栈并找到lua_State变量的实例.我的问题是,我想看看这个时候lua调用堆栈的样子......

请记住,由于这是一个核心,我无权调用C函数,它排除了几种调试lua脚本的常用方法.

我想避免通过调试钩子添加手动跟踪,因为我担心额外的性能损失,并增加了复杂性.

如何遍历lua内部结构以获取调用堆栈信息?

c++ lua gdb

21
推荐指数
3
解决办法
3600
查看次数

南希(C#):如何获取我的帖子数据?

我正在使用Corona SDK将数据发布到我的C#服务器:

headers["Content-Type"] = "application/x-www-form-urlencoded"
headers["Accept-Language"] = "en-US"

local body = "color=red&size=small"

local params = {}
params.headers = headers
params.body = body

network.request( host .. "/UpdateHand", "POST", nwListener, params )
Run Code Online (Sandbox Code Playgroud)

我在服务器上收到一条消息:

  Post["/UpdateHand"] = x =>
        {
            Console.WriteLine("Received ...");
            return "Ok";
        };
Run Code Online (Sandbox Code Playgroud)

但是当我检查数据时(当我在其上放置一个断点)时,我看不到我的数据所在的位置(即params.body或params.headers).我该如何提取这些信息?

我应该根据Corona上的文档正确发布它:http://docs.coronalabs.com/daily/api/library/network/request.html

c# lua coronasdk nancy

21
推荐指数
3
解决办法
2万
查看次数

Vim和lua的问题?

我在我的终端上安装了yadr,但是当我打开Vim时,我一直收到以下错误:

neocomplete does not work this version of Vim.
It requires "if_lua" enabled Vim(7.3.885 or above).
Run Code Online (Sandbox Code Playgroud)

编辑:

  • 将Vim升级到版本7.4.493但仍然出现错误.
  • 运行OS X Yosemite

vim terminal lua github neocomplete

21
推荐指数
1
解决办法
8138
查看次数

我可以在lua中检查字符串是否相等?

只是一个直接的初学者问题,我正在为Garrys Mod编写Lua的东西,通过阅读维基和其他编码来学习.

if (self.Owner:SteamID( ) == "STEAM_0:1:44037488" ) then
Run Code Online (Sandbox Code Playgroud)

以上是我想要使用的代码,检查STEAM ID(我相信是一个字符串)是否等于我的确切字符串.

这可行吗?或者我还有另一种方法吗?

string comparison lua equals

21
推荐指数
3
解决办法
4万
查看次数

lua operator~ =是什么意思?

可能很简单,但我想知道〜=运算符在lua中是什么意思,就像在

if x ~= params then
Run Code Online (Sandbox Code Playgroud)

搜索但没有找到任何东西.

lua operators

21
推荐指数
3
解决办法
3万
查看次数

按Lua中的值关联排序表

我有一个key => value表我想在Lua中排序.键都是整数,但不是连续的(并且有意义).Lua唯一的排序函数似乎是table.sort,它将表视为简单数组,丢弃原始密钥及其与特定项的关联.相反,我基本上希望能够使用PHP的asort()功能.

是)我有的:

items = {
    [1004] = "foo",
    [1234] = "bar",
    [3188] = "baz",
    [7007] = "quux",
}
Run Code Online (Sandbox Code Playgroud)

排序操作后我想要的是:

items = {
    [1234] = "bar",
    [3188] = "baz",
    [1004] = "foo",
    [7007] = "quux",
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

编辑:根据答案,我将假设它只是我正在使用的特定嵌入式Lua解释器的一个奇怪的怪癖,但在我的所有测试中,pairs()总是按照它们被添加到的顺序返回表项桌子.(即上述两个声明将以不同方式迭代).

不幸的是,因为这不是正常的行为,看起来我无法得到我需要的东西; Lua没有内置的必要工具(当然),嵌入式环境对我来说太有限了.

不过,谢谢你的帮助!

sorting lua asort lua-table

20
推荐指数
3
解决办法
4万
查看次数

标签 统计

lua ×10

string ×2

allocation ×1

asort ×1

c ×1

c# ×1

c++ ×1

comparison ×1

coronasdk ×1

embedded ×1

equals ×1

gdb ×1

github ×1

hex ×1

lua-table ×1

malloc ×1

nancy ×1

neocomplete ×1

operators ×1

sorting ×1

terminal ×1

vim ×1