Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

meaning of @(#) characters

Tags:

java

In documentation code I see some things like this:

/*
 * @(#)File.java    1.142 09/04/01

what does characters like @(#) meaning?

like image 751
xdevel2000 Avatar asked Feb 18 '10 14:02

xdevel2000


People also ask

What is the use of @?

On the Internet, @ (pronounced "at" or "at sign" or "address sign") is the symbol in an E-mail address that separates the name of the user from the user's Internet address, as in this hypothetical e-mail address example: [email protected].

What is the name of symbol @?

The @ symbol is correctly referred to as an asperand.

How do you call @?

So it is truly amazing to learn that there is no official, universal name for it. The most accepted term, even in many other languages, is to call it the at sign. But there are dozens of different words used to describe it. A lot of languages use words that associate the shape of the symbol with some type of animal.

What does Ono mean slang?

Meaning of o.n.o. in Englishwritten abbreviation for or near(est) offer: used in advertisements for things that people are trying to sell to show that they will accept slightly less money than the price they are asking for: Ladies' bike - excellent condition.


2 Answers

@(#) is the character string used by the Unix what command to filter strings from binaries to list the components that were used to build that binary. For instance what java on AIX yields:

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

while `strings java | grep '@(#)' yields:

@(#)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

@(#) was chosen as marker because it would not occur elsewhere, source code controls systems typically add a line containing this marker and the description of the file version on synchronisation, expanding keywords with values reflecting the file contents. For instance, the comment you list would be the result of expanding the SCCS keywords %Z% %M% %R%.%L% %E% where the %Z% translates into @(#).

like image 102
rsp Avatar answered Oct 01 '22 21:10

rsp


From (hazy) memory, that was the tag used by SCCS back in the "good old days". Given that (to my knowledge), BitKeeper uses SCCS underneath, it could be BitKeeper.

like image 28
Jürgen A. Erhard Avatar answered Oct 01 '22 21:10

Jürgen A. Erhard