Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: tamat en 19 de Mayo de 2007, 09:07:19 PM

Título: LUA y llamadas a funciones internas desde C
Publicado por: tamat en 19 de Mayo de 2007, 09:07:19 PM
Trato de llamar desde C a una funcion definida en el script pero dice que no existe, sin embargo si la llamo desde el script no hay problema.

el script es el siguiente:

function saluda()
io.write("HOLAAA\n")
end

io.write("Hola\n")


y desde C hago lo siguiente:

lua_getglobal(L, "saluda");
status = lua_pcall(L, 0, LUA_MULTRET, 0);


Pero insiste en que llamo a una funcion que es nula. ¿Alguien sabe por qué?
Título: LUA y llamadas a funciones internas desde C
Publicado por: tamat en 20 de Mayo de 2007, 05:53:53 PM
Me lo acaban de resolver en gamedev (porque aquí se que odiais mis preguntas y nunca me las quereis responder, ¬_¬).

El problema era que hay que ejecutar el script una vez para que las funciones esten en la pila, de lo contrario el codigo está compilado pero todavía no tiene constancia de las funciones que hay dentro (raro pero es así).
Título: LUA y llamadas a funciones internas desde C
Publicado por: ethernet en 20 de Mayo de 2007, 08:27:12 PM
Es lo que tiene usar un lenguaje de poco hombres :)
Título: LUA y llamadas a funciones internas desde C
Publicado por: tamat en 20 de Mayo de 2007, 08:54:15 PM
habló el encantador de serpientes