English 中文(简体)
C. 选择卢阿变量
原标题:Manipulating Lua variables from C
  • 时间:2012-05-17 19:04:39
  •  标签:
  • lua
  • inline

我正试图修改C的Lua变量。 我将卢阿用户数据传送到C级功能中,C级功能则使用这些数据并加以修改。 我希望这些价值观也在卢阿发生改变。 我的法典

Lua -

 t = require  coroutines 
 function foo()
      bar = 0
      foo1 = t.colorHistogram(bar)
      print(bar)
 end

C-

Here I do not know what to put. I read up how the two exchange data. Lua creates a stack that it pushes the arguments into and C accesses those args using the lua_Object. So

 int foo = lua_tonumber(L,1);
 foo = 5;

最初的 f为0,将其定为5。 然而,卢阿的印刷说明仍然显示价值为0,因为卢阿的变式“禁运”储存起来正在改变。 我想知道,是否有办法改变记忆。 我也尝试用修改后的价值取代有关 st的数据。 这也不可行。

感谢任何帮助。 谢谢。

EDIT**

在我的原始问题中,我对我说不很清楚。 我尝试了 s。 任何途径,我会做得更好——

我基本上想做的是,对C行文具有价值,C修改了这一价值,并且能够读到Lua的修改。 我对改变这一特定记忆地点或变数不感兴趣。 只要我能读一下C在卢阿修改的价值,我将这样做。

 foo1, bar = t.colorHistogram(bar) 

由于“t”是一种卢阿功能,肤色是卢阿功能中的线C功能,因此不会奏效。 如果我把酒吧转至 t科,我需要卢阿功能“t”能够返回酒吧,这意味着我需要卢阿功能“t”改为经修改的酒吧。 这是我不敢肯定的。 感谢您的回复。 END EDIT

最佳回答

变数不转至职能; 数值改为职能。 编号0为数值。 <代码>当地条码=0;t.colorHistogram(bar);在功能上与t.colorHistogram(0)没有区别。

我们不能在卢阿职能范围内操纵参数变数的内容,因为卢阿职能不是通过变量。 他们通过了变量的contents

请注意,它是否具有C功能或Lua功能,这只是卢阿参数如何通过运作。 参数是投入 只限<>>>;如果你想要修改“可变”的,则该参数要么必须是全球产出,要么是呼吁者储存到这一变量中的产出:

bar = 0
foo1, bar = t.colorHistogram(bar)
问题回答

暂无回答




相关问题
Wrapping a Lua object for use in C++ with SWIG

Currently I know how to have C++ objects instantiated and passed around in Lua using SWIG bindings, what I need is the reverse. I am using Lua & C++ & SWIG. I have interfaces in C++ and ...

Can t lua_resume after async_wait?

I have some lua script that have some long running task like getting a web page so I make it yield then the C code handle get page job async, so the thread free to do other job and after a specify ...

How to remove a lua table entry by its key?

I have a lua table that I use as a hashmap, ie with string keys : local map = { foo = 1, bar = 2 } I would like to "pop" an element of this table identified by its key. There is a table.remove() ...

Lua plain string.gsub

I ve hit s small block with string parsing. I have a string like: footage/down/temp/cars_[100]_upper/cars_[100]_upper.exr and I m having difficulty using gsub to delete a portion of the string. ...

why do i get "attempt to call global require (a nil value)"?

I have 3 lua files, Init.lua, FreeCamera.lua and Camera.lua , init.lua calls require "Core.Camera.FreeCamera" Free Camera: module(...) require "Core.Camera.Camera" local M = {} FreeCamera = M M ...