Forum » Programiranje » [C++] C funkcija pri razredu
[C++] C funkcija pri razredu
techfreak :) ::
Pozdrav,
imam manjšo težavo pri C++ za katero nimam ideje kako bi rešil.
lua_register sprejme C funkcijo v obliki: int (*)(lua_State*). Pri klicu luaL_dofile se izvede ime_funkcije.
Zanima me, kako bi lahko poslal niz niz iz ime_funkcije v Funkcija ob klicu luaL_dofile?
V tem primeru sem uspel rešiti z uporabo statičnega stringa, vendar me zanima kako takšno stvar rešiti v primeru uporabe niti?
imam manjšo težavo pri C++ za katero nimam ideje kako bi rešil.
int ime_funkcije(lua_State* lua_state) { ... std::string niz; ... } class Razred { lua_State* lua_state; public: Razred() { ... lua_register(lua_state, "ime", ime_funkcije); ... } std::string Funkcija(const char* datoteka) { std::string niz; luaL_dofile(lua_state, datoteka); return niz; } }
lua_register sprejme C funkcijo v obliki: int (*)(lua_State*). Pri klicu luaL_dofile se izvede ime_funkcije.
Zanima me, kako bi lahko poslal niz niz iz ime_funkcije v Funkcija ob klicu luaL_dofile?
V tem primeru sem uspel rešiti z uporabo statičnega stringa, vendar me zanima kako takšno stvar rešiti v primeru uporabe niti?
Senitel ::
Kaj hočeš sploh s tem dosečt? Saj imaš lua_pushstring in lahko daš na state poljuben string.
Če že res hočeš to naredit je pa najbolje, da prestaviš to funkcijo v ta tvoj razred in dodaš zraven še en map kjer ej recimo lua_state ključ this value. Potem lahko v funkciji dobiš instanco razreda glede na lua_state (ugibam, da dobiš istega). Ampak vprašanje je še zmer: zakaj?
Če že res hočeš to naredit je pa najbolje, da prestaviš to funkcijo v ta tvoj razred in dodaš zraven še en map kjer ej recimo lua_state ključ this value. Potem lahko v funkciji dobiš instanco razreda glede na lua_state (ugibam, da dobiš istega). Ampak vprašanje je še zmer: zakaj?
techfreak :) ::
Sicer je vprašanje bilo bolj splošno, ker ni prvič da sem prišel na takšen primer.
Pri tem primeru pa imam recimo lua skripto, ki po obdelavi izpiše več stvari s print, npr.:
print("a")
print("b")
print("c")
ime_funkcije je povezan s print in prejme "a", "b" in "c", ki jih želim potem skupaj sestaviti in returnat iz funkcije Funkcija.
Načeloma gre v mojem primeru da prejmem HTTP request, glede na URL izberem izbrano Lua skripto, ki obdela query stringe in sestavi HTML, doda header in footer in vse skupaj izpišem nazaj na socket.
Pri tem primeru pa imam recimo lua skripto, ki po obdelavi izpiše več stvari s print, npr.:
print("a")
print("b")
print("c")
ime_funkcije je povezan s print in prejme "a", "b" in "c", ki jih želim potem skupaj sestaviti in returnat iz funkcije Funkcija.
Načeloma gre v mojem primeru da prejmem HTTP request, glede na URL izberem izbrano Lua skripto, ki obdela query stringe in sestavi HTML, doda header in footer in vse skupaj izpišem nazaj na socket.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [Alternatvni Firmware za router] Vprašanja in težaveOddelek: Operacijski sistemi | 1560 (830) | BivšiUser2 |
» | Ali obstaja možnost ?Oddelek: Pomoč in nasveti | 1597 (963) | mojca |
» | PHP ProgramiranjeOddelek: Izdelava spletišč | 1596 (1235) | Eyghon |
» | Ms access neke vrste auto numberOddelek: Programiranje | 1536 (1329) | Fim |
⊘ | php problem!!!Oddelek: Programiranje | 1666 (1246) | darh |