Tag: BOOST-PREPROCESSOR
Me gustaría expandir cada argumento con su nombre, seguido por el valor, por ejemplo: #define LOG_VARIABLES(FORMAT, …) NSLog(FORMAT, ##__VA_ARGS__) //No estoy seguro de qué hacer con ##__VA_ARGS__ aquí para que se expanda como se describe a continuación LOG_VARIABLES(@”%@: %@, %@: %@”, arg1, arg2, arg3) se expandiría a STRING_VALUE__(arg1), arg1, STRING_VALUE__(arg2), . . . Read more
Estoy revisando la biblioteca de código abierto FANN. Hasta donde he examinado, los desarrolladores que contribuyen al proyecto tienen mucha experiencia en C. Pero me pregunto por qué hacen lo siguiente en el archivo doublefann.h: “`c <h1>#undef DOUBLEFANN</h1> <h1>#define DOUBLEFANN</h1> “` ¿Cuál es el propósito de eliminar un identificador con . . . Read more
Me gustaría definir una variable (Mode) para elegir entre dos funciones, pero el compilador no parece hacer lo que quiero, aquí está el código: #include <stdio.h> #define Mode dif #if Mode == sum int function(int a, int b) { return a+b; } #elif Mode == dif int function(int a, int . . . Read more
Tengo cierta lógica que es así: #define MYVAR … #if MYVAR [Attribute1] #else [Attribute2] #endif Quiero poder cambiar los atributos aplicados a un método basado en una variable de entorno. Por ejemplo, si la variable de entorno MYVAR está configurada, entonces definir el símbolo ‘MYVAR’ y viceversa. Honestamente, no sé . . . Read more
Estoy experimentando para ver hasta dónde puedo abusar del preprocesador de C y me he encontrado con un problema interesante. Tengo las siguientes definiciones de macro: #define if(x) if (x) #define do { #define elif(x) } else if (x) { #define else } else { #define done } Lo cual . . . Read more