Tengo curiosidad de por qué veo casi todas las macros C formateados como esto:C macro/# define indentación?
#ifndef FOO
# define FOO
#endif
O esto:
#ifndef FOO
#define FOO
#endif
Pero no esto:
#ifndef FOO
#define FOO
#endif
(además, El operador de =
de vim solo parece contar los dos primeros como correctos.)
¿Esto se debe a problemas de portabilidad entre los compiladores, o es solo una práctica estándar?
Y existe la irritación adicional (como el OP mencionado en la pregunta) de que los editores a menudo tienen su propia idea de cómo los bloques condicionales del preprocesador deben ser (o no) sangrados. –
El viejo compilador VAX C (circa 1986) arrojaría un error si una directiva de preprocesador no tuviera el '#' en la primera columna. –