Estoy trabajando con un primitivo C analizador que no maneja la directiva Preprocessor.C Preprocesador deshacerse de __align__ y __tributo__
Puedo preprocesar la mayor parte del encabezado con el interruptor -E sin problema.
Últimamente me encontraron casos cuando atributo y align están presentes.
Me trataron de deshacerse de ellos con este truco:
gcc -D "aligned(ARGS)" \
-D "__align__(ARGS)" \
-D "__attribute__(ARGS)" \
-E /usr/local/include/fancyheader.h
Actualización:
pero sin éxito, ejemplo:
struct __attribute__((aligned(16))) long4
{
long int x, y, z, w;
};
Las declaraciones anteriores se transforma en, con ese "1" pendiente alrededor de
struct 1 long4
{
long int x, y, z, w;
};
¿Quién sabe la forma correcta de deshacerse de las extensiones __align__ y __attribute__?
Está bien, ¿qué es este analizador primitivo de C, y qué intenta hacer con él? ¿Qué pasó cuando intentó deshacerse de esas cosas con la directiva -D? Simplemente "sin éxito" no nos dice nada. –
¿Qué sucede si especifica 'gcc -xc -D ....'? –