1
A
回答
5
您可以將此指針包裝到userdata中,並寫入存取器方法(複雜性:高)。更簡單的解決方案是將該數組轉換爲常規的Lua表。
size_t arr_size = 10;
int arr[10] = { 0 };
lua_getglobal(L, "testfunc");
lua_createtable(L, arr_size, 0);
for (size_t i = 0; i < arr_size; i++) {
lua_pushinteger(L, arr[i]);
lua_rawseti(L, -2, i+1);
}
// the table is at top of stack
lua_call(L, 1, 0); // call testfunc(t)
3
Lua中沒有陣列的概念作爲從C.
返回一個C-指針到Lua通常在不透明userdata
對象的形式完成的,其然後依次被傳遞已知額外地暴露功能來檢索具體的數據:
local array = your_function_returning_a_pointer();
assert(type(array) == "userdata");
local index = 1;
local obj = get_object_from_array(array, index);
或者,暴露到Lua一個函數,返回對象的一個表:
local objects = your_function_now_returning_a_table();
assert(type(objects) == "table");
local index = 1;
local obj = objects[1];
相關問題
- 1. C++:訪問指針
- 2. 我們如何訪問C#中C指針指向的值?
- 3. 如何將C++指針導出到lua?
- 4. 如何從Fortran訪問C指針?
- 5. 是否可以使用c指針訪問Lua表元素?
- 6. 指針訪問衝突? - C++
- 7. C#ReadProcessMemory - 訪問/讀指針
- 8. 訪問指向矢量的指針C++
- 9. C中共享庫的訪問指針
- 10. 如何訪問iOS中的指南針?
- 11. 如何訪問指向id對象的指針的指針?
- 12. 如何訪問C中的結構內的指針成員?
- 13. 訪問指針
- 14. 訪問2d數組與指針在c + +中,如何分配地址指針?
- 15. 二維數組和C中的指針 - 如何訪問元素?
- 16. 如何訪問C++類模板中成員參數的指針?
- 17. 詢問C指針和訪問內存#
- 18. Lua/LuaInterface - 如何訪問C#屬性?
- 19. Lua C API推送現有的指針
- 20. C指針指針問題
- 21. 訪問C++的矢量指針元素
- 22. 無法訪問指針的值C++
- 23. 的指針訪問指針工會
- 24. 如何訪問類的指針成員
- 25. 雙星指針指向數組的指針;我如何訪問數組的指針? C++
- 26. 如何在C#中做「指針指針」?
- 27. 從C++中訪問表中的Lua表
- 28. 一個類中C++訪問浮動指針 - >訪問衝突
- 29. C++中的指針問題
- 30. 空指針訪問