#define one 0 #ifdef one printf("one is defined "); #ifndef one printf("one is not defined "); En esto, ¿cuál es el papel de #ifdefy #ifndef, y cuál es el
#define one 0 #ifdef one printf("one is defined "); #ifndef one printf("one is not defined "); En esto, ¿cuál es el papel de #ifdefy #ifndef, y cuál es el
¿Hay alguna forma de incrustar la declaración pragma en macro con otras declaraciones? Estoy tratando de lograr algo como: #define DEFINE_DELETE_OBJECT(type) \ void delete_ ## type_(int handle); \ void delete_ ## type(int handle); \ #pragma weak delete_ ## type_ = delete_ ## type Estoy de...
Pregunta simple para la que no pude encontrar respuesta en la red. En macros de argumentos variados, ¿cómo encontrar el número de argumentos? Estoy de acuerdo con el preprocesador boost, si tiene la solución. Si hace una diferencia, estoy tratando de convertir un número variable de argumentos...
Esta pregunta ha evolucionado durante las últimas semanas para cubrir cuestiones más generales con xcode4 (y los proyectos de actualización son más antiguos xcodes). Sin embargo, muchos de los problemas se pueden resolver siguiendo el mismo conjunto de instrucciones. Si tiene alguno de los...
Siempre he preguntado esto pero nunca he recibido una respuesta realmente buena; Creo que casi cualquier programador antes incluso de escribir el primer "Hola mundo" se había encontrado con una frase como "la macro nunca debería usarse", "las macro son malas" y así sucesivamente, mi pregunta es:...
En toda nuestra base de código C, veo cada macro definida de la siguiente manera: #ifndef BEEPTRIM_PITCH_RATE_DEGPS #define BEEPTRIM_PITCH_RATE_DEGPS 0.2f #endif #ifndef BEEPTRIM_ROLL_RATE_DEGPS #define BEEPTRIM_ROLL_RATE_DEGPS 0.2f #endif #ifndef FORCETRIMRELEASE_HOLD_TIME_MS #define...
Tengo que hacer algo como esto en C. Funciona solo si uso un char, pero necesito una cadena. ¿Cómo puedo hacer esto? #define USER "jack" // jack or queen #if USER == "jack" #define USER_VS "queen" #elif USER == "queen" #define USER_VS "jack" #endif
#define DEFINE_STAT(Stat) \ struct FThreadSafeStaticStat<FStat_##Stat> StatPtr_##Stat; La línea anterior está tomada de Unreal 4, y sé que podría preguntarla en los foros de Unreal, pero creo que esta es una pregunta general de C ++ que merece ser formulada aquí. Entiendo que la primera...
Estoy tratando de averiguar cómo escribir una macro que pasará una representación literal de cadena de un nombre de variable junto con la variable en sí a una función. Por ejemplo, dada la siguiente función. void do_something(string name, int val) { cout << name << ": " <<...
Estoy tratando de averiguar cómo puedo concatenar un #define'd int a un #define' d string usando el preprocesador C. Mi compilador es GCC 4.1 en CentOS 5. La solución también debería funcionar para MinGW. Me gustaría agregar un número de versión a una cadena, pero la única forma en que puedo...
Como mencioné en muchas de mis preguntas anteriores, estoy trabajando con K&R y actualmente estoy en el preprocesador. Una de las cosas más interesantes, algo que nunca supe antes de mis intentos anteriores de aprender C, es el ##operador del preprocesador. Según K&R: El operador del...
Esto es lo que estoy tratando de hacer: typedef enum { ONE, TWO, THREE } Numbers; Estoy tratando de escribir una función que haga un cambio de caso similar al siguiente: char num_str[10]; int process_numbers_str(Numbers num) { switch(num) { case ONE: case TWO: case THREE: {...
Tengo una pregunta sobre las directivas de preprocesador en c ++: Por ejemplo: #ifndef QUESTION //some code here #ifndef QUESTION //some code here #endif #endif ¿Podemos usarlo de esta manera y el compilador de C ++ puede coincidir con ifndefy endifde la manera correcta?...
#include <stdio.h> #define decode(s,t,u,m,p,e,d) m##s##u##t #define begin decode(a,n,i,m,a,t,e) int begin() { printf("Ha HA see how it is?? "); } ¿Esto llama indirectamente main? ¿cómo?
Al menos algunos preprocesadores de C le permiten secuenciar el valor de una macro, en lugar de su nombre, pasándolo de una macro similar a una función a otra que la secuencia: #define STR1(x) #x #define STR2(x) STR1(x) #define THE_ANSWER 42 #define THE_ANSWER_STR STR2(THE_ANSWER) /* "42"...
Estoy tratando de escribir algo como esto: #define COV_ON(x) \ #ifdef COVERAGE_TOOL \ _Pragma (COVERAGE #x) #endif ¿Hay alguna forma de definir COV_ONasí? Sé que lo que hice arriba está mal, ya que no puedo tener #ifdefdentro #define. ( #no es un personaje permitido en #define). Entonces,...
Soy nuevo en Objective-C y tengo algunas preguntas sobre constla directiva de preprocesamiento #define. Primero, descubrí que no es posible definir el tipo de constante usando #define. ¿Porqué es eso? En segundo lugar, ¿tiene alguna ventaja utilizar uno de ellos sobre el otro? Finalmente, ¿de...
Cuando estaba navegando por el kernel de Linux, encontré una container_ofmacro que se define de la siguiente manera: #define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ (type *)( (char *)__mptr - offsetof(type,member) );}) Entiendo lo que...
¿Cómo hacer una macro de preprocesador de varias líneas? Sé cómo hacer una línea: #define sqr(X) (X*X) pero necesito algo como esto: #define someMacro(X) class X : public otherClass { int foo; void doFoo(); }; ¿Cómo puedo hacer que esto funcione? Este es solo un ejemplo, la macro...
¿Por qué se #ifcumple la condición en el siguiente código? #include <iostream> #define VALUE foo int main() { #if VALUE == bar std::cout << "WORKS!" << std::endl; #endif //