CCCC(1)

πŸ“¦
version 3.2.0 Β· 2 versions
  • 3.2.0 Β· debian bookworm, debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 3.1.4 Β· ubuntu jammy
, in debian bookworm, debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– CCCC β€” C and C++ Code Counter πŸ’–

okay bestie, welcome to cccc(1), aka the C and C++ Code Counter β€” it's a software metrics tool and it's lowkey iconic. It lives in the General Commands Manual, section 1, so you know it's a real one. πŸŽ€


✨ SYNOPSIS ✨

cccc [options] file1.c ...

like. that's it. that's the whole vibe. you give it files, it gives you numbers. πŸ’…


🌸 DESCRIPTION 🌸

So here's the tea: cccc analyses and reports measurements of source code written in C, C++, and Java. The metrics it supports include:

  • lines of code πŸ“
  • McCabe's Cyclomatic Complexity (yes the real one, no cap)
  • measures of module fan-out/fan-in πŸ¦‹

CCCC processes the files listed on its command line. And bestie, here's a lil trick: if the filenames include -, it will read a list of files from standard input. so you can pipe stuff in, slay. ✨

🫢 real talk though: this program is work in progress and is not well documented. Please be prepared to refer to the source code for the meaning of some options. not me being honest about my own documentation 😭 she's a work in progress, we love her anyway.

πŸ‘‘ OPTIONS πŸ‘‘

okay so here's every single one, and yes we're doing all of them, no skipping, we don't do that here πŸ’–

  • --help β€” Generate this help message. the classic. the icon. 🌈
  • *--outdir=dname* β€” Directory for generated files (default=.cccc). this is where all her little creations go live. πŸŽ€
  • *--html_outfile=fname* β€” Name of primary HTML report generated (default=outdir/cccc.html). pretty report, we love to see it. ✨
  • *--xml_outfile=fname* β€” Name of primary XML report generated (default=outdir/cccc.xml). for the machine girlies. πŸ€–
  • --db_infile=fname β€” Preload internal database from named file (default=no initial content**). come pre-loaded, periodt. πŸ’…
  • *--db_outfile=fname* β€” Save internal database to named file (default=outdir/cccc.db). save it for later, she's organised. πŸ—‚οΈ
  • --opt_infile=fname β€” Load options from named file (default=use compiled-in option values**, refer to cccc_opt.cc for option information). yes bestie, go read cccc_opt.cc, iykyk. πŸ“–
  • *--opt_outfile=fname* β€” Save options to named file (default=outdir/cccc.opt). write down your settings so you don't forget them like i forget my passwords. πŸ™ˆ
  • --lang=string β€” Use language specified for files specified **after this option. Languages supported are c, c++, ada, and java (default=use language/extension mapping controlled by options). so you can switch languages mid-command, main character energy fr fr. πŸ¦‹
  • *--report_mask=hex* β€” Control report content (refer to ccccmain.cc for mask values). hex values, refer to ccccmain.cc, that's the assignment. πŸ”₯
  • *--debug_mask=hex* β€” Control debug output content (refer to ccccmain.cc for mask values). same deal, ccccmain.cc, mask values, go look. πŸ’€

πŸ’œ AUTHOR πŸ’œ

CCCC was written by Tim Littlefair <tim_littlefair@hotmail.com>. πŸ‘‘

This manual page was written by Colin Watson <cjwatson@debian.org> for the Debian system (but may be used by others). so generous, so giving. 🫢


🧚 tiny vibe check before you go: cccc is a work in progress and not well documented, so if an option is giving mystery, the source code is your bestie. that's not a bug, that's just the era she's in. πŸ’…

and that's the whole page babes πŸ’– from the General Commands Manual, section 1, CCCC(1) β€” the C and C++ Code Counter, out here counting your lines and your complexity since forever. go forth, run it on your code, and may your fan-out stay balanced. πŸŽ€βœ¨πŸŒΈπŸ¦‹β­πŸ‘‘