2012-01-24 17 views

Trả lời

25

Bạn có thể đặt mã nguồn ví dụ trong đường dẫn đặc biệt được xác định trong cấu hình doxygen dưới EXAMPLE_PATH và sau đó chèn ví dụ bằng thẻ @example.

Doxygen sau đó sẽ tạo trang bổ sung chứa nguồn của ví dụ. Nó cũng sẽ thiết lập một liên kết đến nó từ tài liệu lớp có chứa thẻ ví dụ.

Ngoài ra nếu bạn muốn sử dụng đoạn mã nhỏ, bạn có thể chèn chúng với @code ... @endcode

Các tài liệu cho điều này là ở đây: Doxygen documentation?

+0

có, tôi đã thấy nhưng cpp-files trong trang phụ em pty:/ –

+0

hmmm doxygen có cảnh báo hay lỗi gì không? – John

+0

No. Tôi bao gồm các tệp ví dụ trong thẻ INPUT và trong thẻ EXAMPLE_PATH các tệp có thẻ \ example ... không biết lỗi là gì –

1

Tôi đã gặp một số lỗi khi sử dụng @example để bao gồm tệp mẫu trong tài liệu. Đây là cách giải quyết mà tôi đã sử dụng.

Đặt examplefile.cs vào một thư mục/dự án cụ thể cho mã ví dụ. Nơi mà thư mục trong danh sách Doxygen EXCLUDE (Expert-> Input-> EXCLUDEin Doxygen GUI frontend) và trong EXAMPLE_PATH (Expert-> Input-> EXAMPLE_PATH trong Doxygen GUI frontend)

Nơi khối mã này ở đâu đó trong một tài liệu nộp (tôi đặt nó trong file ví dụ là cho.)

/** @example examplefile.cs 
* A description of the example file, causes the example file to show up in 
* Examples */ 

Điều này làm cho tập tin xuất hiện dưới Ví dụ trong menu Doxygen, nhưng không hiển thị như là một lớp/tập tin trong dự án của bạn.

Sau đó, tài liệu lớp học của bạn/chức năng:

/** @brief MyClass does something 
* @details I have something more long winded to say about it. See example 
* in examplefile.cs: @include examplefile.cs */ 

Điều này làm cho tập tin ví dụ để in ra trong đó là toàn bộ trong tài liệu của MyClass.

14

Một cách khác để thực hiện việc này là sử dụng lệnh \snippet.

  • Trong tập tin tiêu đề của bạn viết một cái gì đó như:
\section ex1 Example 
\snippet path_to_test_class/TestClass.cpp TestClass example 
\section ex2 Expected output 
\snippet path_to_test_class/TestClass.cpp TestClass expected output 
  • Trong TestClass.tập tin cpp, có cái gì đó như:
//! [OptimizeSpeedOnTrackTest example] 
Class c; 
const double res = c.do_something(); 
//! [OptimizeSpeedOnTrackTest example] 
//! [OptimizeSpeedOnTrackTest expected output] 
ASSERT_DOUBLE_EQ(5,res); 
//! [OptimizeSpeedOnTrackTest expected output] 

path_to_test_class phải EXAMPLE_PATH của bạn.

này mang đến cho bạn những điều sau:

  • ví dụ của bạn không phải là chỉ có cho các tài liệu: họ cung cấp bảo hiểm thử nghiệm cũng
  • runner thử nghiệm của bạn (& trình biên dịch của bạn) cung cấp cho bạn bảo hiểm ví dụ của bạn thực sự biên dịch & chạy
  • Nó phù hợp khá độc đáo trong một workflow TDD
+0

Sử dụng \ đoạn trích chỉ là những gì tôi cần. Tôi đã tìm thấy rằng tôi nhận được một hộp rỗng không có mã bất cứ khi nào tôi bao gồm một mô tả ngắn gọn về phần tử tôi muốn đính kèm một đoạn mã vào. –

+0

A-ha! nhưng sử dụng \ section để thêm tiêu đề cho phép tôi cũng bao gồm cả \ brief nữa. –