🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #214

Re: Convertir fichero objeto (.o) a ejectable

#214
From: Kernel
Date: Sat, 28 Nov 2009 19:30
51 lines
3296 bytes
Pascal J. Bourguignon escribi�:
> Kernel <C0RR30D3K3RN3L@6M41L.C0M> writes:
> 
>> He instalado el XDS, que es un compilador de Modula-2. En principio
>> creo que funciona bien, ya que compilo con el comando xc y me genera
>> el fichero objeto .o, pero no se como generar el ejecutable a partir
>> de este .o
>>
>> Supongo que un fichero objeto es algo independiente del lenguaje
>> original, y que un .o es un .o venga de modula2 o de C o de lo que sea
>> �es as�?
>>
>> Si es as�, �como paso este .o a un ejecutable?
> 
> Tienes que hacer una edici�n de enlaces, un "link edit".
> Eso se puede hacer normalmente con ld(1).
> 
> Tienes que saber qu� librerias necesitas con los archivos objetos.  En
> general, esos no son independiente, pero se necesita al menos una
> peque�a libreria de "run-time".  Por ejemplo, en el caso de los
> programas C, hace falta /usr/lib/crt1.o, que contiene el punto de
> entrada real del programa y llama a la funci�n main.  Por otros
> lenguajes, es posible que se use la misma, o otra libreria.
> 
> Se puede usar ld directamente, pero hay que darle todas la librerias
> necesarias.  Si el programa necesita las librerias de C, se puede usar
> gcc para hacer la edici�n de enlaces, pues gcc llamar� ld con ellas.
> 
>    ld -o pgm module.o run-time-lib.a ...
> 
>    gcc -o pgm module1.o ...  -L/usr/lib -lbib1 -lbib2 ...
> 
> 
> Tambien, es posible que haya un edit�r de enlaces especifico a un
> lenguaje, o al menos un piloto que como gcc llamara ld con las
> librerias necesarias por el lenguaje.
> 
> 

Pues entonces si que hace falta enlazar con la librer�as apropiadas, 
pero como no se cuales y me parece bastante complicado hacerlo 
funcionar, me parece que al final voy a optar por otra soluci�n: voy a 
utilizar la versi�n de Windows del compiladoren de Modula2 en Wine, que 
funciona perfectamente.

La verdad que no entiendo porque para Windows hay el compilador de 
Modula-2 tiene interfaz gr�fica, y no hay ninguna complicaci�n ni para 
instalarlo ni para compilar, y en cambio para Linux es en modo texto y 
una verdadera odisea para hacerlo funcionar, pero en fin, es lo que hay.

Gracias y saludos.
Technical Details
Message-ID: <4b117a6a$1_4@filemon2.isp.telecable.es>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!feeder.news-service.com!newsfeed.freenet.de!xlned.com!feeder1.xlned.com!npeer.de.kpn-eurorings.net!npeer-ng0.de.kpn-eurorings.net!newsfeed.telecable.es!not-for-mail
References: <4b0e5970$1_3@filemon1.isp.telecable.es> <87k4xd7agp.fsf@galatea.local>

Show Full Headers
Complete Article Headers
X-Google-Thread: 646d03421f,555ac06258fe7e63
X-Google-Attributes: gid646d03421f,public,usenet
X-Google-NewGroupId: yes
X-Google-Language: SPANISH,ASCII
Date: Sat, 28 Nov 2009 20:30:50 +0100
From: Kernel <C0RR30D3K3RN3L@6M41L.C0M>
User-Agent: Thunderbird 2.0.0.23 (X11/20090817)
MIME-Version: 1.0
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Convertir fichero objeto (.o) a ejectable
References: <4b0e5970$1_3@filemon1.isp.telecable.es> <87k4xd7agp.fsf@galatea.local>
In-Reply-To: <87k4xd7agp.fsf@galatea.local>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
NNTP-Posting-Host: 83.97.224.112
Message-ID: <4b117a6a$1_4@filemon2.isp.telecable.es>
X-Trace: filemon2.isp.telecable.es 1259436650 83.97.224.112 (28 Nov 2009 20:30:50 +0100)
Organization: TeleCable, S.A.U.
Lines: 51
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!feeder.news-service.com!newsfeed.freenet.de!xlned.com!feeder1.xlned.com!npeer.de.kpn-eurorings.net!npeer-ng0.de.kpn-eurorings.net!newsfeed.telecable.es!not-for-mail