lua-userdata

    3熱度

    1回答

    Lua 5.2 我需要迭代userdata變量。 據我所知,我可以使用getmetatable和__pairs。像這樣: for k, v in getmetatable(userdataVariable).__pairs do -- someting end 但是當我試圖做到這一點時,我得到'試圖調用一個零值'。 我發現了一個__pairs實現此:what is actual i

    3熱度

    2回答

    如果我創建一個userdata對象並將它存儲在一個表中,那麼在C/C++中獲取對它的引用,該引用有效多長時間?只要用戶數據保存在Lua的表中,C/C++中的引用是否保證有效?或者是否存在Lua運行時會移動userdata對象的風險,從而導致C/C++引用無效? 下面是我在做什麼: // Initially, the stack contains a table class Foo { ... }

    0熱度

    3回答

    我正在使用SWIG將C++代碼綁定到Lua。到目前爲止它看起來不錯,但現在我需要「欺騙」並從Lua中擴展單個用戶數據,添加自定義字段和方法等。 我無法找到一種方法在SWIG指令中工作時完成它。我知道包裝代碼中魔術發生的地方,但我不完全理解__index和__newindex是如何工作的。此外,SWIG使用__setitem和__getitem,它被註釋爲「/ * NEW:查找__setitem()

    1熱度

    1回答

    我想包裝C計時器(而不是警報),並在lua中使用它,以一種方式,我可以指定一個回調函數在一秒鐘後觸發。 爲了使用多個定時器,一個定時器ID和回調將被存儲到一個表 ,但是當調用'lua_rawset'時發生了分段錯誤,所以我使用stack_dump 檢查lua堆棧,nil被'lua_rawget '在線66(lr_register_timer, ,由FIXME標記),這裏有什麼問題?對不起,我的英文

    1熱度

    1回答

    當我試圖解開這個表上的圖像調用,程序將返回錯誤「壞參數解包(表有望得到用戶數據)」 textures = {love.graphics.newImage("image.png"), love.graphics.newImage("image.png"), love.graphics.newImage("image.png"), love.graphics.new

    -4熱度

    1回答

    當我按「BTN」存儲器加載LUA表從80M上​​升到240M。 而我按'btn2'刪除對象(self.sprite)包含許多lua表,但內存沒有下降。 這段代碼有什麼問題?或者它是一個lua錯誤? 我用cocos2dx-3.8.1/xcode7/ios模擬器。 local MainScene = class("MainScene", cc.load("mvc").ViewBase) functi

    3熱度

    1回答

    以下示例僅用於演示問題/問題;在現實中,我有創建 並返回許多不同的userdata對象的功能,以及其中一些我可能想要調用Lua垃圾回收器的功能。 此外,我使用Lua版本5.3.3,同時在Windows和Linux上運行。爲簡單起見,未顯示錯誤處理。 我有一個C++類通過標準的userdata暴露給Lua,例如, Roberto Ierusalimschy撰寫的「Lua編程」。 我的問題是,我不知道

    4熱度

    1回答

    我在C中寫了一個用於Lua的userdata類型。它有一些數組類型的屬性和各種方法。現在,如果你是這種類型,我使用u:set(k,v) resp。 u:get(k)訪問數據和例如作爲方法使用u:sort()。爲此,我將__index設置爲包含這些方法的表格。現在如果我想使用u[k] = v或u[k]訪問數據,我需要設置__newindex和__index至set或get。但其他方法不再可訪問...

    4熱度

    2回答

    我想我在某處看到了一個可以返回新用戶數據的Lua本地函數。它存在嗎?是否有可能從正常的Lua腳本創建自定義的用戶數據?

    -1熱度

    1回答

    我正在使用luaglut,並且當我嘗試使用glReadPixels捕獲幀時,我無法爲其成功準備最後一個輸入參數。 這是我如何調用該函數: glReadPixels(0, 0, 250, 250, GL_RGB, GL_UNSIGNED_BYTE, img) 的img是我想要存儲的框架,但無論在哪種類型的我定義IMG,總是有誤差。編譯器總是希望lightuserdata,但我搜索了幾天,似乎沒有