What's wrong with `#pragma once`? (honest question, i only do C and C++ as a hobby)
It is not supported everywhere and it uses some heuristic to determine that the file is actually the same one as used before, and this heuristic sometimes fails in complicated scenarios, e.g. with multiple shared directories, link, or because a file was copied.
Pedants don’t like it.
You can't target ancient compilers.