2011-01-27 5 views
5

Mi trovo a dover utilizzare un contenitore tabella hash in un progetto C che include Lua. Mi chiedo se sia possibile utilizzare la tabella hash in Lua come contenitore generico. Ho guardato a ltable.h e tutte le funzioni richiedono uno stato Lua e sembrano legate all'ambiente Lua, quindi suppongo che questo non sia pratico se i dati devono essere indipendenti da Lua.E 'possibile/pratico usare il tavolo hash di Lua fuori da Lua?

risposta

5

È possibile e il modo più semplice è solo utilizzare l'API C ufficiale per Lua. Non c'è bisogno di scavare nelle viscere di ltable.h.

0

È possibile utilizzare luabind o luabridge per specificare in che modo un hash C++ (ad esempio la mappa di stl) verrà rappresentato in Lua; allora sarai in grado di passarlo al motore Lua. Nota che qualsiasi utilizzo di Lua richiederà di passare lo stato di Lua, nessuna fuga qui.

+0

L'origine in questione è pura c non C++, quindi non STL altrimenti lo userei semplicemente –

+0

Ok, utilizzare quindi l'API lua. Scusate. –