Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Cyianor Super JLI'ler

Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 27.08.2003, 09:42 Titel: lua |
|
|
Ich hätte mal eine Frage zu Lua 5. Wie kann ich die Funktion:
Code: | assert(loadstring(string))() |
ausführen, ich meine in welchem Header ist das deklariert in der Hilfe steht dazu nämlich nichts. |
|
Nach oben |
|
 |
Christian Rousselle Site Admin

Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 27.08.2003, 10:03 Titel: |
|
|
assert ist normalerweise in <assert.h> deklariert. Was loadstring ist kann ich nicht sagen.
Christian |
|
Nach oben |
|
 |
Hazel JLI MVP


Alter: 40 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 27.08.2003, 12:51 Titel: |
|
|
@Christian: Es geht ja nicht um C/C++ sondern um Lua. ;)
@Vision: Ich hab mich mit der Standardbibliothek von Lua noch nicht befasst. Was willst du mit dem Code denn bewirken(sprich: Was macht loadstring())? _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
 |
Cyianor Super JLI'ler

Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 27.08.2003, 13:12 Titel: |
|
|
string, also das was loadstring() machen soll ist das hier
Code: | const char* string = "a = 1+1\nprint(a)" |
später soll also auf dem Bildschirm
stehen. |
|
Nach oben |
|
 |
Hazel JLI MVP


Alter: 40 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 27.08.2003, 13:22 Titel: |
|
|
Wenn du const char* string = "a = 1+1\nprint(a)" ausführen willst, musst du nur folgendes machen:
Code: |
const char* string = "a = 1+1 print(a)"
lua_dostring(lua_state, string);
|
Wenn du loadstring() als Funktion in Lua zur Verfügung stellen willst, musst du folgendes machen:
Code: |
static int lua_loadstring(lua_State * L)
{
lua_dostring(L, "a = 1+1 print(a)");
return 0; // Anzahl der zurückgegebenen Werte
}
...
lua_register(L, "loadstring", lua_loadstring);
|
Zu den Rückgabewerten: In Lua können Funktionen beliebig viele Werte zurückgegeben werden und es können auch beliebig viele Parameter übergeben werden(Vorausgesetzt der Stack ist groß genug ;))
[Nachtrag]
Wenn du mit assert() testen willst, ob die Funktion geklappt hat, musst du einen boolischen Wert zurückliefern(mit dem entsprechendem Makro auf den Stack pushen und die Funktion mit return 1 verlassen) _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
 |
Cyianor Super JLI'ler

Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 27.08.2003, 16:57 Titel: |
|
|
lua_dostring() gibt es in der Version 5 doch nicht mehr. |
|
Nach oben |
|
 |
Cyianor Super JLI'ler

Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 27.08.2003, 16:58 Titel: |
|
|
achso, gibt doch noch, hab ausprobiert, jetzt geht es.
thx |
|
Nach oben |
|
 |
Cyianor Super JLI'ler

Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 27.08.2003, 17:30 Titel: |
|
|
Ich hab jetzt mal den Source compiliert, aber ich krieg da nur ne dll, aber keine lib. |
|
Nach oben |
|
 |
Hazel JLI MVP


Alter: 40 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 27.08.2003, 18:57 Titel: |
|
|
Dann erstell dir ein Projekt für statische Bibliotheken, füge den Quellcode zum Projekt hinzu und kompilier nochmal. ;) _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
 |
Cyianor Super JLI'ler

Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 28.08.2003, 11:24 Titel: |
|
|
Muss das ne statische sein oder geht auch ne dll, die mag ich nämlich lieber.
Ich versuchs aber trotzdem mal mit einer statischen. |
|
Nach oben |
|
 |
Cyianor Super JLI'ler

Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 28.08.2003, 11:31 Titel: |
|
|
Mit den statischen Bibliotheken funktioniert es jetzt einwandfrei.
thx |
|
Nach oben |
|
 |
Hazel JLI MVP


Alter: 40 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 28.08.2003, 14:47 Titel: |
|
|
Kein Problem.
Ich bin jetzt auch endlich weiter gekommen. Ich kann von C++ aus Coroutinen erschaffen und resumen. Experimente sind doch informativer als Tutorials. ;) _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
 |
Cyianor Super JLI'ler

Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 28.08.2003, 15:56 Titel: |
|
|
hmm, tja und die Lua installationsanleitung ist auch nicht gut. Zwar hab ich jetzt die 2 libs mit den Dateien kompiliert die in der Anleitung stehen, aber was da unter Interpreter und Compiler steht check ich nicht. Soll das heißen ich soll noch eine lib für den Compiler machen oder was???
Denn obwohl ich die libs eingebunden habe sagt er immer noch das
Code: | lua_close
lua_open
lua_dostring |
externe Verweise sind, die er nicht findet. |
|
Nach oben |
|
 |
Hazel JLI MVP


Alter: 40 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 28.08.2003, 17:29 Titel: |
|
|
Nein. Bei Lua ist ein Compiler und eine Konsole(Interpreter) bei. Das sind 2 eigenständige Programme, die man aber nicht unbedingt benötigt. _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
 |
Cyianor Super JLI'ler

Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 28.08.2003, 17:50 Titel: |
|
|
Aber wieso sagt er dann immer noch das er die drei Funktionen nicht in den libs findet??? |
|
Nach oben |
|
 |
|