Article View: es.comp.os.linux.programacion
Article #214Re: Convertir fichero objeto (.o) a ejectable
From: Kernel
Date: Sat, 28 Nov 2009 19:30
Date: Sat, 28 Nov 2009 19:30
51 lines
3296 bytes
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-mailReferences:
<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