ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# Documenting Apache 2.0 Apache 2.0 uses [Doxygen](http://www.doxygen.org/) to document the APIs and global variables in the the code. This will explain the basics of how to document using Doxygen. ## Brief Description To start a documentation block, use `/**` To end a documentation block, use `*/` In the middle of the block, there are multiple tags we can use: ``` Description of this functions purpose @param parameter_name description @return description @deffunc signature of the function ``` `deffunc` is not always necessary. DoxyGen does not have a full parser in it, so any prototype that use a macro in the return type declaration is too complex for scandoc. Those functions require a `deffunc`. An example (using &gt; rather than &gt;): ``` /**  * return the final element of the pathname  * @param pathname The path to get the final element of  * @return the final element of the path  * @tip Examples:  * <pre>  * "/foo/bar/gum" -> "gum"  * "/foo/bar/gum/" -> ""  * "gum" -> "gum"  * "wi\\n32\\stuff" -> "stuff"  * </pre>  * @deffunc const char * ap_filename_of_pathname(const char *pathname)  */ ``` At the top of the header file, always include: ``` /**  * @package Name of library header  */ ``` Doxygen uses a new HTML file for each package. The HTML files are named {Name_of_library_header}.html, so try to be concise with your names. For a further discussion of the possibilities please refer to [the Doxygen site](http://www.doxygen.org/).