Nuestra base de código compila código condicionalmente según las configuraciones en tiempo de compilación. El complemento CDT en Eclipse actualmente no indexa el código compilado, por lo que no puedo saltar a una definición de función si está dentro de #ifdef. ¿Cómo puedo habilitar la indexación para que funcione?

1
zer0stimulus 13 nov. 2011 a las 00:48

1 respuesta

La mejor respuesta

No puede asumir que el código se compilaría si se ignoran los condicionales. En este sentido, esta característica no puede funcionar (en el caso general).

Sugiero usar una configuración de compilación que defina todos los símbolos necesarios para compilar todos los bloques. Por supuesto que eso significa que en lugar de tener

#ifdef FEATURE_X
    code;
#else
    other code;
#endif

Tendrás que usar el más engorroso

#ifdef FEATURE_X
    code;
#endif
#ifdef FEATURE_Y
    other code;
#endif

De modo que puede dejar que el indexador funcione con -DFEATURE_X -DFEATURE_Y. Sin embargo, no puede depurar en dicha configuración, porque ambos bloques también se ejecutarían

2
sehe 13 nov. 2011 a las 01:13