Título: ¿Como puedo crear una libreria estatica con flat assembler? Publicado por: Avoidance25 en 6 Noviembre 2009, 21:26 pm Tengo un codigo de una dll, que es una modificacion mia de un ejemplo que traia el compilador, y quisiera compilar este codigo de tal manera a que se compile como una libreria estatica (".a" o ". lib"). ¿Como lo hago?
Este es mi codigo: Código: format PE GUI 4.0 DLL Título: Re: ¿Como puedo crear una libreria estatica con flat assembler? Publicado por: Eternal Idol en 6 Noviembre 2009, 23:00 pm Esto es muy especifico de la herramienta que uses, FASM por lo que veo. Yo no puedo ver como hacerlo aca en el manual:
http://flatassembler.net/docs.php?article=manual#2.4 format PE GUI 4.0 LIB fue mi primera intuicion pero no funciona y obviamente no figura ahi. Agrego, es posible generar archivos objeto COFF y con VC++ entonces generar una libreria estatica, esto es algo muy basico que apenas ensambla, enlaza y funciona pero tendras que hacer mas. Tu codigo para .obj: Código
fasm faLib.asm generara faLib.obj lib faLib.obj generara faLib.lib Un ejemplo para llamar a la libreria (MASM): Código
ml call.asm faLib.lib user32.lib Título: Re: ¿Como puedo crear una libreria estatica con flat assembler? Publicado por: Avoidance25 en 8 Noviembre 2009, 18:29 pm Muchas gracias por tu respuesta.
Entonces, ¿lib es un comando de VC++?. ¿No conoces alguna forma de linkear el archivo objeto con MinGW ?. Título: Re: ¿Como puedo crear una libreria estatica con flat assembler? Publicado por: Eternal Idol en 8 Noviembre 2009, 18:37 pm Si, no lo se, consulta la documentacion de MinGW ... tal vez tambien quieras averiguar sobre otros ensambladores como MASM o NASM.
Título: Re: ¿Como puedo crear una libreria estatica con flat assembler? Publicado por: Avoidance25 en 8 Noviembre 2009, 19:01 pm Ok, muchas gracias.
Título: Re: ¿Como puedo crear una libreria estatica con flat assembler? Publicado por: YST en 8 Noviembre 2009, 21:52 pm No es necesario el DllEntryPoint ;)
Por ejemplo Codigo que llama a la lib creada Código
y el codigo de la libreria Código
Para crear la .lib desde el .obj que crea el fasm puedes como decia eternal usar el "lib" del VC++ de la siguiente forma Código: lib TuLibreria.obj Código: link Principal.obj /entry:Main /subsystem:windows /DEFAULTLI Título: Re: ¿Como puedo crear una libreria estatica con flat assembler? Publicado por: Eternal Idol en 8 Noviembre 2009, 23:18 pm Es su codigo con lo minimo comentado para que ensamble ... en fin, ahora ya sabra otra manera de enlazar el codigo de la libreria estatica que quiere generar con las herramientas que no quiere usar.
|