2010-02-18 73 views

回答

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 

while`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

它通常是由版本控制系统自动添加的东西。

1

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

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

2

从(朦胧)记忆中,这是SCCS在“美好时光”中使用的标记。鉴于(据我所知),BitKeeper在下面使用SCCS,它可能是BitKeeper。