es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Debo proteger las funciones de depuración en los archivos .c con `#ifdef DEBUG`?

En este momento tengo una función de depuración, printPassport, en el archivo myfile.h. Se declara de la siguiente manera:
“`

<h1>ifdef DEBUG</h1>

void printPassport(passport_t *passport);

<h1>endif</h1>

“`
Esto parece ser la forma correcta de hacer las cosas, aunque ha pasado un tiempo desde que he usado C, así que corríjame si estoy equivocado.

¿Debería poner protecciones alrededor del nombre de la función en myfile.c? es decir, ¿debería hacer

void printPassport(passport_t *passport) {
...
}

o
“`

<h1>ifdef DEBUG</h1>

void printPassport(passport_t *passport) {

}

<h1>endif</h1>

“`
en myfile.c?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, se deben poner guarda alrededor del nombre de la función en myfile.c para asegurarse de que la función solo se compile e incluya en el código cuando DEBUG esté definido. Esto es consistente con la forma en que la función ha sido declarada en el archivo de encabezado y garantiza que la función solo esté disponible durante la depuración. Por lo tanto, la opción correcta es:

    #ifdef DEBUG
    void printPassport(passport_t *passport) {
    ...
    }
    #endif
    

Comments are closed.