#pragma ist afaik eine Erfindung von Microsoft und nicht im C Standard enthalten.

Das man die Funktionen in der Headerdatei beinhaltet ist soweit unproblematisch, solange du diese als inline kennzeichnest und keine statischen Member brauchst, da fuer selbige ein Objectfile erstellt werden muss. Allerdings kann es dir so passieren, dass, wenn due die header in meheren Teilen verwendest, der Code mehrfach compiliert wird und ggf der Linker probleme macht oder fuer den selben sourcecode mehere Maschinencodebloecke erzeugt werden, was das Endergebniss unnoetig belasten koennte.