2010-02-18 20 views

risposta

8

@(#) è la stringa di caratteri utilizzata dal comando Unix what per filtrare le stringhe dai binari per elencare i componenti utilizzati per creare quel binario. Per esempio what java sui rendimenti AIX:

java: 
     23 1.4 src/bos/usr/ccs/lib/libpthreads/init.c, libpth, bos520 8/19/99 12:20:14 
     61  1.14 src/bos/usr/ccs/lib/libc/__threads_init.c, libcthrd, bos520 7/11/00 12:04:14 
     src/tools/sov/java.c, tool, asdev, 20081128 1.83.1.36 
     src/misc/sov/copyrght.c, core, asdev, 20081128 1.8 

mentre `stringhe java | grep '@ (#)' i rendimenti:

@(#)23 1.4 src/bos/usr/ccs/lib/libpthreads/init.c, libpth, bos520 8/19/99 12:20:14 
@(#)61  1.14 src/bos/usr/ccs/lib/libc/__threads_init.c, libcthrd, bos520 7/11/00 12:04:14 
@(#)src/tools/sov/java.c, tool, asdev, 20081128 1.83.1.36 
@(#)src/misc/sov/copyrght.c, core, asdev, 20081128 1.8 

@(#) è stato scelto come marcatore perché non avverrebbe altrove, il codice sorgente controlla i sistemi di solito aggiungere una riga contenente questo marcatore e la descrizione della versione del file sulla sincronizzazione, in espansione parole chiave con valori che riflettono il contenuto del file. Ad esempio, il commento che l'elenco sarebbe il risultato dell'espansione delle parole chiave SCCS %Z% %M% %R%.%L% %E% in cui il %Z% viene convertito in @(#).

1

Di solito è qualcosa che viene aggiunto automaticamente dal sistema di controllo della versione.

1

Questo costrutto non ha alcun significato speciale in Java. È solo un testo in un commento.

Sembra qualcosa inserito da un sistema di controllo versione.

2

Da memoria (nebulosa), questo era il tag utilizzato da SCCS nei "bei vecchi tempi". Dato che (per quanto ne so), BitKeeper usa SCCS sotto, potrebbe essere BitKeeper.

Problemi correlati