Red de conocimiento del abogados - Ley de patentes - La diferencia entre la compilación condicional y la declaración If en lenguaje C, a qué situaciones se aplica cada una

La diferencia entre la compilación condicional y la declaración If en lenguaje C, a qué situaciones se aplica cada una

La compilación condicional es la parte de preprocesamiento del lenguaje C. Es la primera parte que el compilador procesa al compilar el código.

La compilación condicional contiene declaraciones de juicio, como #if, #else, #elif y #endif

Significa que si se cumplen las condiciones macro, el compilador compilará este código; de lo contrario, el compilador ignorará este código y no lo compilará, como

#define A 0 //Definir A como 0

#if (A > 1)

printf("A > 1"); //El compilador no lo hizo. compilar Esta declaración no genera código ensamblador

#elif (A == 1)

printf("A == 1"); //El compilador no compiló esta declaración, Esta declaración no genera código ensamblador

#else

printf("A < 1"); //El compilador compiló este código y generó código ensamblador, ejecute esta declaración

#endif

Este no es el caso de la declaración if. If es una palabra clave en el lenguaje C. Determina qué declaración ejecutar en función del resultado del cálculo de cada declaración. it Se compilan todas las ramas, como

#define A 0

if (A > 1)

printf("A > 1"); Compilar El compilador compila la declaración, pero no se ejecuta porque A == 0

else if(A == 1)

printf("A == 1"); /El compilador compila Esta declaración no se ejecuta porque A == 0

else

printf("A < 1"); //El compilador compila esta declaración, pero se ejecuta porque A == 0

En pocas palabras, la compilación condicional consiste en compilar selectivamente declaraciones basadas en condiciones macro, lo cual lo hace el compilador al compilar el código

Las declaraciones condicionales se seleccionan en función; en expresiones condicionales Las declaraciones se ejecutan permanentemente mientras el programa se está ejecutando.