Tôi đang sử dụng doxygen để nhận xét mã C của mình. Tôi đang sử dụng API nước ngoài (nghĩa là không phải của riêng tôi) mà tài liệu khan hiếm vì vậy tôi dự định ghi lại một số API đó trong các tệp nguồn của riêng tôi. Tôi do có tệp tiêu đề cho API nước ngoài nhưng không thực tế để thêm nhận xét của riêng tôi vào tệp đó.Sử dụng doxygen để ghi lại thành viên của cấu trúc c bên ngoài định nghĩa cấu trúc
Ngoại Tiêu đề
struct foreignstruct
{
int a;
int b;
};
Tiêu đề của tôi
/** My structure comments...
struct mystruct
{
/** Describe field here... */
int field;
};
/** @struct foreignstruct
* @brief This structure blah blah blah...
* @??? a Member 'a' contains...
* @??? b Member 'b' contains...
*/
thẻ gì để tôi sử dụng ở vị trí của @???
để có được sản lượng doxygen đúng (nơi 'đúng' có nghĩa là sản lượng tạo ra cho mystruct
và foreignstruct
giống nhau)?
này giải pháp hoạt động nếu 'externalstruct' nằm trong một tệp được phân tích bởi doxygen. Bạn có mong đợi nó hoạt động nếu tập tin đó không được biết đến doxygen không? Tôi thấy 'cảnh báo: không tìm thấy thành viên lớp duy nhất cho ngoại ngữ :: a' khi định nghĩa ngoại không thể tìm được (điều này đúng bởi vì tôi không muốn phân tích cú pháp doxygen làm tiêu đề nước ngoài). Tôi đã thử thêm đường dẫn đến header ('@struct foreignstruct/full/path/to/header.h') nhưng tôi nhận được' warning: tên 'full/path/to/header.h 'được cung cấp làm đối số của lệnh \ class, \ struct, \ union hoặc \ include không phải là tệp đầu vào'. – Ben
Cấu trúc thực sự nên được biết đến doxygen. Vì vậy, bạn có thể cho phép doxygen phân tích cú pháp tiêu đề nước ngoài ngoài tài liệu cục bộ của bạn hoặc thêm định nghĩa giả của cấu trúc với các trường cục bộ (nhưng sau đó bạn không phải sử dụng @struct và @var). – doxygen
Không phải những gì tôi đã hy vọng câu trả lời sẽ là, nhưng đó là câu trả lời tôi mong đợi. Cảm ơn đã giúp đỡ. – Ben