JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

lua
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 27.08.2003, 09:42    Titel: lua Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 27.08.2003, 10:03    Titel: Antworten mit Zitat

assert ist normalerweise in <assert.h> deklariert. Was loadstring ist kann ich nicht sagen.

Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 27.08.2003, 12:51    Titel: Antworten mit Zitat

@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
Benutzer-Profile anzeigen Private Nachricht senden
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 27.08.2003, 13:12    Titel: Antworten mit Zitat

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

Code:
2


stehen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 27.08.2003, 13:22    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 27.08.2003, 16:57    Titel: Antworten mit Zitat

lua_dostring() gibt es in der Version 5 doch nicht mehr.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 27.08.2003, 16:58    Titel: Antworten mit Zitat

achso, gibt doch noch, hab ausprobiert, jetzt geht es.

thx
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 27.08.2003, 17:30    Titel: Antworten mit Zitat

Ich hab jetzt mal den Source compiliert, aber ich krieg da nur ne dll, aber keine lib.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 27.08.2003, 18:57    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 28.08.2003, 11:24    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 28.08.2003, 11:31    Titel: Antworten mit Zitat

Mit den statischen Bibliotheken funktioniert es jetzt einwandfrei.

thx
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 28.08.2003, 14:47    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 28.08.2003, 15:56    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 28.08.2003, 17:29    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 28.08.2003, 17:50    Titel: Antworten mit Zitat

Aber wieso sagt er dann immer noch das er die drei Funktionen nicht in den libs findet???
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum