2010-02-18 70 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。