2010-02-18 49 views

Trả lời

8

@(#) là chuỗi ký tự được sử dụng bởi lệnh Unix what để lọc chuỗi từ tệp nhị phân để liệt kê các thành phần được sử dụng để tạo nhị phân đó. Ví dụ: what java trên sản lượng 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 

trong khi `chuỗi java | grep '@ (#) sản lượng:

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

@(#) được chọn là điểm đánh dấu bởi vì nó sẽ không xảy ra ở những nơi khác, mã nguồn điều khiển các hệ thống thường thêm một dòng chứa dấu này và mô tả của phiên bản tập tin vào đồng bộ, mở rộng từ khóa có giá trị phản ánh nội dung tệp. Ví dụ: , nhận xét bạn liệt kê sẽ là kết quả của việc mở rộng từ khóa SCCS %Z% %M% %R%.%L% %E% trong đó %Z% dịch thành @(#).

1

Nó thường là thứ được thêm tự động bởi hệ thống điều khiển phiên bản.

1

Cấu trúc đó không có ý nghĩa đặc biệt trong Java. Nó chỉ là một số văn bản trong một bình luận.

Dường như một thứ được chèn bởi hệ thống kiểm soát phiên bản.

2

Từ bộ nhớ (mờ), đó là thẻ được SCCS sử dụng trở lại trong "ngày cũ tốt". Do đó (với kiến ​​thức của tôi), BitKeeper sử dụng SCCS bên dưới, nó có thể là BitKeeper.