🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Convertir fichero objeto (.o) a ejectable

#213
From: Pascal J. Bourguignon
Date: Thu, 26 Nov 2009 12:10
39 lines
2766 bytes
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.


-- 
__Pascal Bourguignon__
Technical Details
Message-ID: <87k4xd7agp.fsf@galatea.local>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
References: <4b0e5970$1_3@filemon1.isp.telecable.es>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: pjb@informatimago.com (Pascal J. Bourguignon)
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Convertir fichero objeto (.o) a ejectable
Date: Thu, 26 Nov 2009 13:10:46 +0100
Organization: Informatimago
Lines: 39
Message-ID: <87k4xd7agp.fsf@galatea.local>
References: <4b0e5970$1_3@filemon1.isp.telecable.es>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: individual.net S6Qa+tyFAAZKkJESaj0VCAWNzqyDg53fZY0mCafqhQoGUkc2Qy
Cancel-Lock: sha1:Yjc5ZjU3NmI1NWEzOGVmMDJiZjg0ZjBjMGJiYmU3OWVlZmFkMTEyNQ== sha1:D08/3k7lXh43f+CmZZ9Im4es8u8=
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAQMAAABtzGvEAAAABlBMVEUAAAD///+l2Z/dAAAA
      oElEQVR4nK3OsRHCMAwF0O8YQufUNIQRGIAja9CxSA55AxZgFO4coMgYrEDDQZWPIlNAjwq9
      033pbOBPtbXuB6PKNBn5gZkhGa86Z4x2wE67O+06WxGD/HCOGR0deY3f9Ijwwt7rNGNf6Oac
      l/GuZTF1wFGKiYYHKSFAkjIo1b6sCYS1sVmFhhhahKQssRjRT90ITWUk6vvK3RsPGs+M1RuR
      mV+hO/VvFAAAAABJRU5ErkJggg==
X-Accept-Language:         fr, es, en
X-Disabled: X-No-Archive: no
User-Agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/22.3 (darwin)