AR
Section: GNU Development Tools (1)
Updated: 2005-08-05
Index
Return to Main Contents
NAME
ar - crea, modifica ed estrae da archivi
SINTASSI
ar [-X32_64] [-]p[mod [relpos] [count]] archive [member...]
DESCRIZIONE
Il programma GNU ar crea, modifica ed estrae da archivi.
Un archivio è un singolo file contenente una collezione di altri
file in una strutura che rende possibile ritrovare i singoli file
originari (chiamati membri dell'archivio).
I contenuti originali dei file, modi (permessi), data e ora,
proprietario, e gruppo sono preservati nell'archivio, e possono essere
ripristinati all'estrazione.
GNU ar può mantenere archivi i cui membri hanno nomi di
qualsiasi lunghezza; tutavia, in funzione di come ar è configurato
sul proprio sistema, un limite sulla lunghezza dei nomi può essere
imposto per compatibilità con formati di archivio mantenuti con altri
strumenti. Se esiste, il limite è spesso di 15 caratteri (tipico di
formati relativi a a.out) o 16 caratteri (tipico di formati relativi a
coff).
ar è considerata un'utilità binaria, perché archivi di questo
tipo sono spesso usati come librerie contenenti subroutine
comunemente necessarie.
ar crea un indice nell'archivio dei simboli definiti in moduli
oggetto rilocabili quando si specifica il modificatore s.
Una volta creato questo indice è aggiornato nell'archivio qualore ar
appporti un cambiamento ai suoi contenuti (salva per l'operazione
aggiornamento q).
Un archivio con tale indice velocizza il collegamento alla libreria, e
permette alle routine nella libreria di chiamare le altre senza sapere
la loro posizione nell'archivio.
Si può usare nm -s o nm --print-armap per elencare
questa tabella indice. Se a un archivio manca la tabella, può essere
usata un'altra forma di ar chiamata ranlib per aggiungere
solo la tabella.
GNU ar è disegnata per essere compatibile con due
differenti strutture. Si può controllare la sua attività usando opzioni
a linea di comando, come le diverse varietà di ar su sistemi Unix;
o, se si specifica la singola opzione a linea di comando -M, la
si può controllare con uno script fornito attraverso lo standard input,
come il programma MRI ``librarian''.
OPZIONI
GNU ar permette di mescolare il codice operazione p
e l'opzione modificatore mod in qualunque ordine, all'interno del
primo argomento della linea di comando.
Se lo si desidera, si può cominciare il primo argomento della linea di
comando con un trattino.
La lettera chiave p specifica quale operazione eseguire; può
essere qualunque delle seguenti, ma se ne deve specificare solo una:
- d
-
Cancella moduli dall'archivio. Specifica i nomi dei moduli da
cancellare come membri...; l'archivio non viene toccato se non si
specificano file da cancellare.
se si specifica il modificatore v, ar elenca ciascun modulo
che viene cancellato.
- m
-
Usare questa operazione per spostare i membri in un archivio.
L'ordinamento dei membri in un archivio può creare differenze in come i
programmi sono collegati usando la libreria, se un simbolo è definito in
più di un membro.
Se non sono usati modificatori con "m", tutti i membri
che si nominano negli argomenti member sono spostati alla
fine dell'archivio; si possono usare i modificatori a, b,
o i per spostarli invece in un punto specifico.
- p
-
Stampa i membri dell'archivio specificati, sul file dello
standard output. Se è specificato il modificatore v, visualizza il
nome del membro prima di copiare i suoi contenuti sullo standard output.
Se non si specificano argomenti member, tutti i file nell'archivio
sono stampati.
- q
-
Quick append; Storicamente aggiunge i file membro... alla
fine dell'archivio, senza verificare le sostituzioni.
I modificatori a, b e i non influenzano questa
operazione; nuovi membri sono sempre posti alla fine dell'archivio.
Il modificatore v fa sì che ar elenchi ciascun file quando
viene aggiunto.
Poiché il punto di questa operazione è la velocità, la tabella indice
del simbolo dell'archivio non è aggiornata, anche se esisteva già; si
può usare ar s o ranlib esplicitamente per aggiornare la
tabella indice del simbolo.
Tuttavia, troppi sistemi differenti presumono che l'aggiunta rapida
ricostruisca l'indice, perciò GNU ar implementa q
come sinonimo di r.
- r
-
Inserisce i file membri... in archivio (con
sostituzione). Questa operazione differisce da q nel senso
che tutti i precedenti membri esistenti sono cancellati se i loro nomi
corrispondono a quelli che sono stati aggiunti.
Se uno dei file nominati come membri... non esiste, ar
visualizza un messaggio di errore, e lascia indisturbati tutti i membri
esistenti dell'archivio che corrisponde a questo nome.
Per default i nuovi membri sono aggiunti alla fine del file; ma si può
usare uno dei modificatori a, b, o i per richiedere
posizionamenti relativi a qualche membro esistente.
Il modificatore v usato con questa operzione ricava una linea di
output per ciascun file inserito, assieme a una delle lettere a o
r per indicare se il file è stato aggiunto (nessun membro
vecchio cancellato) o sostituito.
- t
-
Visualizza una tabella che elenca i contenuti dell'archivio,
o quelli dei file elencati in membro... che sono presenti
nell'archivio. Normalmente è mostrato solo il nome del membro; se si
vogliono anche vedere i modi (permessi), data e ora, proprietario,
grupppo e dimensione, si può richiederlo anche specificando il
modificatore v.
Se non si specifica un membro sono elencati tutti i file
nell'archivio.
Se c'è più di un file con lo stesso nome (cioè, fie) in
un archivio (cioè b.a), ar t b.a fie elenca solo la prima
istanza; per vederle tutte bisogna richiedere l'elenco completo
--- nel nostro esempio, ar t b.a.
- x
-
Estrae membri (chiamati membro) dall'archivio. Si può
usare il modificatore v con questa operazione, per richiedere che
ar elenchi ciascun nome quando lo estrae.
se non si specifica un membro, tutti i file nell'archivio vengono
estratti.
Un numero di modificatori (mod) può immediatamente seguire la
lettera chiave p per specificare variazioni nel comportamento di
un'operazione:
- a
-
Aggiunge nuovi file dopo un membro esistente dell'archivio.
Se si usa il modificatore a, il nome di un membro di archivio
esistente deve essere presente come argomento relpos, prima della
specificazione dell'archivio.
- b
-
Aggiunge nuovi file prima di un membro esistente dell'archivio.
Se si usa il modificatore b, il nome di un membro di archivio
esistente deve essere presente come argomento relpos, prima della
specificazione dell'archivio. (come i).
- c
-
Crea l'archivio. L'archivio specificato è sempre creato se
esso non esiste, quando si richiede un aggiornamento. Ma, usando questo
modificatore, viene emesso un avviso, a meno che non si specifichi in
anticipo che si intende crearlo.
- f
-
Tronca i nomi nell'archivio. GNU ar normalmente permetterà
nomi di file di qualunque lunghezza. Questo farà si che vengano creati
archivi non compatibili con i programmi ar nativi di certi sistemi.
Se questo è un problema, il modificatore f può essere usato per
troncare i nomi di file quando li si mette nell'archivio.
- i
-
Inserisce nuovi file prima di un membro esistente dell'archivio.
Se si usa il modificatore i, il nome di un membro di archivio
esistente deve essere presente come argomento relpos, prima della
specificazione dell'archivio. (come b).
- l
-
Questo modificatore è accettato ma non usato.
- N
-
Usa il parametro count. Questo è usato se ci sono campi multipli
nell'archivio con lo stesso nome. Estrae o cancella l'istanza
count del dato nome dall'archivio.
- o
-
Preserva le date originali dei memrbi quando li si estrae. Se
non si specifica questo modificatore, i file estratti dall'archivio sono
marcati con l'ora dell'estrazione.
- P
-
Usa il nome di percorso completo quando i nomi dell'archivio
corrispondono. GNU ar non può creare un archivio con un
nome di percorso completo (tali archivi non sono conformi a POSIX),
ma altri creatori di archivi possono. Questa opzione fara sì che
GNU ar faccia corrispondere i nomi file usando un nome di
percorso completo, che può essere conveniente quando si estrae un
singolo file da un ardchivio creato da un altro strumento.
- s
-
Scrive un indice dei file oggetto nell'archivio, o ne aggiorna uno
esistente, Anche se non vengono apportati altri cambiamenti all'archivio.
Si può usare questo modificatore sia con altre operazioni sia da solo.
Eseguire ar s su un archivio è equivalente a eseguire ranlib
su di esso.
- S
-
Non genera una tabella simboli dell'archivio. Questo può accelerare la
costruzione di una grande libreria in molte fasi. L'archivio risultante
non può essere usato con il linker. Per costruire una tabella simboli
bisogna omettere il modificatore S sull'ultima esecuzione di ar,
o bisogna eseguire ranlib sull'archivio.
- u
-
Normalmente ar r... inserisce tutti i file elencati nell'archivio.
se si desidera inserire solo quei file elencati che sono più nuovi
dei membri esistenti dello stesso nome usare questo modificatore. Il
modificatore u è permesso solo per l'operazione r
(sostituzione). In particolare, la combinazione qu non è permessa,
poiché la verifica di data e ora farebbe perdere ogni vantaggio in
velocità dall'operazione q.
- v
-
Questo modificatore richiede la versione prolissa di un'operazione.
Molte operazioni visualizzano informazioni aggiuntive, come i nomi di
file processati, quando viene aggiunto il modificatore v.
- V
-
Questo modificatore mostra il numero di versione di ar.
ar ignora un'opzione iniziale chiamata -X32_64, per
compatibilità con AIX. Il comportamento prodotto da questa
opzione è il default per GNU ar. ar non supporta
nessuna delle altre opzioni -X; in particolare, esso non
supporta -X32, che è il default per AIX ar.
VEDERE ANCHE
nm(1), ranlib(1), e i campi Info per binutils.
COPYRIGHT
Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts. A copy of the license is included in the
section entitled ``GNU Free Documentation License''.
Index
- NAME
-
- SINTASSI
-
- DESCRIZIONE
-
- OPZIONI
-
- VEDERE ANCHE
-
- COPYRIGHT
-
This document was created by
man2html,
using the manual pages.
Time: 23:03:51 GMT, June 17, 2008