Wpis z mikrobloga

Mirki, możecie polecić jakiś "wraper" #lua dla #cpp ?
Zależy mi na:
-Odpalaniu funkcji z cpp w skrypcie .lua i vice versa
-Możliwości używania klas i obiektów z cpp
-Odpalaniu wielu skryptów w wielu wątkach

Miło by było gdyby obsługiwał też zwracanie std::vectorów i dodawanie nie tylko całych klas, ale też tylko i wyłącznie jednego obiektu danej klasy już utworzonego w cpp.

Próbowałem:
-Selene - nie ma możliwości odpalenia wielu skryptów
-luacppinterface - nie jestem przekonany do tych coroutine, wygląda na to, że taki sleep i tak zawiesi wszystkie skrypty.
#programowanie
  • 9
@darsto: A możesz powiedzieć coś o tych wątkach? Chciałbym po prostu aby dwa skrypty działały mniej więcej równolegle, ale z tego co tutaj widzę to można jedynie wywołać daną funkcje i to w nieco dziwny sposób
@morsisko: Nie patrz na jakieś coroutine, tylko wywołaj funkcję z lua w nowym wątku.
Tak jak masz w pierwszym przykładzie:

kaguya::LuaFunction f1 = state.loadfile("path/to/luascript.lua");//load file without execute
f1();//execute

to wywołaj po prostu f1() w nowym wątku, tyle razy ile chcesz
kaguya ma wbudowany garbage collector, sam wszystko zalatwi - to ma swoje plusy i minusy, wiadomo
@darsto: Tylko problem jest taki, że nie wiadomo ile user będzie chciał załadować tych skryptów, a z tego co czytałem to tworzenie wątków w już działającym programie nie jest najlepszym rozwiązaniem.
A i tak jeszcze zapytam, ładowanie kilku plików do jednego "state"(tak jak zrobiłeś to w przykładzie) jest dobrym pomysłem? :P
Tylko problem jest taki, że nie wiadomo ile user będzie chciał załadować tych skryptów, a z tego co czytałem to tworzenie wątków w już działającym programie nie jest najlepszym rozwiązaniem.


@morsisko: zarządzanie tym to już Twoja kwestia. w końcu piszesz w c++, a nie w javie. :-) a odnośnie tej polityki: to zależy

A i tak jeszcze zapytam, ładowanie kilku plików do jednego "state"(tak jak zrobiłeś to w przykładzie) jest dobrym