lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Thank you, Mr. Adrián Pérez!
I will use english from today on.
I am trying luacheia.
But when you say about the use of loadlib() function,
does the file.dll need to be prepared to load 'add-on'
lua functions? So, do I need to compile luacom like
a file.dll, just to use it?
Best regards,
hydrogen


----- Original Message ----- 
From: "Adrián Pérez" <elflord@spymac.com>
To: "Lua list" <lua@bazar2.conectiva.com.br>
Sent: Sunday, September 05, 2004 6:42 AM
Subject: Re: Uso de add-on e necessidade de recompilar



El 04/09/2004, a las 18:14, hydrogen escribió:

> Para que eu obtenha funcionalidades extras, como utilizar
> 'add-ons' (COM, por exemplo, ou LUASQL), é necessário que eu gere um
> novo executável (compilar um novo programa em C), adicionando as
> bibliotecas de LUA com aquelas do 'add-on' desejado. Isso vai extender
> as possibilidades de utilização da interface lua.exe, [...]

Essa é uma das maneiras nas que você pode engadir funcionalidades
extras ó interprete lua.exe: compilarlo de novo engadindo aquelas
cousas que você precisar.

[That is one of the ways you have to add extra functionality to the
lua.exe enterpreter: compile it again adding that things you need.]

> [...] Não é possível simplesmente adicioná-lo como extensão da
> linguagem, no caso, apartir do próprio script.lua, sem a necessidade
> de recompilar?

Dende a versão 5 Lua inclúe funcionalidade para cargar extensoes para a
linguaxe por medio da función loadlib(), que receve como primeiro
argumento o arquivo de biblioteca que contém a extensão, e como segundo
o nome dunha función dessa biblioteca que realiza os preparativos para
que a extensão estexa dispoñible. loadlib() devolve entón unha función
que debe ser invocada antes de escomezar a utiliza-la extensão.

[From Lua version 5 functionality to load extensions is provided by
means of the loadlib() function, that receives as first argument the
name of the library file that contains the extension, and the name of a
function within that library that performs initialization so the
extension is available. loadlib() returns a function that must be
called before using the library]

Exemplo [example]:

func = loadlib("luasocket.dll", "luaLM_import")
if (func ~= nil) then
func()
else
error("cannot load luasocket.dll!)
end
-- agora xa se poden utilizar funcións cargadas dende luasocket.dll
-- [now functions loaded from luasocket.dll can be used]


> Agradeço qualquer norte, [...]

Eu aconsello-lhe que utilice LuaCheia
(http://luacheia.sourceforge.net), uma distribuçao de Lua 5 que inclúe
algunhas das librerías que você comenta (LuaCOM entre elas, ademáis de
un "parser" XML, módulo para elaborar CGIs sinxelos, extensão md5,
luasocket, SDL...).

[I advice you to use LuaCheia (http://luacheia.sourceforge.net), a Lua
5 distribution that includes some of the libraries you mention (LuaCom,
for example; and a XML parser, a simple CGI module, an md5 extension,
luasocket, SDL... too).]

-ap

PS: perdoe polo meu português, eu son da Espanha :P, por iso tamen lhe
escrevin en inglés. Pode considerar a posibilidade de escrever en
inglés á lista de correo, para que máis gente poide-lhe contestar ás
súas preguntas.

[PS: excuse my Portuguese, I'm from spain :P, that's why I wrote in
English, too. You should consider writing to the mailing list in
english, so more people can answer your questions.]