The GNU Compiler Collection (GCC) comes with a plethora of options for preprocessing, compiling, assembling, and linking programs to executable programs or libraries. I encourage you to read the documentation to learn about GCC and the various options available for compiling code. Some of the commands we issued in the Getting ready section of this recipe were specific to compiling a shared library file. The documentation for various versions of GCC can be found at the following location: https://gcc.gnu.org/onlinedocs/.