@(#)字符的含义

时间:2010-02-18 14:31:05

标签: java

在文档代码中,我看到了类似这样的事情:

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

@(#)这样的字符是什么意思?

4 个答案:

答案 0 :(得分:8)

@(#)是Unix what命令用于从二进制文件中过滤字符串以列出用于构建该二进制文件的组件的字符串。例如,AIX上的what java产生:

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

而`strings java | grep'@(#)'产生:

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

@(#)被选为标记,因为它不会在其他地方出现,源代码控制系统通常会在同步时添加包含此标记的行和文件版本的描述,使用反映文件内容的值扩展关键字。 例如,您列出的评论是扩展SCCS关键字%Z% %M% %R%.%L% %E%的结果,%Z%转换为@(#)

答案 1 :(得分:2)

来自(朦胧)记忆,这是SCCS在“过去的好日子”中使用的标签。鉴于(据我所知),BitKeeper在下面使用SCCS,它可能是BitKeeper。

答案 2 :(得分:1)

通常由版本控制系统自动添加。

答案 3 :(得分:1)

该构造在Java中没有特殊含义。这只是评论中的一些文字。

它看起来像是由版本控制系统插入的东西。