2009-07-27 30 views

Trả lời

0

Đã được hỏi nhiều lần trước. luôn luôn có cùng một câu trả lời - doxygen.

4

doxygen có biểu đồ phụ thuộc tệp là một trong một số kết quả đầu ra của tệp. Nó có thể không chính xác những gì bạn muốn, nhưng nó là một sự khởi đầu.

+0

Vâng, nó đề cập đến nó trong tài liệu, nhưng nó chỉ có vẻ làm việc cho các tập tin "tài liệu", theo hướng dẫn. Nói cách khác, nếu bạn chỉ chạy nó trên một cây nguồn, nó sẽ không tạo ra một đồ thị. Bất kỳ chuyên gia doxygen muốn kêu vang vào thời điểm này? –

+0

Bạn cần phải tạo một tập tin cấu hình (hoặc tốt hơn có được doxygen để làm điều đó cho bạn). Sau đó, bạn cần chỉnh sửa tệp để bật một số tính năng. Tôi không sản xuất cây đầy đủ bình thường, vì vậy tôi không có một ví dụ để bàn tay. –

+2

Bạn có thể gọi điện thoại để bỏ qua các thành viên không có giấy tờ. Doxygen chắc chắn có thể phân tích mọi thứ, với các tùy chọn phù hợp. Kiểm tra các tùy chọn sau: EXTRACT_ALL HIDE_UNDOC_MEMBERS HIDE_UNDOC_CLASSES Bạn cũng có thể cần dấu chấm (qua Graphviz) để tạo ra sơ đồ lớp và các công cụ hữu ích khác. –

1

Tôi biết nó không phải là mã nguồn mở (cũng không phải linux, mà bạn không đề cập đến trong câu hỏi nhưng nằm trong thẻ của bạn), nhưng tôi đã tìm ra giải pháp tốt nhất cho vấn đề này là ProFactor IncludeManager. trả lời cho một question I asked đó là khá nhiều một dupe chính xác của câu hỏi của bạn, trừ bit mã nguồn mở (do đó tại sao tôi đã không đánh dấu câu hỏi của bạn như là một dupe của tôi).

+0

Trông giống như công cụ hữu ích. Doxygen khá hữu ích cho việc hiển thị các tập tin vùi (đặc biệt là các vùi giữa các cây thư mục), nhưng bạn cần một công cụ như thế này để đánh giá hiệu quả của chúng và phân tích hiệu quả của việc loại bỏ các phụ thuộc không cần thiết. –

44

Đối với thiếu kiên nhẫn, người, như tôi, chỉ muốn có một danh sách các lệnh và không RTFM :) Vì vậy, không có thêm ado (giả sử bạn có Debian, hoặc ilk của nó) ...

Đầu tiên, cài đặt Doxygen và Graphviz (cung cấp 'chấm' để vẽ đồ thị có hướng):

apt-get install doxygen graphviz 

Tiếp theo, nói Doxygen để tạo ra một tập tin cấu hình ban đầu mà sau đó chúng ta có thể sửa đổi bằng tay:

doxygen -g 

Điều này sẽ dẫn một tệp cấu hình mới, được gọi là Doxyfile, được tạo trong thư mục hiện tại. Sau đó bạn có thể sửa đổi nó bằng trình soạn thảo văn bản yêu thích của mình. Hãy chắc chắn rằng để thiết lập các cờ sau đây để các giá trị quy định:

HAVE_DOT = YES 
RECURSIVE = YES 
EXTRACT_ALL = YES 
GENERATE_LATEX = NO # Unless you want LaTeX output besides the HTML ... 

Bạn cũng có thể muốn đặt hai cờ sau đây để nói với Doxygen nơi để tạo ra các tài liệu (mà về cơ bản chỉ là một bó của tập tin được tổ chức vào một thư mục cấu trúc):

PROJECT_NAME = Foobar 
OUTPUT_DIRECTORY = /tmp/foobar/doc 

Tất cả những gì còn lại là để nói với doxygen để làm điều này:

cd foobar/src 
doxygen ~/Doxyfile # Assuming you saved Doxyfile in your home directory. 

Bây giờ, nếu bạn là người may mắn, bạn có thể trỏ trình duyệt của bạn tại tệp /tmp/foobar/doc/html/index.html, chọn tab "Tệp", sau đó nhấp vào tệp tiêu đề để xem hai biểu đồ đẹp: một biểu đồ hiển thị tệp tiêu đề nào được bao gồm trong tệp tiêu đề của bạn (trực tiếp hoặc gián tiếp), trong khi phần còn lại cho thấy các tệp khác bao gồm trực tiếp hoặc gián tiếp tệp tiêu đề đã cho.

+2

+1: Ah, câu trả lời hay. Tôi chỉ cố gắng sử dụng Doxygen để tạo ra một biểu đồ tập tin bao gồm và tự hỏi tại sao nó không hoạt động - hóa ra rằng 'EXTRACT_ALL' không được đặt thành' YES'. –

Các vấn đề liên quan