Ah, C. Still the language of modern high-performance computing.

C is the lowest-level language most programmers will ever use, but it more than makes up for it with raw speed. Just be aware of its manual memory management and C will take you as far as you need to go.

For information on what these flags do as well as other flags, consult the man page for your C compiler (e.g. man 1 gcc ) or just search online.

By default, gcc and clang are pretty quiet about compilation warnings and errors, which can be very useful information. Explicitly using stricter compiler flags is recommended. Here are some recommended defaults: