What is an include guard?
a preprocessor directive that prevents inconsistent behaviors in lines that contain the #ifdef, #ifndef, or #elif directives
a preprocessor statement that prevents a source file from being included more than once in a project
a compiler option that prevents the user code from including additional libraries
a library that adds safety features such as mutexes, watchdog timers, and assertions to the project