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