include-guards

diferencia entre "ifndef"y" if!definido " en C?

He visto #ifndef ABC y #if !defined (ABC) en el mismo archivo fuente C. ¿Hay una diferencia sutil entre ellos? (Si es una cuestión de estilo, ¿por qué alguien los usaría en el mismo archivo)

¿Debería seguir usando #include guards Y # pragma una vez?

Http://en.wikipedia.org/wiki/Pragma_once ¿Debo seguir usando include guards cuando todos estos compiladores soportan #pragm ... davía hay muy buenas razones para usar ambos métodos. Cualquier ¿ejemplos de cuándo solo usar #pragma once causará problemas?

C++ #incluir guardas

RESUELTO Lo que realmente me ayudó fue que podía #incluir encabezados en el .archivo cpp sin causar el error redefinido. ... qué están apareciendo. If I don't # include " Physics .h" mi código funciona bien. Estoy muy agradecido por cualquier ayuda.