Nas linguagens de programação C e C++, #pragma once é uma diretiva de compilação não standard mas que é largamente adotada por alguns compiladores, como o Microsoft Visual C++. Esta diretiva é usada em headers (ficheiros com extensão ".h" ou ".hpp", por exemplo) e serve para fazer com que o ficheiro atual apenas seja incluído uma vez durante o processo de compilação. Serve o mesmo propósito que as #include guards, mas com as vantagens de requerer menos código, evitar colisões de nomes, e em alguns casos até melhorar o tempo de compilação.
Exemplo File "creature.h" #pragma once
struct creatureInfo { int member;
File "animal.h" #include "creature.h"
File "human.h" #include "creature.h" #include "animal.h"
Neste exemplo o ficheiro creature.h apenas será compilado uma vez, apesar de os ficheiros animal.h e human.h ambos o definirem.
Ligações externas "pragma vs include guards" @ [gamedev.net]
Categoria:Ciência da computação