Ar (Unix)


Ar (Unix)

ar (Unix)

El archivador (también conocido simplemente como ar) es una utilidad de Unix que mantiene grupos de ficheros como un único fichero archivo. Generalmente, se usa ar para crear y actualizar ficheros biblioteca que utiliza el editor de enlaces o enlazador; sin embargo, se puede usar para crear archivos con cualquier otro propósito. ar se incluye como una de las GNU Binutils.

Contenido

Creación de un archivo

Por ejemplo, para crear un archivo a partir de los ficheros class1.o, class2.o, class3.o, se usaría la siguiente orden:

ar rcs libclass.a class1.o class2.o class3.o

para compilar un programa que depende de class1.o, class2.o, y class3.o uno podría hacer:

cc main.c -L. -lclass

en vez de:

cc main.c class1.o class2.o class3.o

Las opciones -L y -l le dicen al enlazador que busque la biblioteca «libclass.a» en el directorio actual.

Detalles del formato de fichero

El formato ar nunca ha sido estandarizado, los archivos modernos están basados en un formato común con dos variantes conocidas, BSD y GNU.

Históricamente ha habido otras variantes incluyendo AIX (pequeña), AIX (grande) y Coherent, que variaban significativamente del formato común.

Los archivos deb usan el formato común.

Un fichero ar empieza con una cabecera global, seguida de una cabecera y sección de datos por cada fichero almacenado dentro del fichero ar.

La sección de datos está alineada a 2 bytes, si fuera a terminar en un punto impar se usa un «\n» como relleno.

Cabecera global

La cabecera global es un único campo que contiene la cadena ASCII mágica «!<arch>» seguida de un único carácter de control LF

Cabecera de fichero

El formato común es el siguiente.

Desde posición Hasta posición Nombre del campo Formato del campo
0 15 Nombre del fichero ASCII
16 27 Fecha del fichero Decimal
28 33 ID del propietario Decimal
34 39 ID del grupo Decimal
40 47 Modo del fichero Octal
48 57 Tamaño del fichero en bytes Decimal
58 59 Cabecera mágica '\n

Debido a las limitaciones del formato y longitud del nombre dle fichero, tanto las versiones GNU como BSD han desarrollado diferentes métodos de conseguir nombres de fichero extendidos.

Variante BSD

BSD ar almacena los nombres de fichero extendidos colocando la cadena «#1/» seguida de la longitud del nombre del fichero en el campo del nombre del fichero, y agregando el nombre real del fichero a la cabecera del fichero.

Variante GNU

GNU ar almacena varios nombres de fichero extendidos en la sección de datos de un fichero con el nombre «//», este registro es referenciado por futuras cabeceras. Una cabecera referencia un nombre de fichero extendido almacenando una «/» seguida de una posición decimal al principio del nombre del fichero en la sección de datos del nombre del fichero extendido.

GNU ar utiliza una '/' para marcar el final del nombre del fichero, esto permite usar espacios sin usar un nombre de fichero extendido.

GNU ar utiliza el nombre de fichero especial «/ » para marcar que la siguiente entrada de datos contiene tabla de búsqueda de símbolos, que se usa en las bibliotecas ar para acelerar el acceso

Véase también

Enlaces externos

Obtenido de "Ar (Unix)"

Wikimedia foundation. 2010.

Mira otros diccionarios:

  • Unix — (officially trademarked as UNIX, sometimes also written as Unix with small caps) is a computer operating system originally developed in 1969 by a group of AT T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Douglas McIlroy, and… …   Wikipedia

  • UNIX — Ken Thompson und Dennis Ritchie Basisdaten Entwickler …   Deutsch Wikipedia

  • Unix — Kommandozeile (Unix Prompt) Basisdaten Entwickler Ken Thompso …   Deutsch Wikipedia

  • Unix — (registrado oficialmente como UNIX®) es un sistema operativo portable, multitarea y multiusuario; desarrollado, en principio, en 1969 por un grupo de empleados de los laboratorios Bell de AT T, entre los que figuran Ken Thompson, Dennis Ritchie y …   Wikipedia Español

  • UNIX — UNIX, parfois écrit « Unix », avec des petites capitales, est un système d exploitation multitâche et multi utilisateur créé en 1969, conceptuellement ouvert et fondé sur une approche par laquelle il offre de nombreux petits outils… …   Wikipédia en Français

  • Unix — (marque déposée officiellement comme UNIX, parfois aussi écrit comme Unix avec les petites capitalisations) est le nom d un système d exploitation multitâche et multi utilisateur créé en 1969, conceptuellement ouvert et fondé sur une approche par …   Wikipédia en Français

  • Unix time — Unix time, or POSIX time, is a system for describing points in time, defined as the number of seconds elapsed since midnight Coordinated Universal Time (UTC) of January 1 1970, not counting leap seconds. It is widely used not only on Unix like… …   Wikipedia

  • Unix-подобная операционная система — Генеалогическое дерево UNIX подобных ОС UNIX подобная операционная система (иногда сокр. *nix)  система, которая образовалась под влиянием UNIX. Термин включает свободные/открытые операционные системы, образованные от UNIX компании …   Википедия

  • UNIX — 〈[ju:nıx] EDV〉 Betriebssystem für Computer, das zum großen Teil in der Programmiersprache C geschrieben ist [engl.] * * * UNIX   [ursprünglich UNICS, Abk. für Uniplexed Information and Computing System, dt. »nicht multiplextes (vielseitiges)… …   Universal-Lexikon

  • UNIX-Kommandos — Unix Systeme zeichnen sich durch eine Vielzahl von Kommandos aus, mit denen sich über eine Shell das Betriebssystem bedienen lässt. Die Syntax dieser Kommandos weicht unter den verschiedenen Systemen voneinander ab. Es existieren die beiden… …   Deutsch Wikipedia

  • Unix-Befehle — Unix Systeme zeichnen sich durch eine Vielzahl von Kommandos aus, mit denen sich über eine Shell das Betriebssystem bedienen lässt. Die Syntax dieser Kommandos weicht unter den verschiedenen Systemen voneinander ab. Es existieren die beiden… …   Deutsch Wikipedia