2012-06-14 8 views
11

Tôi muốn tài liệu thư viện với doxygen. Tài liệu sẽ được đọc bởi hai lớp người: Người dùng chỉ quan tâm đến API bên ngoài và nhà phát triển muốn xem tài liệu cho tất cả các chức năng/cấu trúc.Phân tách "nội bộ" từ tài liệu "bên ngoài" trong doxygen

Tôi muốn sử dụng để tách các doxyfiles để tạo tài liệu. Có một số "thẻ" tôi có thể đặt trong một khối bình luận để đánh dấu một bình luận như nội bộ/bên ngoài?

+0

Thư viện nào là ngôn ngữ? Ví dụ, trong C#, tôi tin rằng doxygen có thể xem xét các công cụ 'public' vs' internal'. – Blorgbeard

+0

thư viện được viết bằng C – timos

Trả lời

16

Set INTERNAL_DOCS:

# The INTERNAL_DOCS tag determines if documentation 
# that is typed after a \internal command is included. If the tag is set 
# to NO (the default) then the documentation will be excluded. 
# Set it to YES to include the internal documentation. 

INTERNAL_DOCS   = NO 

Trong tài liệu hướng dẫn, bạn có thể sử dụng \internal hoặc @internal ở bất cứ granularity bạn muốn (tập tin, chức năng, vv).

+0

Bạn đã cứu tôi rất nhiều nỗi đau khi cố gắng làm việc hoặc làm điều tương tự. –

+0

\ nội bộ hầu như không bao giờ làm những gì bạn nghĩ rằng nó. Nó chỉ ẩn tài liệu không phải là các lớp hoặc các hàm mà nó đang được sử dụng. Tôi khuyên bạn nên sử dụng \ cond /\ endcond được đề cập bởi Mad Physicist trong một câu trả lời khác. – gnash117

9

Sử dụng \ cond lệnh:

\internal (@internal) chỉ có granularity cho khối bình luận hiện nay. Nó không cho phép bạn cách nào để che giấu một định nghĩa cấu trúc trong C.

Cách đơn giản nhất để làm điều này là đặt

\ cond NỘI

ở phía trên cùng của một tập tin tiêu đề nội bộ và

\ endcond

ở dưới cùng. Sau đó, trong tập tin cấu hình của bạn, bạn thêm

ENABLED_SECTIONS = NỘI

để cho phép các mặt hàng nội bộ để được bao gồm trong tài liệu.

Cách này cũng được người dùng Doxygen khuyên dùng, ví dụ: here

0

Đây là giải pháp đơn giản, sử dụng thực tế là bạn thường có thể phân biệt các phần bên trong và bên ngoài của mã của bạn thành tệp.

Bạn chỉ có thể giới hạn các tập tin đầu vào để chỉ những tập tin tiêu đề mà bạn muốn để lộ trong các tài liệu bên ngoài:

# For internal, we parse all files 
INPUT = ./ 
# For external, we parse only the files containing the public interface 
INPUT = include/header1.hpp include/header2.hpp 

này có ưu điểm là các tập tin nguồn không cần phải được sửa đổi (với \internal hoặc @internal).