On Jul 16, 2017 11:49 AM, "Matt Sicker" <boa...@gmail.com> wrote:

C quality somewhat depends on which version of C you're trying to remain
compatible with (I'm guessing C89 due to Windows, though I could be wrong).
Valgrind and other tracing tools are typically used.


Valgrind is a default choice (though then you still have plenty of
configuration choices to make :)

A similar set of functionality is available using the various sanitizers
available in clang (and recent versions of gcc, though I haven't tried
that). These are described in the clang user manual:

http://clang.llvm.org/docs/UsersManual.html#controlling-code-generation

Clang also supports static analysis, which can, um, detect errors
statically. This can sometimes generate a bunch of false positives,
depending on the coding  style. The analyzer typically produces an html
report.  These analyzers can be run using scan build.

There are quite a lot more static analyzers available via clang-tidy, which
may or  may not  require installing an extra package.

CppUnit is a sensible choice for unit tests, but does require that tests be
written in C++, which might be a problem if you are sent back in time (tip:
write to Bjarne at AT&T Bell Laboratories, and ask for a tape).

Reply via email to