ref: 9e7a38487c252dd485398b6742e79ef352aaddb8 cdoc/README.md -rw-r--r-- 1.4 KiB
9e7a3848ashn Release v0.3 8 months ago


A minimalist documentation generator for the C programming language. The cdoc application transforms one or more C source files into plain HTML. An example of cdoc documentation is as follows:

//! @file readme-example.h
//!     A small file to show off cdoc

#include <stddef.h> /* size_t */
#include <stdint.h> /* uint8_t */
#include <string.h> /* memset */


//! @struct buffer
//!     A buffer for holding some data.
//!     This is just an example so don't read into it too much.
struct buffer
    //! @member data
    //!     Contents of this buffer.
    char data[BUFFER_MAX_LENGTH];
    //! @member length
    //!     Length of the buffer in bytes.
    uint8_t length;

//! @function clear_buffer
//!     Zero out the contents of this buffer and set's
//! @return
//!     The previous length of the buffer.
static inline uint8_t
clear_buffer(struct buffer* buf)
    uint8_t const prev = buf->length;
    memset(buf->data, 0x00, BUFFER_MAX_LENGTH);
    buf->length = 0;
    return prev;


The cdoc application can be built using a POSIX c99 compiler:

$ make cdoc
$ ./cdoc --help
Usage: cdoc [OPTION]... [--] [FILE]...

With no FILE, or when FILE is -, read standard input.

  --help      Display usage information and exit.
  --version   Display version information and exit.