LINUX.ORG.RU

История изменений

Исправление KennyMinigun, (текущая версия) :

Кстати, #pragma once еще позволяет компилятору (а точнее препроцессору) делать compile-time оптимизацию в стиле:
foo.h

#pragma once
bar.h
#include <foo.h>
bar.c
#include <bar.h>
#include <foo.h> // не пытаться читать файл foo.h еще раз:
                 // юзер сказал #pragma once
С #define-guards такая оптимизация требует определённой евристики (а то и вообще error-prone).

Исходная версия KennyMinigun, :

Кстати, #pragma once еще позволяет компилятору (а точнее препроцессору) делать compile-time оптимизацию в стиле:
foo.h

#pragma once
bar.h
#include <foo.h>
bar.c
#include <bar.h>
#include <foo.h> // не пытаться читать файл foo.h еще раз:
                 // юзер сказал #pragma once



С #define-guards такая оптимизация требует определённой евристики (а то и вообще error-prone).